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

Switch to Manual

Parameters

descriptionMaterialDescription structure describing the imported material properties and animations.
materialThe material generated by the Model Importer.
animationsThe animation clips generated by the Model Importer.

Description

Add this function to a subclass to recieve a notification when a material is imported from a Model Importer.

This function is only called when ModelImporter.UseMaterialDescriptionPostprocessor is true. This function provides user control over material properties and animations during model import. The MaterialDescription structure contains all the material data read in the imported file which can be used to populate the material and animation clips in parameters.

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); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961