はじめに
この記事はUnreal Engine (UE) Advent Calendar 2025の5日目の記事です
UE5.7でSubstrate Materialが正式リリースされましたね。
レガシーなマテリアルはいづれ廃止予定らしいので、ぼちぼち移行していかないとなと思っています。
ということで今回はSubstrate Materialを触ってみました。
初めて触るので、手始めにカーペイント的なマテリアルでも作ってみようと思います。
Substrate Materialの情報は基本的には公式ドキュメントから取得しました。
私は英語がわからないのでGoogle翻訳を使いながら・・・、
Substrate Materialの説明も書いてありますし、直接マテリアルグラフを見えるのでめっちゃ参考になります。
翻訳したものはこの記事の下の方に載せておきます。誰かの役に立ったら幸いです。
機能別サンプルの翻訳
設定関係
プロジェクト設定

Substrate Materialを使うにはプロジェクト設定で有効にしておく必要があります。
層状マテリアルにチェックが入ってなければチェックしましょう。
また、Gバッファ形式をAdaptive GBufferにしておかないと機能制限がかかるようです。
コンフィグ

マテリアルグラフを好き勝手つないでると容量オーバー的な感じで計算が省略され、上記の警告が出ることがあります。
コンソール変数かDefaultEngine.iniに下記を追加すると、上限を増やせるので回避することができます。(数字は適宜変えてください。デフォルトは80です。)
r.Substrate.BytesPerPixel=128
作った

最終的な見た目です。
基本的にはスラブという要素を合成していくようです。
スラブにはマテリアルを表現するのに必要なパラメーターがほぼ揃っていて、楽に見た目を作れるのですが、いざ合成となると細かい制御がしにくい印象でした。
練度や慣れの問題もあると思いますが、結構難しかったです。
でも、Substrateができることは多く、めちゃくちゃ可能性を感じましたね。
完成した後に見つけたのですが、
こちらでSubstrate Materialの解説と、カーペイントのサンプルも書いてくれています・・・。
先に見ればよかった・・・。
グラフ
概要

Coat、Flake、Paintの3つの要素をそれぞれ作ってSubstrate Addで合成しています。

本当はSubstrate Vertical Layerを使ったほうが物理的には正しくていい気がします。
今回はこちらを使った合成をうまくコントロールできなかったのでSubstrate Addを採用しました。
Coat


クリアコート層に使用します、ブレンドする前提なので、これだけだとほぼ鏡みたいな見た目。
一応オレンジピール的なものも入れてます。
Fresnel、lerp、Substrate Coverage Weightでクリアコートに現れる反射量を調節します。
Flake


フレークだけのスラブを作りました。
せっかくなのでSubstrateに搭載されているGlintを使用しました。
細かい制御の方法がまだ見つかってなくて、拘るならGlintではなく自前でなにかしら組んだり、テクスチャを用意したりしたほうがいい印象でした。

スラブにSpecular Profileというものを設定できます。

エディターはこんな感じで、カメラから見た角度やライトの当たり具合に応じて出力する色を決められるというものです。
これはめちゃくちゃ便利だなと思いました。
ただ、アセットを参照する感じなので、パラメーターにできないのが微妙なところ。
マテリアルインスタンスでいじれないという制限があります。
Paint


色の層です。
Specular Profileを使ったほうが綺麗なマテリアルが作れそうなのですが、前述の通りマテリアルインスタンスにした時に色を変えられないので、Specular Profileを使用する場合と使用しない場合の2つのスラブを作ってスイッチできるようにしています。
このスラブがベースなので最終的な見た目に影響する割合も高めです。
質感を設定するのにも、今まで使ってきた名前のパラメーターじゃないのが戸惑いポイントでしたね。
MetallicやSpecularなどはなくて、基本的にはAlbedo、F0、F90、Roughnessによって見た目が決定するみたいです。

しかし、Substrate Metalness-To-DiffuseAlbedo-F0のように、これまでと同じノリで設定できるヘルパー関数があるようです。
今回はあえて使いませんでした。
グラフはこれで以上です。
やってる表現に対して使っているノードの数が少なく済んでいる気はしますね。
カーペイントサンプル
作ったマテリアルをインスタンスにして調整した例をいくつか掲載します。
レッド
レッド2
ブルー
イエロー
ホワイト
ブラック
シルバー
まとめ
Substrate Materialを使ってみました。
触る前は、「まぁこれまでと同じ感じで使えるでしょ」と軽く考えてましたが、結構違うので戸惑ってます。
カーペイントの制作では限られた機能しか触れてませんが、Substrate Materialはできることがたくさんあります。今回触れられていませんが、透明系は特に強くなった印象がありますし、油膜や布の表現なども簡単に高クオリティだせる印象です。
しっかり理解して一層質の高いルックを目指したいですね。
以下、機能別サンプルの翻訳です。





















































