// *********************************************************************** // Assembly : Unity // Author : Administrator // Created : 2019-08-26 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using UnityEditor; using UnityEngine; public class MaterialPostProcessor : AssetPostprocessor { //private const string MODEL_PREFAB_PATH = "Assets/Ryff/Arts/Models/"; //private const string NPC_FOLDER_NAME = "Npc"; //private const string MONSTER_FOLDER_NAME = "Monster"; //private const string BOOS_FOLDER_NAME = "Boos"; //static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) //{ // foreach (string str in importedAssets) // { // if (str.EndsWith(".mat")) // { // OnReImportMaterial(str); // } // } //} //void OnPostprocessMaterial(Material material) //{ // if (assetPath.StartsWith(MODEL_PREFAB_PATH)) // { // string typeName = GetModelDirName(assetPath); // if (typeName == NPC_FOLDER_NAME || typeName == MONSTER_FOLDER_NAME || typeName == BOOS_FOLDER_NAME) // { // var monsterShader = Shader.Find("MY/Monster"); // if (monsterShader) // material.shader = monsterShader; // } // } //} //static void OnReImportMaterial(string str) //{ // if (str.StartsWith(MODEL_PREFAB_PATH)) // { // string typeName = GetModelDirName(str); // if (typeName == NPC_FOLDER_NAME || typeName == MONSTER_FOLDER_NAME || typeName == BOOS_FOLDER_NAME) // { // var material = AssetDatabase.LoadAssetAtPath(str); // var monsterShader = Shader.Find("MY/Monster"); // if (monsterShader) // material.shader = monsterShader; // } // } //} //void OnAssignMaterialModel(Material material, Renderer renderer) //{ // Debug.Log(material.name); //} //static string GetModelDirName(string assetPath) //{ // string path = assetPath.Replace(@"\\", "/"); // string tempStr = assetPath.Replace($"{MODEL_PREFAB_PATH}", ""); // string[] vs = tempStr.Split('/'); // return vs[0]; //} }