Version: 2017.3

AssetPostprocessor.OnAssignMaterialModel(Material,Renderer)

切换到手册

描述

提供源材质。

返回的材质将分配给渲染器。 如果返回 null,Unity 将使用其默认材质查找/生成方法来分配材质。 系统会在导入 sourceMaterial 之前直接从模型中生成 sourceMaterial,并在执行 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; } }