PR

【UE5】Substrate Material の使い方 入門編

UE5

UE5.7でProduction-Ready(正式実装)になった「Substarate(サブストレート)マテリアル」の概要や基礎部分をご紹介します。

この記事では、UE5.7をベースに紹介していきます。

この記事は、こんな方におすすめです!
  • Unreal Engine のマテリアルの基礎を理解している方
  • Substrate(Strata) マテリアルについて知りたい方
  • Sbstarate を使ってみたい方

そもそもUE5のマテリアルとは?というところやマテリアルエディタの使い方(Substrateより前からある部分)などは、別の記事で解説していますので、UE5のマテリアルを全く使ったことがない方は、まずは↓の記事をご覧ください。

スポンサーリンク

Substrate Material とは?

Substrateは、簡単に言うと、マテリアルにより柔軟性を持たせて、プリレンダラーのマテリアルのようにアーティストがより自由にマテリアル作成をできるようにしたマテリアルの機能(オーサリングシステム)です。

もっと要約すると、今までより表現の幅が広がるということです。
また、BlenderやMayaのようなプリレンダラーのマテリアルに近づくイメージです。

細かいことは色々とありますが、具体例を1つ挙げると、今まではクリアコートやサブサーフェイスなどは「シェーデングモデル」で分かれており、一緒に使うことはできませんでした。

Substrateでは、そのシェーデングモデルの設定がなくなり、SSSやクリアコート、ヘア、クロスなどの表現を1つのマテリアルでできるようになりました(1つのシェーデングモデルのようなイメージでシェーデングモデルを切り替える必要がない)

また、それらのマテリアルをレイヤー的に重ねることができます

今まで別だったシェーデングモデルを一緒に使えるということは、サブサーフェイスの素材の上にクリアコートなどもできます。
その他にもクリアコートの上に埃など現実と同じようにマテリアルを層として重ねていくことができます。

strataは層、substateは表面や化学反応を起こす物質などの意味があるので、素材を重ねてマテリアルを作るような部分が名前の由来になっているのかもしれません(ただの私の予想です)

新しいマテリアルシステムではありますが、マテリアルエディタの基本的な使い方などは同じです
新たなノードや概念が追加されたようなイメージです。

マテリアルを作成するとわかる通り、従来のインプットも使用できます。

大きな違いとしては紫色の「Front Material」というインプットが追加されています。

5.7でのリザルトノード

詳しくは後述しますが、5.7では、従来と同じようにBasecolor, Metallic, Roughnessでマテリアルを作成も可能
Substrateの機能を使用したい場合は、Front MaterialにSubstrate用のノードを接続して、マテリアルを作成する。
そして、Basecolor, Metallic, Roughnessではなく、Diffuse Albedo, F0などのインプットを使用することになる。
という形になっています。

Substrateの機能を使用してマテリアルを作成する場合は、この紫色のSubstrate BSDFノードを使用します。
Material Attributeと似たような形で、ここに色やラフネス、ノーマルなどの計算結果を繋いでいきます。

Substrate BSDFノード

スポンサーリンク

Substrate の使い方

ここからは、基本となるノードや各インプット、その使い方などを紹介していきます。

Substrate を有効にする

Substrate materialsの有効設定

5.7でプロジェクトを作成すると、最初からSubstrateが有効になっています。

5.6以下のプロジェクトを5.7にアップグレードした際は、有効になっていません。
「Project Settings(プロジェクト設定)」→「Engine – Rendering」→「Substrate materials」にチェックを入れることで有効にできます。

Substrate Opaque material rough refraction
より物理的に正しくコーティングの下の層(マテリアル)のラフネスを計算します。
ただ、より重たい計算となるので、パフォーマンスに影響します。
まだ、深く検証できていませんが、映像などでは有効にすると良いのかもしれません。

Strata advanced visualization shaders
「r.Strata.Debug.VisualizeMode 3」でデバッグ表示を使用できるようになります。
こちらが有効だとパフォーマンスに影響があることがあるため、デフォルトは無効ないようです。

Substrate BSDFs ノード の概要

こちらの「Substrate BSDFs」という種類のノードが従来のマテリアルドメインやシェーディングモデルの役割を果たすイメージです。

なので、Substrate Unlit BSDF、Substrate Hair BSDF、Substrate Single Layer Water BSDFなどがあります。

今までだと、ResultノードにBasecolorやラフネスなどの計算結果を繋いでいましたが、基本的にこのSubstrate BSDFs に繋いでいきます。
そして、その結果をリザルトノードの「Front Material」に繋ぎます。

BSDF(双方向散乱分布関数)は、簡単に言うと、CGなどの空間上で光の散乱を計算する方法です。
現実では、物体に光が反射して、その物体の色や質感を知覚できるわけですが、それをCG上でも可能な限り再現したようなものです。
BlenderにもPrincipled BSDFというシェーダーがあり、同じようなことをしています。

色々なSubstrate BSDFsノードがありますが「Substrate Slab BSDF」がベーシックなもので、こちらのノードでプラスチック、金属、ガラス、木などほぼあらゆる質感を表現できます。

その他のノードは以下のような用途で使用します。

ノード名用途
Substrate Slab BSDFプラスチック、金属、ガラス、木などほぼあらゆる質感に
Substrate Simple Clear Coat BSDFClearcoatを安価に表現するためのもの。Slab BSDFでもクリアコートを表現できるかより手軽に表面のつるつるを表現したいときに
Substrate Unlit BSDF従来のUnlitと同じようなもの。ライティングの影響を受けない。
Substrate Eye BSDF目の表現に特化したもの
Substrate Hair BSDF毛の表現に特化したもの
Substrate Single Layer Water BSDF水の表現に特化したもの。(見た目的な)深さなども表現できる
Substrate Volumetric-Fog-Cloud BSDF ボリュメトリックフォグやボリュメトリック クラウドで使用するもの
スポンサーリンク

Substrate Slab BSDF のインプットと使い方

ほとんどの質感は、この「Substrate Slab BSDF」で表現していきます。

従来のマテリアルと異なり戸惑うところとしては、メタリックのインプット(Specularなども)がなくなっていることかなと思います。

その代わりに「F0」、「F90」というインプットがあります。

この2つのインプットで物体を垂直に見たときと物体のエッジ部分(接線方向)の反射率を操作します。

F0

物体を垂直に見たときの反射率(色)を調整します。
下記の画像はあくまでイメージですが、球を見たときは白い部分で、このF0に入力した反射率が使用されるイメージです。

値が高くなるほど、光が反射します。

プラスチックなどの非金属(誘導体)の場合は0~0.08程度になるようです。
金属では最大で1を入力します(Dev Communityより引用)

ただ、0だと反射が全くなくなります。

F0の値が1に近づくほど金属の見た目になっていきます。
色の付いた金属を作りたい場合は、ここに1に近い値の色を入れます。

デフォルト値(何も入力しない状態)は、0.04でプラスチックの値となっています。

F90

物体に対して接線方向の反射率(色)です。なので、物体のエッジの色、反射率を調整するインプットです。

こちらの画像はF90に1に近いピンクの色を入れています。
なので、エッジの部分がメタリックなピンクになってるのがわかるかと思います。

値と入れ方としては、F0と同じように非金属なら0~0.08、金属なら1などです。

デフォルト値は、1です。

F0とF90が反映される割合を調整したい場合は「Substrate FlipFlop」ノードを使用することで調整できます。

FicingColorF0の部分の値、TangentColorF90の部分の値を入れて、Falloffで割合、ブレンド具合を調整できます。
従来のフレネルノードのような感じですね。

Diffuse Albedo

Diffuse Albedoは、素材の色になります。
今までのBasecolorとほぼ同じようなものですが、金属では黒を使用します
また、色の付いた金属(=反射される色)は、こちらではなく、F0などで色を設定します。

デフォルト値は、0.18(おそらく18%グレー)です。

ここまでで、よくわからん、従来のBasecolor、Metallic、Specularを使いたい!!
という方は「Substrate Metalness-To-DiffuseAlbedo-F0」という今までのBasecolor、Metallic、Specularの値をDiffuse AlbeodとF90に変化してくれる便利なノードがあります。

Roughness とNormal と Emissive Color

これらのRoughness、Normal、Emissive Colorのインプットは、従来と変わらずです。

スポンサーリンク

Anisotropy と Tangent

こちらの2つは、異方性反射を表現するのに使用します。

Anisotropy-1~1の値を入れることができます。
で入力したTangent方向にスペキュラ(ラフネスによりう反射のボケ)が伸びて、-1ではTangentの垂直方向にスペキュラが伸びます。

Anisotropy と Tangentについては、UE4の時のものですが、こちらの記事が参考になりました。

[UE4]Anisotropy(異方性反射)の使い方とそのTangentについて - Qiita
Unreal Engine 4.26から正式にマテリアルにAnisotropyが追加され、簡単に異方性反射を表現できるようになりました。本記事では、そのAnisotropyについて、特にTang…

SSS MFP

MFP(the mean-free-path)=平均自由行程という意味で、色々と難しいですが
UE5のこのインプットとしては、簡単に言うと
光の吸収や散乱を制御するインプットでSSS半透明どのような色で透過するかやその透過具合を調整することができます。

SSSの使用方法としては
SSS MFPにSSSの色を入れることで表現できます。

SSS MFP ScaleでSSSの具合を調整できます。
こちらはデフォルトで1になっているので、Maxで効かせたい場合は入力しないでも大丈夫です。

サブサーフェス プロファイルを使用している場合は、これらのインプットは使用されず、プロファイルの値を使用します。

Second Roughness

通常のRoughnessとは少し異なり、使用することでスペキュラがかすんだようなスペキュラになります。

素材そのもののスペキュラはかわらないけど、金属のかすり傷や汚れなどでスペキュラが異なる場合になどに使用できます。

例えば「Substrate Heziness-To-Secondary-Roughness」ノードを使用することで、拡散したスペキュラにすることができます。

Haziness: 0 (Second Roughness に何も入力しないのと同じ状態)
Haziness: 1

布やタイヤなどに使用すると、より幅広く、説得力のある表現ができます。

スポンサーリンク

Fuzz

布を表現するために使用するのインプットです。
布の毛羽立ち感やベルベットのような素材を表現にするのに役立ちます。

FuzzColor:布の表面、毛羽立ち部分の色を設定します。

FuzzAmount:Fuzzの強さを調整します。
FuzzColorが強くなり、ベルベットのような質感に近くなります。

Fuzz Roughness Weight: Fuzz部分のラフネスを調整できます。
こちらを入力しない場合は、通常のラフネスが使用されます。

Glint

車のペイントや雪などの表現に便利なキラキラを表現するための機能です。

Glint Density: キラキラの密度

Glint UV: メッシュにキラキラをどのようにマッピングするか(タイリング数など)

また、Roughnessの値が大きいほど、キラキラの1粒1粒の明るさにばらつきがでてきます。
逆にRougnessが0だとキラキラの1粒1粒が同じラフネス0の見た目になります。

スポンサーリンク

Substrate Operator ノードの使い方とインプット

Substrate Operator は、2つのSubstrate BSDFsを重ねたり、ブレンドするためのノードです。

例えば、最初に少し紹介したように1つのSlab BSDFでSSSが効いたマテリアル(A)を作成し、もう1つのSlab BSDFでつるつるな質感(B)を作成し、Aの上にBを重ねることでSSSの効いた質感の上にクリアコートを重ねるといったことができます。

いくつか種類があり、それぞれブレンドの仕方が異なります。

Substrate Horizontal Blend

Substrate Horizontal Blendは、単純に2つのマテリアルをブレンドします。

Mixに0~1の値やテクスチャを入れます。

Backgroundの値、1Foregroundの値が使用されます。

従来のLerpノードに近い挙動です。

Substrate Vertical Layer

Substrate Vertical Layer は、マテリアルを別のマテリアルでコーティング(=上に乗せる)します。

TopBottom に Slab BSDFなどのアウトプットを入力します。
Top TicknessTopの厚みを調整します。

車の塗装やニスなどクリアコートなどを表現するのに便利です。

ちなみにクリコートを表現するときは「Substrate Transmittance-To-MeanFreePath」ノードを使用し、それをSSS MFPに入力することで透過色を直感的に制御することができます。

Substrate Coverage Weight

AにSlabなどで作成した素材を入力し、Weightでその重量を調整します。
これ単体で使用するというよりは、Vertical Layerの前に挟んで、ここで重量(どれくらいの量を乗せるかのようなイメージ)を設定して使用します。

埃などを乗せるのに使用します。

Substrate Add

単純に2つのSlabを足し合わせます。

物理的に正しい値ではなくなるので、物理的法則に基づくフォトリアルなマテリアルを作成する際は、あまり使いません。

スポンサーリンク

Substrate の半透明とマスク

Substrate Materialも従来のマテリアル同様にBlend Modeを変更することでいくつかのタイプの半透明やマスク(アルファ抜き)が扱えます。

Substrate のブレンドモード

  • Opaque: 不透明マテリアル
  • Masked:0か1で不透明と透明を表現する。葉っぱなどをアルファ抜きしたりするのに使う。
  • TranslucentGreyTransmittance:従来のTranslucentにあたるもの。ガラスなどの半透明を表現できる
  • Additive:従来と同じ
  • ColoredTransmittanceOnly:従来のModulateに近しいもの
  • AlphaHoldout:従来と同じ
  • TranslucentColoredTransmittance:従来のThinTranslucentに近しいもの。色付きの半透明を表現するのに便利。

これらは、リザルトノードで変更します。

Substrate の半透明

従来と異なりOpacityのインプットがなくなっています。

透明度はクリアコートと同じようにSSS MFPで調整します。
0に近づくほど不透明に近くなっていきます。

単純にSSS MFPに値を入れて調整もできますが、「Substrate Transmittance-To-MeanFreePath」を挟んだ方が調整しやすいです。

ちなみに上記の画像の下記のマテリアル設定です。

  • Blend Mode:TranslucentGreyTransmittance
  • Lighting Mode: SurfaceFowardShading

Refraction Method」をNone以外に設定することでResultノードでRefractionを設定できます。
また、ラフネスの値に応じて、曇りガラスを表現することができるようになります。

半透明を

曇りガラスを作成する(半透明をぼかす)には、プロジェクト設定で「Substrate Opaque material rough refraction」を有効にする必要があります。
処理負荷が上がります。

また、半透明を作成する際は、各BSDFノードで「Sub-Surface Type」を「Simple Volume」に変更する必要があります

Substrate のマスク

こちらは従来と同じようブレンドモードを「Masked」にします。

リザルトノードの「Opacity Mask」インプットが使用できるようになるので、そちらに白黒のマップなどを入力することで、マスクで抜くことができます。

スポンサーリンク

Substrate Material に関する情報まとめ

Strata – Intro, Submitting Feedback より引用

Substrate Materialに関する役立つ情報をこちらにまとめておきます。
新たな情報を見つけ次第、追加していきます。

この記事もこちらの情報を参考に書かせて頂いています。

Substrate マテリアルの概要

Just a moment...

公式ドキュメントです。

Substrate フィードバック スレッド

Substrate - Feedback Thread
Hello everyone, My name is Sébastien Hillaire and I am the co-author of Substrate along with Charles de Rousiers. Substr...

ユーザーがSubstrateへのフォードバックなどを投稿できるスレッドです。
Epicの方が丁寧に回答されているので、困った際などにとても役立つページです。

機能別サンプル

Just a moment...

様々なマテリアルサンプルがどのように作られているかを見れます。
このようにノードを組めば、こんな見た目が作れるというのがわかるので非常に勉強になります。

5.2以上の機能別サンプルのプロジェクトを作成し「SubstrateMaterials」というレベルにたくさんのサンプルがあります。

スポンサーリンク

Electric Dream サンプル

Just a moment...

PCG を題材にしたデモでSubstrateも使用されています。

実際に自然の背景でどのようにSubstrateマテリアルが使用されているかをみることができます。

Substrate Materials: Basic to Advanced Techniques

Unreal Fest Bali 2025でのSubstrateに関する講演です。
Substrateの基礎的なことといくつかのサンプルマテリアルが解説されています。

スライドも公開されています。

Exploring Substrate Materials Basic to Advanced Techniques [Unreal Fest Bali 2025] | ドクセル
ドクセルはスライドやPDFをかんたんに共有できるサイトです

Unreal Materials: New Features & Productivity Enhancements

Unreal Fest Stockholm 2025でのSubstrate含むマテリアルの新しい機能に関する講演です。

Substrate Glass Collection

Just a moment...

動画や資料ではありませんが、Substrateを使用したマテリアルコレクションです。
そのまま使えますし、ノードベースだからこそ、どのように作成されているかの勉強にもなります。

Substrate Automotive Materials

Just a moment...

こちらも上記同様にマテリアルコレクションで、自動車に特化したコレクションとなっています。

スポンサーリンク

まとめ

Substrate Materialの入門ということで基本的なノードやインプットなどを紹介しました。

従来のマテリアルとSubstrateの大きな違いとしては

  • レイヤーベースでマテリアルを作成できる
  • シェーデングモデルという概念がない

というところです。

カーペイントのような多層構造の質感や半透明やSSSの質感は見た目がより改善される質感かと思います!

個人的にメタリックがなくなり、F0とF90の関係性、操作性が難しく感じ、慣れるのに時間がかかりそうな部分です。

その他にもMFPやSecopnd Roughnessなど新しいインプットが増えており、理解するのが少し大変です。
Blenderなどを使っている方であれば、割と親しみやすいのではないかと思います。

Substrateを使い始める際の参考になれば幸いです。

このサイトでは、この他にもUE5の使い方やおすすめチュートリアルなどを紹介しています。

最後までご覧いただき、ありがとうございました!

コメント

タイトルとURLをコピーしました