Feeds a source material
The returned material will be assigned to the renderer. If you return null, Unity will use its default material finding / generation method to assign a material. The sourceMaterial is generated directly from the model before importing and will be destroyed immediately after OnAssignMaterial.
class MyMeshPostprocessor extends AssetPostprocessor {
function OnAssignMaterialModel (material : Material, renderer : Renderer) : Material {
var materialPath = "Assets/" + material.name + ".mat";
// Find if there is a material at the material path
// Turn this off to always regeneration materials
if (AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)))
return AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material));
// Create a new material asset using the specular shader
// but otherwise the default values from the model
material.shader = Shader.Find("Specular");
AssetDatabase.CreateAsset(material, "Assets/" + material.name + ".mat");
return material;
}
}