マテリアル エディタ は、プロジェクトのためのシェーダーや マテリアル を作成できる、ノードベースのグラフ インターフェースです。マテリアルは、スタティックとスケルタル メッシュ、ランドスケープ、UI、VFX を含むシーン内のオブジェクトの外観とサーフェス プロパティを定義します。
このユーザー ガイド ページでは、Unreal Engine におけるハイレベルなマテリアルの作成の概要を説明しながら、マテリアル エディタ インターフェースを紹介します。
次に進む前に、「マテリアルの基本概念」のページを読むことをお勧めします。このページでは、Unreal Engine におけるマテリアル ワークフローに関する重要な背景情報について説明しています。
マテリアル作成ワークフロー
次のビデオで、非常に簡単なマテリアル作成手順のデモンストレーションをご覧いただけます。
上で示したように、簡単なマテリアルの作成手順は以下のとおりです。
- コンテンツ ブラウザで新規 マテリアル アセットを作成します。
- マテリアル エディタ を開きます。
- マテリアル表現式と関数 をマテリアル グラフ内に配置します。
- マテリアル表現式を Main Material ノード の入力につなぎます。
- マテリアルをコンパイルして保存します。
- レベルにあるオブジェクトにマテリアルを適用します。
マテリアル作成手順の大部分は、ステップ 3 と 4 で行います。ここで特定のタイプのサーフェスを定義し、クリエイティブな作業のほとんどを行います。 マテリアル表現式 と 関数 は、Unreal Engine のマテリアルの構成要素で、それぞれがマテリアル グラフで特定のアクションを実行します。これらのノードを独自の方法で組み合わせることで、物理サーフェスを無限に定義することができます。
新しいマテリアルを作成する
-
新しいマテリアル アセットを作成するには、以下の 2 つの方法があります。
-
コンテンツ ブラウザの左側の [Add (追加) (+)] ボタンをクリックし、リストから [Material (マテリアル)] を選択します。
-
または、コンテンツ ブラウザ の背景内で 右クリック し、コンテキスト メニューから [Material (マテリアル)] を選択します。
-
-
コンテンツ ブラウザ内にマテリアルが作成されます。マテリアルの名前を変更し、サムネイルをダブルクリックしてマテリアル エディタを開きます。
-
マテリアル エディタ が開きます。
マテリアル エディタを使用する
以下にリンクされている 5 つのページでは、マテリアル エディタのさまざまな部分の使い方の詳細を説明しています。このドキュメントは、このページ上部のビデオで示した手順について詳しく説明しており、マテリアル作成の実用的なメカニックを学ぶためのものです。表示されている順番どおりにドキュメントを読み、マテリアル エディタで利用できるツールの操作方法の理解を深めることをお勧めします。
ライブ アップデート オプション
マテリアル ネットワークに変更を加える場合、変更のフィードバックをリアルタイムですぐに確認できると便利です。マテリアル エディタには、ライブ アップデート メニューに、マテリアル エディタのどの要素をリアルタイムでアップデートするかをコントロールする 3 つのオプションがあります。Preview Material、Realtime Nodes、All Node Previews です。
各オプションでマテリアル エディタの異なる部分の即時フィードバックを切り替えることができます。
- Preview Material (プレビュー マテリアル) - このオプションでは、[Save (保存)] や [Apply (適用) ボタンを使わずに、マテリアル プレビュー ビューポートで変更をリアルタイムで自動的に更新します。
- Realtime Nodes (リアルタイム ノード) - Panner などの時間ベースの関数の影響を受けるノードで、リアルタイムで更新します。
- All Node Previews (全ノードのプレビュー) - このオプションでは、変更が加えられるたびにネットワーク内の各ノードがそのシェーダーを再コンパイルします。こうした変更には、新規ノードの作成、ノードの削除、ノードの接続、ノードの非接続、プロパティの変更などがあります。ノードに対して描かれたマテリアル プレビューが最新のものになるように、この再コンパイルが必要です。ただし、これらの再コンパイルには非常に時間がかかる場合があります。特に、マテリアルに含まれるネットワークが大きい場合は時間がかかります。特に、マテリアルに含まれるネットワークが大きい場合は時間がかかります。
変更するたびに長い待機時間が発生する場合、All Node Previews オプションを無効にしてください。
- この例では、Realtime Nodes を有効にするとノードのプレビュー サムネイルでテクスチャがリアルタイムでパンします。Realtime Nodes を無効にすると、Panner が移動を指示してもテクスチャは静止したままです。しかし、グラフ領域周辺でマウスを動かすと若干更新されていることに気付くでしょう。
- Vector 表現式で色を変更する場合、All Node Previews が有効な場合は、変更は下流ノードにのみ表示されます。このオプションを無効にすると、Vector 表現式の色は確かに変更されても、ノードのサムネイルに色の変更が反映されません。
All Node Previews が無効な場合、「スペースキー」を押してすべてのプレビューを手動で強制更新できます。All Node Previews を無効にし、変更を表示したいときに「スペースキー」を押せば 高速イタレーションが可能です。
コンパイル エラー
マテリアル ネットワークに変更を加えるたびに、変更を表示するためマテリアルをコンパイルしなくてはいけません。マテリアル ネットワーク内の表現式で 必要な入力 に誤ったタイプのデータを渡されるか、接続されていないと、コンパイラ エラーが発生します。
このタイプのエラーは 2 か所で表示されます。
- エラーが発生しているノードの下に "ERROR!" と表示されます。
- [Stats] パネルにも、コンパイルの失敗の原因を特定するエラー メッセージが表示されます。[Stats] ウィンドウが開かない場合は、[Window] > [Stats] から開くことができます。
コンパイラ エラーは、問題があることを知らせ、エラーが発生したマテリアル表現式のタイプとエラーの説明に関する情報を提供します。
マテリアル グラフの検索
マテリアル エディタの検索機能では、説明に特定のテキストや、その他、個々のタイプに特有のノードのプロパティを含む マテリアル ネットワーク内のノード (コメントも含む) を迅速に見つけることができます。これにより、ノードを特定するキーワードを追加し、グラフ内のノード ネットワーク経由で、 後でそこにジャンプできるようになります。
このタブは、[Window] > [Stats] から開くことができます。
検索ボックスにキーワード全体またはキーワードの一部を入力すると、マテリアル グラフ内に存在するノードのプロパティに対して検索を行います。現在選択中の結果がビューに表示され、 ハイライトされます。
検索は以下のプロパティ値に対して実行されます。
検索されるプロパティ | 式のタイプ |
---|---|
Desc | すべてのノード |
Texture | テクスチャ サンプル |
ParamName | パラメータ |
Text | コメント |
Font | フォント サンプル |
Material Function | MaterialFunctionCall |
NAME=
スイッチを使用して特定のタイプの表現式を検索することもできます。たとえば、すべてのテクスチャ サンプリングを見つけるには、
以下の検索を使用します。
NAME=texture
[Search (検索)] パネルで新しい検索結果をクリックすると、まだ表示されていない場合、グラフ テーブルに表示されるようになります。
検索ワードをクリアするには [Clear] (X) ボタンを押します。