Material.parent
Declaration
public Material parent;Описание
Родители этого материала.
Материалы с ненулевой родительской точкой называются материальными вариантами.
Варианты материала наследуют все свойства от родителя и могут переопределять их по отдельности. Поэтому изменение значения свойства материала затронет все варианты, расположенные ниже по иерархии.
Это свойство доступно только в Редакторе, в построенном проекте все иерархии материалов сплочены.
Дополнительные ресурсы: Material.IsChildOf, Material.IsPropertyOverriden, Material.IsPropertyLocked.
using UnityEngine; using UnityEditor;
public class Example : MonoBehaviour { #if UNITY_EDITOR [MenuItem("GameObject/Create Material Variant")] static void DuplicateMaterial() { Material selected = Selection.activeObject as Material; if (selected == null) return;
// Create a material variant from selected material // And override it's color to red Material material = new Material(selected); material.parent = selected; material.color = Color.red;
AssetDatabase.CreateAsset(material, "Assets/" + selected.name + " Variant.mat"); } #endif }