Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

AssetPostprocessor.OnAssignMaterialModel(Material,Renderer)

Description

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; } }