【Unreal Engine】マテリアル入門:色・金属・つやを調整して、Material Instanceで使い分ける

作成: 2025-12-12最終更新: 2026-09-06

同じ球を金色・銀色・つや消しに変えながら、Base Color・Metallic・Roughness・Normalの役割を学びます。ノードの接続からMaterial Instanceの作成、親の値と上書きの違いまで図解。

同じ球でも、金色に光ればコインの素材に、銀色なら機械の部品に、つやを抑えれば落ち着いた装飾に見えてきます。形を変えずに印象を作り分けるのが、マテリアル の仕事です。

ただ、色を選ぶだけでは思った素材にならないことがあります。「金属らしさ」と「つや」を別々に調整すると、どこを直せばよいかが見えてきます。この記事では球を使って違いを確かめ、その設定から3種類の素材を作ります。

同じ形の球を金色・銀色・つや消しに作り分けるイメージ

この記事でわかること

  • 色・金属・つや・凹凸を担当する入力の違い
  • 数値や色をノードでつなぎ、金属の球を作る手順
  • Material Instanceで、同じ仕組みから見た目を作り分ける方法
  • 親の設定を引き継ぐ値と、個別に上書きする値の違い

Sponsored

マテリアルとテクスチャの違い

テクスチャ は、木目や傷などの情報を持つ画像です。マテリアル は、その画像や数値を使って、モデルの表面が光を受けたときにどう見えるかを決めます。

たとえば木目の画像だけでは、磨いた机なのか、ざらついた板なのかは決まりません。同じ画像を使っても、反射をくっきりさせればニスを塗った机に、ぼかせばつやを抑えた板に近づきます。逆に、模様のない素材なら、画像を使わず色と数値だけでも作れます。今回の球もその方法です。

UEの標準的なマテリアルは、現実の光の反射を手がかりにする PBR(物理ベースレンダリング) に基づいています。難しい式を覚えるより、まずは「何の素材か」と「表面がどれくらい滑らかか」を分けて考えましょう。

テクスチャは模様の情報、マテリアルは光の受け方。Roughnessを変えると同じ色でも別の素材に見える

まず押さえる4つの入力

マテリアルエディタでは、色や数値を持つ ノード を線でつなぎます。線の接続口が ピン です。最後にマテリアルの出力ノードへ渡した値が、表面の見た目に反映されます。

入力はほかにもありますが、最初は次の4つが分かると、素材を調整しやすくなります。

Base Colorは色、Metallicは金属かどうか、Roughnessは反射のぼけ方、Normalは小さな凹凸の陰影を変える
入力決めること今回の使い方
Base Color素材の基本となる色金色や銀色にする
Metallic金属として光を反射するか金属なので 1
Roughness表面の細かな粗さ。反射のぼけ方に表れる数値を変えてつやを比べる
Normal光の計算に使う表面の向き今回はつながず、球の元の向きを使う

Base ColorとMetallic:何の素材に見せるか

Base Color は素材の基本色です。木やプラスチックなら表面の色を、金属なら主に反射光の色を決めます。金属に金色を設定すると、光の映り込みにも金色がつきます。

Metallic は、むき出しの金属なら 1、木・布・プラスチックなどの非金属なら 0 が基本です。金属の上に塗装がある部分は、見えている塗膜に合わせて考えます。

光沢があるからMetallicを上げる、という使い分けではありません。 つるつるのプラスチックも、ざらついた鉄も作れます。つやの調整を担当するのが、次のRoughnessです。

Roughness:反射をくっきりさせるか、ぼかすか

Roughness0 に近いほど滑らかで、映り込みや光のハイライトがくっきりします。1 に近づけるほど反射が広がり、つや消しに近づきます。ハイライトとは、ライトが当たって明るく見える部分のことです。

同じ銀色の球でRoughnessだけを0.05、0.35、0.75と変え、映り込みがぼけていく様子を比較したイメージ

比べるときは、形・色・Metallic・照明をそろえ、Roughnessだけを変えます。色まで同時に変えると、何が効いたのか分かりにくくなるためです。

ここでいう粗さは、光の反射に影響するほど細かなものです。値を大きくしても、球の輪郭にでこぼこが生えるわけではありません。

Normal:形を増やさず、小さな凹凸を感じさせる

傷や布目などの凹凸感には、ノーマルマップ を使えます。紫がかった画像の色に「表面がどちらを向いているか」を記録し、光の当たり方を変える仕組みです。この表面の向きを 法線(Normal) と呼びます。

ノーマルマップで板の表面に溝の陰影がつい�ても、真横から見た輪郭は平らなまま

光と影で溝があるように見えても、モデル自体の形は変わりません。横から見た輪郭まで変えたい岩や大きな突起は、モデル側でも形を作る必要があります。

今回のような滑らかな球なら、Normalは未接続で構いません。ほかの入力も、未接続だから値がなくなるわけではありません。空のピンを埋めることより、狙った見た目に必要な値を調整しましょう。

Sponsored

実践:金色の球を作る

ここからは、テクスチャを使わずに金属の球を作ります。BlueprintやC++は不要です。まず親になるマテリアルを1つ作り、その後で色・つやの違う3種類へ分けます。

1. マテリアルを作って開く

コンテンツブラウザで右クリックし、「マテリアル」を作成して M_Metal_Base と名付けます。M_ はマテリアルだと分かるように付ける目印です。ダブルクリックで開くと、プレビューとノードを置く領域が表示されます。

この記事は、出力ノードに「Base Color」「Metallic」「Roughness」などが並ぶ構成で進めます。「Material Domain」は Surface、「Blend Mode」は Opaque、「Shading Model」は Default Lit を使います。それぞれ、物体の表面用・不透明・ライトの影響を受ける設定です。通常の新規マテリアルなら、この構成から始められます。

2. 色と2つの数値をつなぐ

ノードを置く領域で、3 を押しながら左クリックすると Constant3Vector が作れます。3つの数値を持つノードで、ここでは赤・緑・青の成分である RGB を指定します。

  1. Constant3Vectorの色見本をダブルクリックしてカラーピッカーを開く。
  2. R = 1.0G = 0.766B = 0.336 を入力して確定する。
  3. 色全体を出す出力ピンから、マテリアルの「Base Color」へつなぐ。
  4. 1 を押しながら左クリックして Constant を作り、値を 1 にして「Metallic」へつなぐ。
  5. Constantをもう1つ作り、値を 0.25 にして「Roughness」へつなぐ。

Constantの値は、ノードを選択したときの詳細パネルの「R」欄で変えられます。Constantは1つの数値、Constant3Vectorは3つの数値を渡すノードです。

カラーピッカーでは、上記の値をRGBの数値欄へ入れます。これらは リニア値、つまり光の計算に使う値で、画像編集ソフトの0〜255の色番号をそのまま入力するものではありません。

Constant3Vectorの金色をBase Colorへ、Constantの1をMetallicへ、0.25をRoughnessへつなぐ

「適用(Apply)」を押して保存すると、プレビューの球が金色の金属になります。最初のマテリアルができました。

続けてRoughnessを 0.050.75 と変えてみてください。小さい値では反射がくっきりし、大きい値では広くぼけるはずです。違いを確認したら、0.25 に戻して適用・保存します。プレビュー環境によって映り込むものは変わりますが、同じ環境で比較すればRoughnessの役割をつかめます。

Material Instanceで3種類に分ける

金色の球を銀色にしたくなったら、色の値を変えれば済みます。ただ、マテリアルを丸ごと複製し続けると、同じ接続があちこちに増え、後から仕組みを直すのが大変になります。

Material Instance は、元のマテリアルを使いながら、指定した値だけを変えるためのアセットです。元を「親」と呼びます。親がノードのつなぎ方を受け持ち、Instanceが色やつやの設定を持つ、と分けられます。

M_Metal_Baseから作ったGold、Steel、Matteの3つのInstance。金色0.25、銀色0.35、つや消しの金色0.75に設定する

1. 親で、変更できる値を用意する

Instance側から変更できるように名前を付けた値が パラメータ です。今回は色とRoughnessをパラメータにします。

  1. M_Metal_Base のConstant3Vectorを右クリックし、「Convert to Parameter」を選ぶ。
  2. 名前を BaseColor にする。色を扱う Vector Parameter へ変わる。
  3. RoughnessにつないだConstantも同じ操作で変換し、名前を Roughness にする。1つの数値を扱う Scalar Parameter へ変わる。
  4. 色の初期値が (1.0, 0.766, 0.336)、Roughnessの初期値が 0.25 で、接続が残っていることを確認する。
  5. 「適用」を押し、保存する。

パラメータの名前は、ノードを選択した詳細パネルの「Parameter Name」で確認・変更できます。「Default Value」が親の初期値です。Metallicは今回は変えないので、Constantの 1 のままにします。必要な値だけをパラメータにすると、Instanceの調整画面も見やすくなります。

BaseColorのVector ParameterとRoughnessのScalar Parameterを出力ノードへつなぎ、Metallicの1は固定値で残す

パラメータは、親の出力ノードへ値を渡します。Instanceをノードとしてつなぐわけではありません。Instanceの画面では、ここで付けた名前を探して値を調整します。

2. Instanceを作り、色とつやを変える

コンテンツブラウザに戻り、M_Metal_Base を右クリックして「Create Material Instance」を選びます。同じ親から3つ作り、次の名前を付けます。

Instance名BaseColorRoughness
MI_Metal_Goldチェックなし:親の金色を使うチェックなし:親の 0.25 を使う
MI_Metal_Steelチェックあり:(0.56, 0.57, 0.58)チェックあり:0.35
MI_Metal_Matteチェックなし:親の金色を使うチェックあり:0.75

各Instanceを開き、パラメータのグループを展開して設定します。項目左のチェックを入れると、そのInstance専用の値に上書きできます。 チェックがない項目は、親の値を引き継ぎます。

Steelの色はRGBの3つの数値欄へ入力します。Matteでは色を変更せず、Roughnessだけを変更します。設定したら、それぞれ保存してください。MI_ はMaterial Instanceの目印です。

3. 同じ球に割り当てて、見比べる

レベルエディタで「アクタを配置」の「形状」からSphereを置き、複製して3つ並べます。形やスケールはそろえます。

球を1つずつ選択し、詳細パネルの「Materials」→「Element 0」に、それぞれのInstanceを指定します。Element 0は、この球の表面に使うマテリアルの割り当て欄です。

3つとも金属ですが、Goldは金色、Steelは銀色、Matteは反射がぼけた金色になります。色を変える設定と、つやを変える設定が別に働いていれば成功です。 暗いレベルでは比べにくいので、まずは空とライトがあるテンプレートのレベルで確認しましょう。

図は見た目の違いを伝えるイメージです。実際の反射はレベルの照明や周囲の景色によって変わります。

4. 親の値を変えると、どこに伝わるか

最後に、M_Metal_Base のRoughnessパラメータの初期値を 0.25 から 0.6 に変え、適用してみましょう。

親のRoughnessを0.25から0.6に変えると、チェックなし��のGoldだけが引き継ぎ、上書き済みのSteelとMatteは変わらない

Goldは親の値を使っているので、つやが弱くなります。SteelとMatteはそれぞれ 0.350.75 に上書きしているため、Roughnessは変わりません。確認後は親を 0.25 に戻して適用・保存します。

この違いが分かると、共通の色は親でそろえ、一部の素材だけつやを変える、といった調整ができます。親の値を変えても反映されないときは、Instance側のチェックを見てください。

Sponsored

模様を使いたくなったら

今回使ったのは色と数値ですが、木目やタイルの画像も同じようにノードで渡せます。よく使うのが次の5つです。すべてを一度に覚える必要はありません。

Constant、Constant3Vector、Texture Sample、Texture Coordinate、Multiplyの役割と、キーを押しながらクリックして置くショートカット
ノード作り方役割
Constant1 + 左クリックRoughnessなど、1つの数値を渡す
Constant3Vector3 + 左クリックRGBなど、3つの数値を渡す
Texture SampleT + 左クリック選んだテクスチャの情報を読み出す
Texture CoordinateU + 左クリックテクスチャを読む位置を渡す
MultiplyM + 左クリック2つの値を掛け合わせる

たとえば木目画像をインポートし、コンテンツブラウザからマテリアルのノード領域へドラッグすると、その画像が設定されたTexture Sampleを作れます。「RGB」出力をBase Colorへつなげば、木目を色として使えます。木の表面ならMetallicも 0 に変えましょう。

UV は、モデルの各場所で「画像のどこを読むか」を示す座標です。Texture CoordinateをTexture Sampleの「UVs」へつなぐと、その読み方を調整できます。Texture Coordinateの「UTiling」「VTiling」をそれぞれ 2 にすると、標準の0〜1のUV範囲に画像が横2回・縦2回繰り返されます。これは画像側が繰り返し表示の設定になっている場合の例です。

Multiplyは、読み出した色に別の色を掛けて色味を調整したり、UVに数値を掛けて繰り返し回数を変えたりするときに使います。まずは今回のConstantとConstant3Vectorから始め、必要になった役割を足していくと、ノードの意味を覚えやすくなります。

おまけ:先に知っておくと良いこと

ノーマルマップは「普通の色画像」と設定が違う

ノーマルマップを使う場合は、インポートしたテクスチャを開き、「Compression Settings」を Normalmap にし、sRGB がオフであることを確認します。マテリアルのTexture Sampleでは「Sampler Type」を Normal にして、「RGB」をNormalへつなぎます。

ノーマルマップの色は表面の向きのデータなので、普通の色画像として補正すると意図した向きになりません。凹凸が逆に見える場合は、画像を書き出したソフトの形式も確認します。UEと上下方向の取り決めが異なる形式なら、テクスチャの「Flip Green Channel」で直せることがあります。

金属が黒いときは、映り込む周囲も見る

金属は周囲の光や景色を反射して見えるため、暗い場所では金色を設定しても黒っぽくなります。色の数値を上げ続ける前に、明るいプレビューではどう見えるかを比べましょう。レベルだけで暗くなるなら、ライティングの記事を手がかりに照明を確認します。

また、さびた金属など、1枚の画像で金属部分と非金属部分を塗り分ける場合は、Metallicに中間値が入ることもあります。今回は均一な金属なので 1 を使いました。

Instanceの調整と、ゲーム中の変更は別の手順

今回の色や数値の変更では、シェーダー、つまり描画用の処理を作り直すコンパイルを挟まずに調整できます。ただし、計算の有無などを切り替える「Static Switch」のような別種のパラメータには、コンパイルが必要になる場合があります。

ゲーム中に敵の色を変えたい場合は、Dynamic Material Instanceの記事で、実行中に値を渡す方法へ進めます。

Substrateの画面が出てきたら

Substrate は、塗装やコーティングなどを重ねた素材も表現できる、UEのマテリアルの仕組みです。UE 5.7以降の新規プロジェクトでは標準で有効ですが、Base ColorやRoughnessを持つ従来の出力ノードも使えます。この記事のためにSubstrateを無効にする必要はありません。

すでにSubstrateの専用ノードへ変換された素材を開いている場合は、入力の並びが異なります。入門では、手順どおり新しいマテリアルを作って進めると対応を追いやすくなります。

まとめ

素材を調整するときは、「何色か」「金属か」「反射はくっきりか」を分けて見ると、触る場所を選べます。小さな傷や溝の陰影が欲しくなったら、Normalを足します。

色やつやの違う素材を増やすときは、共通のつなぎ方を親マテリアルに残し、Material Instanceで必要な値だけを上書きしましょう。まずは同じ球を並べてRoughnessだけを変えてみると、数値と見た目の関係が分かりやすくなります。

参考:物理ベースのマテリアルMaterial Instanceの作成と使用Substrateの概要

Unreal Engine このセクションのノート98