Version: 2023.1
言語: 日本語
マテリアルバリアントの利点と制限
マテリアルバリアントの作成、修正、適用

マテリアルバリアントの継承

用語

マテリアルバリアント (Material Variant ) の階層。親 (Parent) は 1 つまたは複数の子 (Child) を持つことができます。
マテリアルバリアント (Material Variant ) の階層。親 (Parent) は 1 つまたは複数の子 (Child) を持つことができます。
アクション 説明
親の変更 マテリアルバリアントの親を変更することです。
オーバーライド マテリアルバリアントのプロパティに加える変更です。1 つのプロパティに対する複数の変更が、1 つのオーバーライドを構成します。

継承のしくみ

マテリアルまたはマテリアルバリアントに加える変更の効果は、その階層内の位置によって異なります。

アクション 受け手 説明
親に変更を加える 親に加えた変更や、親のオーバーライドの取り消しは、自動的に子に伝搬します。
先祖に変更を加える 先祖に加えた変更は、自動的に子に伝播します。
親のプロパティをロック (固定) する 親のプロパティをロックすると、子の同じプロパティの全てのオーバーライドが削除されます。親のプロパティのロックを解除すると、子から削除されたオーバーライドが再度適用されます。
子に変更を加える 効果なし 子に加えた変更は、その親や先祖には自動的に伝搬しません。
子孫に変更を加える 効果なし 子孫に加えた変更は、その先祖に自動的に伝搬しません。
Apply as Override In Variant [名称]) および Apply to Material [名称] 親または先祖マテリアルバリアント オーバーライドを階層の上に向かって適用できます。親あるいは祖先の対応するプロパティが自動的に変更されます。一度に適用できるオーバーライドは 1 つだけです。
Apply to Material [名称] 親/先祖マテリアル、または親/先祖マテリアルバリアント オーバーライドを階層の上に向かって適用できます。親あるいは祖先の対応するプロパティが自動的に変更されます。一度に適用できるオーバーライドは 1 つだけです。
階層の上に向かって適用されたオーバーライドを取り消す (Revert)、または階層の上方へ適用された全てのオーバーライドを取り消す (Revert all Overrides) 子または子孫 階層の上に向かって適用されたオーバーライドを取り消す唯一の方法は、受け手の親/先祖側でオーバーライドを取り消すことです。

マテリアルバリアントの Hierarchy ダイアログ

以下は、マテリアルバリアントの Hierarchy (階層) ダイアログを示す 3 つの画像 (ダイアログを開く制御と、異なる階層レベルの表示) です。

子マテリアルバリアントを持つマテリアル
子マテリアルバリアントを持つマテリアル
親マテリアルと先祖 (Ancestor) マテリアルを持つマテリアルバリアント
親マテリアルと先祖 (Ancestor) マテリアルを持つマテリアルバリアント
親マテリアルと子マテリアルを持つマテリアルバリアント
親マテリアルと子マテリアルを持つマテリアルバリアント

循環依存と孤児の発生の防止

Unity は、マテリアルバリアント間の循環依存を防止し、親を削除 すると警告を表示します。

エラーメッセージ

  • Material [name] is an ancestor of [name]. Hierarchy cannot contain circular dependencies. (マテリアル [名称] は [名称] の先祖です。階層は循環依存を含むことはできません。)
  • Material [name] has a missing parent with GUID: [######] (マテリアル [名称] に、GUID [######] の親が欠落しています。)
マテリアルバリアントの利点と制限
マテリアルバリアントの作成、修正、適用