マテリアル属性表現式

これらの式ノードは、さまざまなマテリアル属性を分離または組み合わせる手段として機能し、特にレイヤー マテリアルの作成時に便利です。

Make Material Attributes

Make Material Attributes ノードを使用すると、メイン マテリアル ノード にある標準マテリアル属性を定義し、それらを 1 つにまとめ、単一の出力を通じてそれらを渡すことができます。これは、1 つのマテリアル関数内でマテリアル全体を定義してそのデータを親マテリアルで利用できるので、レイヤー マテリアル を作成する場合に便利です。1 つのマテリアル アセット内で複数のマテリアル タイプを定義してそれらをブレンドする、複雑なマテリアルの設定で使用することもできます。

Make Material Attributes ノードをマテリアルにつなぐときに、マテリアル プロパティで [Use Material Attributes (マテリアル属性を使用)] オプションを true (オン) に設定しておく必要があります。そうすると、メイン マテリアル ノードが単一の入力に折りたたまれ、それが Make Material Attributes ノードから受け取ったデータを受け入れます。

Use Material Attributes option

Make Material Attributes ノードは Set Material Attributes ノードに取って代わられ、ほとんどの場合代わりにそれを使用します。

Set Material Attributes

Set Material Attributes 表現式は Make Material Attributes と同じ目的を果たします。マテリアル属性のセットを定義し、それを単一のワイヤーを通じてバンドルされたデータとして渡します。

デフォルトではすべての標準マテリアル属性が表示される Make Material Attributes ノードとは異なり、Set Material Attributes ノードに表示される入力は [Details (詳細)] パネル でユーザーが定義したものです。そうすることで、必要とするマテリアル属性のみを組み込むことができます。

Set Material Attributes array

たとえば、次に示しているマテリアル関数で必要なのは Base Color、Metallic、Roughness、Normal という 4 つの属性のみです。Make Material Attributes の代わりに Set Material Attributes 表現式を使用すると、占有される領域が少なくなるため、より簡潔なマテリアルグラフになります。

ほとんどの場合、Material Attributes よりも Set Material Attributes の方が好ましい方法です。

唯一の短所は、このノードは状況依存ではないため、ブレンド モードとシェーディング モードのさまざまな組み合わせに対してどの属性を追加する必要があるかをユーザーが知っている必要があることです。それがよくわからない場合は、必要な入力がすべて入っている Make Material Attributes ノードの方を使用します。

Break Material Attributes

Break Material Attributes 表現式は、受け取ったマテリアル属性のセットを分割し、個々の属性を個別のピンで出力します。

これは、1 つのマテリアル レイヤー関数内の個々の属性にアクセスできるので、レイヤー マテリアル を作成する場合に便利です。これを使用すると、メイン マテリアル ノードにどの属性をつなぐかを選択できるので、マテリアル グラフで追加ロジックを使用して属性を選択的に変更できるようになります。

上記の例では、Break Material Attributes を使用して、クロムの汎用マテリアル レイヤー関数からの属性を分割しています。Metallic、Specular、Roughness、Normal 属性は変更されずにメイン マテリアル ノードに渡されますが、Base Color 属性は使用されていません。代わりに、Roughness テクスチャに Vector 3 パラメータが 1 つ追加されていて、この結果が Base Color 入力に渡されています。

Get Material Attributes

Get Material Attributes は Break Material Attributes と同様に機能しますが、ワークフローに大きなメリットがあります。受け取った Material Attributes を完全に分解するのではなく、Get Material Attributes を使用すると、必要な属性のみを取り出すことができます。[Details] パネル でこのノードを選択して [Add Element (要素を追加)] アイコンをクリックすると、出力ピンが追加されます。

Get Material Attributes details properties

ドロップダウン メニューを使用して、どのマテリアル属性を各配列要素のターゲットにするかを指定できます。

Change array elements on Get Material Attributes node

次に示しているマテリアルは着色されたクロムの例を Break Material Attributes セクションから作成し直しますが、代わりに Get/Set Material Attributes 表現式を使用します。そのため、グラフがよりきれいになり、必要なワイヤーの数が少なくなります。

この場合、マテリアル属性からラフネス データのみが分解されます。そして、色合いのパラメータがラフネス マップに追加されてサーフェスのバリエーションがいくつか作成され、Set Material Attributes ノードを使用してその結果が Base Color に渡されます。残りのマテリアル属性は変更されずに渡されます。

Material Attributes output pin

Blend Material Attributes

Blend Material Attributes 表現式は 2 組のマテリアル属性を受け取り、Alpha 入力で指定されているピクセルごとの演算を使用してそれらをブレンドします。

たとえば、この Material Layer Blend は上部と下部のマテリアル属性を受け取り、マスク テクスチャを使用してそれらをブレンドします。

画像を拡大するにはクリックします。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル