4: 2015-06-21 (日) 01:19:38 iseki |
5: 2015-06-21 (日) 07:23:32 iseki |
| public sealed class SelectColladaShader : AssetPostprocessor | | public sealed class SelectColladaShader : AssetPostprocessor |
| { | | { |
- | Material OnAssignMaterialModel(Material material,Renderer renderer) | + | Material OnAssignMaterialModel(Material material,Renderer renderer) |
- | { | + | { |
- | string currentDir = Path.GetDirectoryName (assetPath); | + | string currentDir = Path.GetDirectoryName (assetPath); |
- | if (!AssetDatabase.IsValidFolder (currentDir + "/Materials")) { | + | if (!AssetDatabase.IsValidFolder (currentDir + "/Materials")) { |
- | AssetDatabase.CreateFolder (currentDir, "Materials"); | + | AssetDatabase.CreateFolder (currentDir, "Materials"); |
- | } | + | } |
| | | |
- | if (material.mainTexture == null) { | + | if (material.mainTexture == null) { |
- | return null; | + | return null; |
- | } | + | } |
- | string textureName = material.mainTexture.name; | + | string textureName = material.mainTexture.name; |
- | string materialPath = string.Format("{0}/Materials/{1}.mat", currentDir, textureName); | + | string materialPath = string.Format("{0}/Materials/{1}.mat", currentDir, textureName); |
| | | |
- | Material mt = AssetDatabase.LoadAssetAtPath<Material>(materialPath) as Material; | + | Material mt = AssetDatabase.LoadAssetAtPath<Material>(materialPath); |
| | | |
- | if (mt==null) { | + | if (mt==null) { |
- | material.shader = Shader.Find("Legacy Shaders/Transparent/Diffuse"); | + | material.shader = Shader.Find("Legacy Shaders/Transparent/Diffuse"); |
- | AssetDatabase.CreateAsset(material, materialPath); | + | AssetDatabase.CreateAsset(material, materialPath); |
- | Debug.Log(string.Format("CustomModelImporterの処理により、以下の場所に[{1}]シェーダーのマテリアルを作成しました。\n{0}",materialPath,material.shader.name)); | + | // |
- | // | + | mt = material; |
- | mt = material; | + | } |
- | } | + | |
| | | |
- | return mt; | + | return mt; |
- | } | + | } |
| } | | } |