Version: 2020.3

AssetPostprocessor.OnPreprocessMaterialDescription(MaterialDescription,Material, AnimationClip[])

切换到手册

参数

description MaterialDescription 结构描述导入的材质属性和动画。
material Model Importer 生成的材质。
animations Model Importer 生成的动画剪辑。

描述

将此函数添加到一个子类中,以在材质从 Model Importer 导入时接收通知。

仅当 ModelImporter.UseMaterialDescriptionPostprocessor 为 true 时调用此函数。此函数提供在模型导入过程中对材质属性和动画的用户控制。MaterialDescription 结构包含在导入的文件中读取的所有材质数据,可用于填充参数中的材质和动画剪辑。

using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEditor.AssetImporters;

public class CreateMaterialFromMaterialDescription : AssetPostprocessor { public void OnPreprocessMaterialDescription(MaterialDescription description, Material material, AnimationClip[] materialAnimation) { var shader = Shader.Find("Standard"); if (shader == null) return; material.shader = shader;

List<string> props = new List<string>(); // list the properties of type Vector4 : description.GetVector4PropertyNames(props); Debug.Log(props);

// Read a texture property from the material description. TexturePropertyDescription textureProperty; if (description.TryGetProperty("DiffuseColor", out textureProperty)) { // Assign the texture to the material. material.SetTexture("_MainTex", textureProperty.texture); } } }