• Menu
  • Overview
  • Runtime Classes
  • Enumerations
  • Editor Classes
  • Enumerations
  • History
  • Index
  • AssetPostprocessor
  • All Members
  • Variables
  • assetImporter
  • assetPath
  • preview
  • Functions
  • GetPostprocessOrder
  • LogError
  • LogWarning
  • Messages Sent
  • OnAssignMaterialModel
  • OnPostprocessAllAssets
  • OnPostprocessAudio
  • OnPostprocessModel
  • OnPostprocessTexture
  • OnPreprocessAudio
  • OnPreprocessModel
  • OnPreprocessTexture

AssetPostprocessor.OnAssignMaterialModel  

Scripting > Editor Classes > AssetPostprocessor

function OnAssignMaterialModel ( : , renderer : Renderer) : Material

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))
return AssetDatabase.LoadAssetAtPath(materialPath);

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