AssetPostprocessor.OnPreprocessMaterialDescription(MaterialDescription,Material, AnimationClip[])
Параметры
| Параметр | Описание |
|---|---|
| описание | MaterialDescription, который описывает импортированные свойства камеры и анимации. |
| материал | Материал, созданный импортером модели. |
| анимации | Клипы анимации, созданные импортером моделей. |
Описание
Добавьте эту функцию в подкласс, чтобы получать уведомление при создании нового материала во время импорта ModelImporter.
Unity вызывает эту функцию только в том случае, если вы установили ModelImporter.materialImportMode на ModelImporterMaterialImportMode.ImportViaMaterialDescription. Эта функция позволяет вам управлять свойствами материала и анимацией во время процесса импорта модели. Структура MaterialDescription содержит все данные материала из импортированного файла. Вы можете использовать ее для заполнения материалов и анимационных клипов.
using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEditor.AssetImporters;
public class CreateMaterialFromMaterialDescription : AssetPostprocessor { // Increment the version number, when the AssetPostprocessors code/behavior is changed static readonly uint k_Version = 0; public override uint GetVersion() { return k_Version; }
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); } } }