マテリアル式と関数の配置方法

マテリアル式と関数をマテリアル グラフ内に配置するためのガイド

Windows
MacOS
Linux

マテリアル式マテリアル関数 は、アンリアル エンジン 4 で完全に機能するマテリアルを作成するための基礎的要素です。 式や関数にはそれぞれ、入力上でコードのスニペットを実行し結果を出力できる独立したブラックボックスが含まれています。 この操作ガイドでは、マテリアル式とマテリアル関数を配置する様々な方法を学習します。

マテリアル式

Material Expression ノードは、HLSL コードの小さなスニペットで、マテリアル内でかなり特別なタスクを実行します。 Material Expression ノードを組み合わせてビルドされたマテリアルは、あるタスクを実行しするために一緒にまとめます。 例えば、テクスチャをマテリアル内で移動させたい場合、 Panner Material Expression ノードを使用できます。 このノードには、マテリアルにそれが適用されているテクスチャの UV 座標を特定の方向へ移動するように伝える特別な HLSL コードが含まれています。 Material Expression ノードは、作成したマテリアルを結合し相互作用するキーです。

マテリアル式とマテリアル関数の違い

マテリアル式とマテリアル関数は、アンリアル エンジン 4 で完全に機能するマテリアルを作成する基礎的要素ではありますが、ノードと機能には違いがあります。 マテリアル式とマテリアル関数の大きな違いは、マテリアル関数はマテリアル関数 エディタ内で作成され、 コンテンツブラウザ にアセットを保存する点です。

  • マテリアル式:マテリアル式は、プログラム内容の実行のみをするコードの静的要素です。例えば、Multiply ノードは乗算処理のみ行い、2 つの数字の加算は決して行いません。これは変更する方法は、、ソースコードを変更するしかありません。

  • マテリアル関数:マテリアル関数は、あらゆる種類の計算を実行するために作成できるので、より動的です。乗算処理だけでなく加算処理も可能にする場合、ソースコートを変更せずにマテリアル関数エディタ内で行うことができます。

マテリアル式を配置する

マテリアル式をマテリアル グラフに配置する方法は、次の 3 通りです。

パレットからのドラッグ&ドロップ

[Palette] メニューからマテリアル式を直接マテリアル グラフをドラッグ&ドロップすることができます。そのためには、対象の式を検索して、 マウスの左ボタン でクリックして、マテリアル グラフ内にドラッグします。マウスの左ボタン を放すと、マテリアル式がマテリアル グラフ内に配置されます。

右クリックによる検索

右クリック でマテリアル式をマテリアル グラフに追加してから マウスの左ボタン でそれをクリックしてコンキクスト メニューから対象のマテリアル式を選択して、マテリアル グラフに置き換えることもできます。キーボードでも対象のマテリアル式の検索ができます。検索対象を見つけたら、 [Enter] キーを押して、マテリアル グラフに Expression ノードを配置します。

キーボード ショートカット

様々なキーボード ショートカットを使うと、最も使用頻度の高いマテリアル式をすぐに配置しやすくなります。[Edit (編集)] -> [Editor Preferences (エディタの環境設定)] -> [Keyboard Shortcuts] -> [Material Editor Spawn Nodes] から、キーと作成されるマテリアル式を変更することができます。

以下は、現在デフォルトになっているキーボード ショートカットと、キーを押すと作成されるマテリアル式のリストです。

キーボード ショートカット キー

マテリアル式

A

Add Material Expression

B

Bump Offset Material Expression

1

Constant Material Expression

2

Constant2 Vector Material Expression

3

Constant3 Vector Material Expression

4

Constant4 Vector Material Expression

D

Divide Material Expression

I

If Material Expression

L

Linear Interpolate Material Expression

F

Material Function Material Expression

M

Multiply Expression

N

Normalize Expression

O

One Minus Expression

P

Panner Expression

E

Power Expression

R

Vector WS Expression

S

Scalar Expression

U

Texture Coordinate Expression

V

Vector Sample Expression

マテリアル関数を配置する

マテリアル式と全く同じ方法で、マテリアル関数をマテリアル グラフ内に配置することができます。

パレットからのドラッグ&ドロップ

マテリアル関数は、[Palette] メニューから直接マテリアル グラフへドラッグ&ドロップすることができます。方法は、対象の関数を検索して、 マウスの左ボタン でクリックして、マテリアル グラフ内にドラッグします。マウスの左ボタン を放すと、マテリアル式がマテリアル グラフ内に配置されます。

パレットで検索にフィルタを適用して、検索結果を式か関数のいずれか、あるいは両方に制限することができます。検索フィルタの設定方法は、マウスの左ボタン を使って [Category] ボタンをクリックし、ドロップダウン メニューから検索対象を選択します。

Placing_Functions_Search_Options.png

右クリックによる検索

右クリック でマテリアル関数をマテリアル グラフに追加してから、 マウスの左ボタン でそれをクリックし、コンテキスト メニューから対象のマテリアル関数を選択して、マテリアル グラフに置き換えることもできます。検索 ボックスに検索対象の名前を入力して、 キーボード で対象のマテリアル関数の検索ができます。検索対象を見つけたら、 [Enter] キーを押して、マテリアル グラフに Function ノードを配置します。

右クリック メニューでは関数または式でフィルタを適用することはできず、検索中は両方が表示されます。

Material Function ノードは常に上部が青く表示されます。マウスの左ボタン を使って ダブルクリック すると、ノードが開いてどのように機能するか確認できます。

Placing_Functions_Functions_Blue_Tops.png

コンテンツブラウザからの操作

コンテンツブラウザからマテリアル グラフへのドラッグ&ドロップ機能は、マテリアル関数だけの特別な機能です。操作方法は、 コンテンツ ブラウザ で使用したいマテリアル関数を探して、 マウスの左ボタン でクリックして、マテリアル グラフにドラッグします。マウスをマテリアル グラフに当てたら、 マウスの左ボタン を放して選択したマテリアルを追加します。

コンテンツ ブラウザ のマテリアル関数は、「Engine」フォルダにあります。 ただし、「Engine」フォルダはデフォルトでは無効になっているので、有効にします。 マウスの左ボタン を使って、 コンテンツブラウザ の右下隅にある [View] オプションをクリックすれば有効になります。 ポップアップ メニューから [Show Engine Content (エンジンのコンテンツを表示)] オプションを選択すると、「Engine」フォルダのコンテンツが表示されます。

まとめ

マテリアル式とマテリアル関数は、マテリアル エディタで何かを作りたい場合のキーとなります。 ビルドするタイプに関係なく、マテリアルは常にマテリアル式とマテリアル関数の組み合わせで構成されます 現在使用しているマテリアル関数を調整する時は、マテリアル関数を使用している他のマテリアルとマテリアル インスタンスを壊してしまうリスクがあることを忘れないようにしてください。 特定の Material Expression ノードが何をするのか分からなくなった場合は、 Material Expressions ノード名をいつでも簡単にインターネットで検索することができます。 Material Expressions ノードはほとんどが純粋な HLSL コードなので、HLSL に関す正式な Microsoft ドキュメントを見れば、その Material Expressions ノードが何をするのか分かる場合があります。

タグ

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信