チュートリアルを始める前に、「マテリアルの基本概念」、「マテリアル エディタのユーザー ガイド8」、「マテリアル エディタの UI」の内容を理解しておいてください。これらのページでは、マテリアル インスタンスの作成とマテリアル エディタに関する背景知識が得られます。
Base Color、Metallic、Specular、Roughness は、UEFN におけるマテリアルの動作の基礎となります。マテリアルの見た目と動作を設定する方法の詳細を理解するには、「物理ベースのマテリアル」を参照してください。このページでは、Main Material ノード (マテリアルのルート ノード) の各種入力の動作と入力間のインタラクションについて説明しています。
Main Material ノードの入力ピンの使用方法については、「Material 入力」を参照してください。このページでは、各種ピンが特定の種類のサーフェスの作成にどのように役立つかについて説明しています。
マテリアルのプロパティ
マテリアルはサーフェスのプロパティを定義し、シェーディング モデルはサーフェスとライトのインタラクションを定義します。
ほとんどの場合、メッシュにマテリアルを作成するときにマテリアル エディタの [Details (詳細)] パネルのマテリアルのプロパティが変わることはありません。ユーザーインターフェース (UI)、ポストプロセス、ライティングを通じてプレイヤーとインタラクトするマテリアルを作成するときは、[Material Domain (マテリアル ドメイン)] 設定を変更します。開始時に使用するデフォルト設定は以下のとおりです。
プロパティ | 設定 | 説明 |
---|---|---|
Material Domain (マテリアル ドメイン) | Surface (サーフェス) | マテリアルの使用方法を定義します。[Surface (サーフェス)] は、メッシュのサーフェスでマテリアルがどのようになるのかを定義します。 |
Blend Mode (ブレンド モード) | Masked (マスク) | マテリアルの出力とその背後にあるピクセルのブレンド方法を定義します。[Masked (マスク)] はメッシュを覆うマスクを作成します。 |
Shading Model (シェーディング モデル) | Default Lit (デフォルト ライティング) | マテリアルとライトのインタラクションを設定することにより、サーフェス マテリアルがどのように最終カラーを作成するかを定義します。[Default Lit (デフォルト ライティング)] のシェーディングは、あらゆるソリッド メッシュに適しています。 |
マテリアルの作成に慣れたら、これらのプロパティを使用してマテリアルのインタラクションやメッシュでの配置を変更してみてください。
ホロー メッシュのマテリアルや両面のマテリアルを作成している場合は、[Two Sided (両面)] オプションをオンにしてメッシュの背面のセカンダリ カラーを作成します。これは、植物の葉のような薄いマテリアルを作成するのに最適です。
ノード
UEFN では Material ノードを使用してマテリアルとテクスチャを作成するほか、マテリアル インスタンスに変換して、マテリアルに設定したパラメータを仕掛けやポストプロセス、ライティング、UI などで参照できるようにすることができます。マテリアル エディタを開くと、追加の Material ノードを入力ピンに接続する Main Material ノード が表示されます。アセットのカラー、アセットでのカラーの見え方、および アセットでのテクスチャの動作 は、Material ノードに値を割り当てて定義します。
選択した Material ノードに応じて、マテリアルでテクスチャと UV を使用して、点滅するライトやフォリッジを吹き抜ける風などの面白いエフェクトを作成できます。
各種ノードの機能を確認するには、Main Material ノード の Base Color 入力 を使用します。Main Material ノードは、Default Color ノードから float 値、3Vector 値、または 4Vector 値を取得することもできます。
ビューポートのメッシュにマテリアル インスタンスをドラッグアンドドロップします。 マテリアル エディタのウィンドウのサイズを小さくすると、ライブ状態のメッシュの Material ノードをコンパイルせずに編集できます。
以下の表に、一般的に使用されるノードのリストを示します。 各ノードの機能を確認するには、ノードの値を編集して Main Material ノードに接続します。
画像 | ノード名 | 説明 |
---|---|---|
![]() |
Constant 3Vector 式 | Main Material ノードにカラーを追加します。Value ノードにより、R、G、B、および A 入力に個別の値を割り当てることができます。 RGB 入力は次の方向に変換されます。
定数値の詳細については、「マテリアルのデータ タイプ」を参照してください。 3 を押したままにして 左クリック し、マテリアル エディタに Default Color ノードを追加します。 マテリアル エディタにある場合は Default Color ノードを右クリックすると、Color Parameter ノードに変更できます。 |
![]() |
Constant ノード | Material ノードまたはマテリアル属性に定義値を追加します。 このノードを別のノードに接続して値を定義するか、Main Material ノードに直接接続して属性の値を定義します。 1 を押したままにして 左クリック し、マテリアル エディタに Value ノードを追加します。 |
![]() |
Scalar Parameter ノード | Material ノードが接続される属性のパラメータ値を追加します。 [Palette (パレット)] パネル で Scalar Parameter ノードを探します。 |
![]() |
Interpolate ノード | A、B、および Alpha 入力に個別の値を追加し、情報ソース間を補間します。 Lerp ノードの A、B、および Alpha 入力に Color ノードを追加してから、Lerp ノードを Main Material ノードに接続して RGB 値と属性間のカラー ブレンドを作成します。 Lerp ノードを別のノード タイプに接続し、いずれかのマテリアル属性に対するエフェクトを作成することも可能です。 [Palette (パレット)] パネル で Lerp ノードを探します。 |
![]() |
Coordinate ノード | 座標にカラー値を追加します。 1 つの属性か 2 つの異なる属性にカラー座標を追加します。 2 を押したままにして 左クリック し、マテリアル エディタに Coordinate ノードを追加します。 |
![]() |
Material Expression Constant 4Vector ノード | 1 つの属性に接続できる、または RGB 入力と Alpha 入力を使用して複数の属性に分散できる定数カラーを、4 つのカラー入力に追加します。 1 つの属性か複数の属性に Constant ノードを追加します。 4 を押したままにして 左クリック し、マテリアル エディタに Constant ノードを追加します。 |
![]() |
BumpOffset ノード | 高さマップの座標に値を追加し、UV に歪みを加えてマテリアルで深さテクスチャを作成します。 BumpOffset ノードは、各ピクセルの高さ情報を使用してテクスチャに深みを出します。このノードと Texture Sample ノード を使用してテクスチャの値とアピアランスを調整します。 [Palette (パレット)] パネル で BumpOffset ノードと Texture Sample ノードを探します。 |
![]() |
Time ノード | エディタに時間について質問したり、インゲームの時間をカウントしたり、接続される属性の値を指定したりします。 Time ノードを別の Material ノードに接続し、属性に対する Material ノードのエフェクトの時間制限を定義します。 [Palette (パレット)] パネル で Time ノードを探します。 |
![]() |
Hue Shift ノード | 属性に接続されたときにカラー値を切り替えます。 Hue Shift ノードと Value ノードを使用して Hue Shift Percentage の値を定義し、Texture ノードに接続してテクスチャを追加します。 [Palette (パレット)] パネル で Hue Shift ノードを探します。 |
![]() |
Panner ノード | マテリアル インスタンスでの UV の移動 (パン) の速度と方向を変更します。 Coordinate と Speed の値を選択します。 Panner に追加の Value ノードを接続することにより、さらに単一の属性を定義できます。 [Palette (パレット)] パネル で Panner ノードを探します。 |
![]() |
VertexNormal World Position Offset ノード | 頂点をランダムな方向に移動します。 Value ノードを VertexNormalWS ノードに接続し、頂点の移動量に値を割り当てます。 [Palette (パレット)] パネル で Vertex Normal World Position Offset ノードを探します。 |
![]() |
Noise ノード | 接続されるマテリアル属性にテクスチャ (ノイズ) を追加します。 特定のテクスチャと組み合わせて使用することにより、ノイズに「パターン」を追加するか、目的のテクスチャを生成できます。 Noise ノードに他の Material ノードを接続し、マテリアルの特定の側面に歪みを加えます。 [Palette (パレット)] パネル で Noise ノードを探します。 |
![]() |
Multiply ノード | 特定の属性でノードのエフェクトを乗算することができます。 Multiply ノードに他の Material ノードを接続し、いずれかのマテリアルの属性に対する目的のエフェクトを作成します。 たとえば、Multiply ノード に Default Color ノード を接続してから Multiply ノード に値を追加し、Emissive 入力 に Multiply ノード を接続してマテリアルのライト エフェクトを作成します。 |
![]() |
Mask ノード | 属性の R(X) または G (Y) 入力にマスク エフェクトを追加します。 |
![]() |
AppendVector | 複数のデータ チャンネルを組み合わせて、元のベクターよりもチャンネル数が多いベクターを作成します。AppendVector は入力の順序どおりに機能します。つまり、入力 B のデータが入力 A のデータの末尾に追加されます。 |
![]() |
Step ノード | Step ノードはシェーダー関数で、2 つの値を比べて 1 つの値に対するもう 1 つの値のエッジを特定し、その値のエッジを定義することで、1 つの値と次の値の間に段差を作ります。1 つのカラー値を、もう 1 つのカラー値に対してどの程度表示するかを指定するグラデーション定義に使用することができます。 |
![]() |
TextureCoordinate ノード | UV テクスチャ座標を 2 チャンネル ベクター値として出力することで、マテリアルが、異なる UV チャンネルを使用したり、タイリングを指定したり、メッシュの UV を操作したりできるようにします。 |
![]() |
Clamp ノード | 受け取った値を、最小値および最大値で定義された範囲内に制約します。 |
![]() |
LinearGradient ノード | UV チャンネル 0 を使って、U または V 方向 (使用する出力による) に線形グラデーションを作り出します。 |
![]() |
ConstantBiasScale ノード | 受け取った入力値にバイアス値を加え、スケーリング係数を乗算して結果を出力します。 |
![]() |
Ceil ノード | 受け取った値を直近の整数値に切り上げ、結果を出力します。そのため 0.2 を Ceil に渡すと 1.0 に切り上げられます。 |
![]() |
Named ReRoute ノード | ノードを指定して Material ノードを再ルーティングできます。 Material ノードを再ルーティングすれば、複数の Material ノードをつなぎ合わせて Base Color の作成に使用する Material ノードにそれらのノードの最後の値を接続し、複雑なテクスチャや UV を作成することができます。 |
マテリアル グラフを整理する方法については、Unreal Engine ドキュメントの「マテリアル グラフを整理する」を参照してください。
ここに示すショートカットを使用して以下のマテリアル ノードを開きます。
Constant
- キーボードの 1 キーを押したままにしてクリックする。
Constant 3 Vector
- キーボードの 3 ボタンを押したままにしてクリックする。
Multiply
- M キーを押したままにしてクリックする。
Linear Interpolate
- L キーを押したままにしてクリックする。
ノード、ノードの値、および影響を及ぼしたい属性をいろいろと試してみると、カスタムのマテリアルやテクスチャをうまく作成できるようになります。マテリアルの作成には、値の使用方法を理解することが重要です。マテリアルは、インポートしたメッシュか モデリング モード で作ったメッシュで作成したものを使用します。
マテリアルやテクスチャを ムービー シーケンスの仕掛け と組み合わせて使用し、メッシュに対するカスタム エフェクトを作成することも可能です。
新しいマテリアルを作成するときには、マテリアルの統計を確認してください。 1 つのマテリアルの命令は 500 未満に抑える必要があります。 そうしなければマテリアルのデータ量が多くなり、適切にレンダリングできなくなる可能性があります。

マテリアル作成の基礎については、「輝きのあるマテリアルを作成する」、「エミッシブ マテリアル入力を使用する」、「マテリアルで透過性を使用する」を参照してください。これらのチュートリアルでは、輝きのあるマテリアル、金属的なマテリアル、光の入ったマテリアルなどの基本的なマテリアルを紹介するとともに、不透明度の低いマテリアルの使用方法を解説します。