3Dモデルにテクスチャを貼って、表示もできた。でも なぜか安っぽく見える 。プラスチックのおもちゃのようで、作例で見たような質感になりません。マテリアルを触りはじめた人が、ほぼ全員通る場所です。
原因はたいてい Base Color以外のピンが空 なことです。UEのマテリアルは「色を塗る」機能ではなく、 光がこの表面でどう跳ね返るかを定義する 仕組みなので、色は要素の1つにすぎません。この記事では、まず押さえるべき4つのピンを整理し、パラメータ化して Material Instance で色違いを量産するところまでを解説します。
この記事でわかること
- マテリアルは色ではなく 光の跳ね返り方 を決めている
- 質感を決めるのは Roughness (ここが空だと安っぽくなる)
- Metallicは0か1 、中間はほぼ使わない
- 覚えるノードは 5つで足りる
- 実践:パラメータ化して Material Instance で色違いを作る
マテリアルは「光の跳ね返り方」
UEのマテリアルは PBR(物理ベースレンダリング) という考え方で作られています。難しく聞こえますが、意味はシンプルです。 現実の物質が光をどう跳ね返すかを真似る 、ただそれだけです。

現実世界で、鉄と木と布を見分けられるのはなぜでしょうか。色だけではありません。 光の跳ね返り方が違う からです。鉄は像が映るほど鋭く反射し、布は光を散らしてぼやける。この違いを数値で表すのがマテリアルの仕事です。
だから、Base Colorに茶色を入れただけで は木には見えません。 「木は光をどう跳ね返すか」 を設定していないからです。
しかも、PBRで組んだマテリアルは どんな照明の下でも破綻しません 。昼の屋外でも、夜の室内でも、同じ設定のまま自然に見えます。照明ごとに調整し直さなくて済むことが、PBRの一番の利点です。
まず押さえる4つのピン
マテリアルの出力ノードには多くのピンがありますが、 最初に覚えるべきは4つ です。

| ピン | 決めること | 入れる値 |
|---|---|---|
| Base Color | 素の色 | 色(RGB) |
| Metallic | 金属かどうか | 0か1(中間はほぼ使わない) |
| Roughness | 表面のざらつき | 0〜1を細かく使う |
| Normal | 見かけの凹凸 | Normal Mapテクスチャ |
Metallic は0か1です。 「金属っぽさ50%」という物質は、現実にはほとんど存在しません。木・石・プラスチック・布・肌はすべて 0 、鉄・金・銅は 1 。錆びた鉄のように混ざるものは、マスクテクスチャで「ここは1、ここは0」と塗り分けます。
Roughness が質感の主役です。 ここを触るのがマテリアル作業の大半になります。
| 値 | 見え方 | 例 |
|---|---|---|
| 0.0 | 鏡のように鋭く反射 | 磨いた鏡、静かな水面 |
| 0.2〜0.4 | つやがある | 塗装した車、濡れた床 |
| 0.5〜0.7 | 落ち着いた質感 | 多くの物はここ |
| 1.0 | 完全につや消し | チョーク、粗い布 |
「安っぽい」と感じるマテリアルは、Roughnessが未設定(既定値)のままか、極端な値になっていることが多いです。 まずここに0.5前後を入れてみてください 。それだけで印象が変わります。
Normal は「形を変えずに凹凸を見せる」 ピンです。レンガの目地やネジの溝を、ポリゴンを増やさずに表現できます。Normal Mapテクスチャを繋ぐだけなので、使い方に迷うことはありません。
Normal Mapを繋いだら、凹凸が逆に見える。 UEは DirectX形式 を前提にしています。Blenderなどは OpenGL形式 で書き出すことがあり、その場合は緑チャンネルが反転しています。テクスチャアセットを開いて
Flip Green Channelにチェックを入れると直ります。
覚えるノードは5つで足りる
マテリアルエディタには数 百のノードがありますが、最初は 5種類 で十分です。

| ノード | 何をするか | ショートカット |
|---|---|---|
| Constant | 数値1つ(Roughnessなど) | 1 +クリック |
| Constant3Vector | 色(RGB) | 3 +クリック |
| Texture Sample | テクスチャを読む | T +クリック |
| Texture Coordinate | タイリング(繰り返し)を調整 | U +クリック |
| Multiply | 掛け算(明るさ調整、マスク) | M +クリック |
キーを押しながらグラフをクリックすると即座に置けるので、覚えると作業速度が変わります。
Multiply の使いどころだけ補足します。テクスチャに 0.5 を掛ければ暗くなり、2.0 を掛ければ明るくなります。これが基本の使い方です。さらに 色にマスクを掛ける ことで、「ここだけ錆びている」といった表現も 作れます。
もう1つ、そのうち必ず使うのが Lerp(Linear Interpolate) です。AとBを、Alphaの割合で混ぜます。
Alpha = 0→ A がそのまま出るAlpha = 1→ B がそのまま出る- Alphaに マスクテクスチャ を挿すと、白い部分だけBになる
「乾いた地面と濡れた地面を、水たまりのマスクで混ぜる」——こうした表現はすべてLerpです。
実践:色を変えられる金属マテリアルを作る
RPGの装備の色違い、レーシングゲームの車体カラー、FPSの武器スキン——「同じ素材で色だけ違うもの」はどのジャンルにも大量に出てきます。ここを マテリアルの複製 で作ると破綻するので、正しいやり方を身につけます。
再現用の準備: テクスチャは不要です。 単色の金属 から始めて、あとから色を変えられるようにします。
| 種類 | 名前 | 内容 |
|---|---|---|
| Material | M_Metal_Base | これから作る親マテリアル |
| Material Instance | MI_Metal_Gold / MI_Metal_Steel | 色違い(あとで作る) |
| 確認用 | Sphereを3つ | レベルに並べておく |
ステップ1:マテリアルを作る。 コンテンツブラウザで右クリック → Material 。M_Metal_Base と名付けて開きます。
ステップ2:まず固定値で質感を作る。 グラフに次を置いて繋ぎます。
3+クリック でConstant3Vectorを置き、ダブルクリックで色を選ぶ(とりあえず金色: R=1.0 / G=0.77 / B=0.34)→ Base Color へ1+クリック でConstantを置き、値を 1.0 に → Metallic へ- もう1つ
Constantを置き、値を 0.25 に → Roughness へ
Apply を押して、プレビュー球を見てください。 鏡のように環境が映り込む金色の球 になっているはずです。
ここで Roughnessだけを動かして 感覚を掴んでください。0.05にすると鏡のように、0.6にすると鈍い金属になります。 質感を決めているのがRoughnessだ と、目で確認できます。
ステップ3:パラメータ化する。 ここからが本題です。
Constant3Vector(色)のノードを 右クリック → Convert to Parameter 。名前を BaseColor にします。同じように、Roughnessの Constant も Convert to Parameter して Roughness と名付けます。
