>100 Views
December 19, 24
スライド概要
Unreal Engine Meetup Nara #1(https://connpass.com/event/330968/)での登壇資料です。
Substrate Materialの概念や特徴、今までのマテリアルの違いなどSubstrateの初歩的なことを解説します。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
はじめての Substrate Material (Beta) Epic Games Japan 向井 秀哉
自己紹介 エピック ゲームズ ジャパン Senior Solutions Architect 向井 秀哉 (Syuya Mukai) • 3Dアーティスト・テクニカルアーティストとして 映像制作やVRなどのコンテンツ制作に携わった後に エピック ゲームズ ジャパンに入社 • 自動車、映像、建築などのノンゲーム分野での Unreal Engine の技術的な説明や提案が主なお仕事 X: @syu_ya23
この講演の内容 • Substrate ってなに? • 今までと何が違うの? • インプットとか変わっているけど、どういうインプット、パラメータなの? あまり深堀はせず、Substrateの初歩的な部分をご紹介します!
この講演の注意点 • 概念や言葉の意味など主にデザイナー向けに大きく要約して説明している部分もあるので 的確(理論的)には少し異なる部分もある可能性があります • UE5.5の時点でBetaです。 今後のアップデートで本日の内容から変更される可能性があります
Substrate Material (5.5時点でBeta) シェーディングモデルに縛られず より自由なマテリアル作成、映画品質を目指す新しいマテリアル オーサリングシステム
Substrate Material の特徴 • Principled BSDF(双方向散乱分布関数) での計算 • マテリアルに当たった光がどのような角度でどの程度、反射または透過するかをシミュレートする UE5の機能的な面としては… • レイヤーでのマテリアルの作成 • どのように光が反射するかや下層に透過、散乱するかを計算し、さらに下層で反射や透過 が行われる • シェーディングモデルの指定が必要ない • SSSの上にクリアコートなどの従来できなかった表現が可能 • 例)肌の上に水滴など
Substrate Material の例 PHYSICAL LAYERS PAINT STRUCTURE SUBSTRATE BSDF STACK Clear Coat Slab A Slab B Base Coat with metal flakes Slab C Primer
従来との違い 従来のマテリアルでもBlend Material やLerpで重ねることはできたが 上層のマテリアルがどのように光を透過させるかなどは考慮していない
Substrate Material の例 PHYSICAL LAYERS PAINT STRUCTURE SUBSTRATE BSDF STACK Clear Coat Slab A Slab B Base Coat with metal flakes Slab C Primer
Substrate Material の有効化 従来のマテリアルは自動的にノードが追加され、基本的にそのまま利用可能
従来との違い –入出力 Substrate BSDF ノード 多くの質感は「Substrate Slab BSDF」で表現できる
Substrate BSDF ノード 水やヘア、目などの特殊な質感用や よりシンプルにクリアコートを表現する Substrate Simple Clear Coat などが用意されている
従来との違い –入出力 Substrate BSDF ノード 多くの質感は「Substrate Slab BSDF」で表現できる
Substrate Slab BSDF のインプット – Diffuse Albedo 従来のBasecolorと同様に材質の色のインプット ただし、Diffuseのため金属では黒(0)になる
Substrate Slab BSDF のインプット – F0 物体を垂直に見たときの光の反射率≒スペキュラの色→ 1で全反射(鏡)
Substrate Slab BSDF のインプット – F90 物体を接線方向に見たときの光の反射率≒エッジスペキュラの色
Substrate ヘルパー ノード - Substrate Metalness-To-DiffuseColorF0 従来と同じようにBasecolor, Metallic, Specular の入力が可能
Substrate ヘルパー ノード 従来のマテリアルと同じような入力を行えるようにするノードや 入力をわかりやすくするために変換してくれるノードなどがある
Substrate ヘルパー ノード - Substrate Metalness-To-DiffuseColorF0 従来と同じようにBasecolor, Metallic, Specular の入力が可能
Substrate Slab BSDF のインプット – SSS MFP MFP(平均自由行程):光の波長が媒質を通過して、ぶつかって拡散するまでの距離 サブサーフェイスの表現、トップレイヤーの色や厚み、半透明などで使用する 赤の波長: 0.2cm, 緑の波長: 0.2cm, 青の波長: 0.9cm 透過する MFP
Substrate Transmittance-To-MeanFreePath 単純に色とThicknessの入力すれば良くなるヘルパーノード
Substrate 演算子ノード どのように各Substrate BSDFを重ねるか(ミックスするか)を決めるノード
Substrate 演算子ノード - Substrate Horizontal Layer BottomのマテリアルをTopのマテリアルに乗せるノード 汚れなどの表現に
Substrate 演算子ノード - Substrate Vertical Layer BottomのマテリアルをTopのマテリアルでコーティングするノード クリアコートやニス、水滴などの表現に
半透明表現 Blend ModeをTransmittance-To-MeanFreePathを使用し、色と透明度をコントロール 0に近づくほど不透明になる Blend Mode TranslucentColoredTransmittance、TranslucentGreyTransmittance、ColoredTransmittanceOnly のいずれか
Blend Mode • Opaque: 不透明マテリアル • Masked:0か1で不透明と透明を表現する。葉っぱなどをアルファ抜きしたりするのに使う。 • TranslucentGreyTransmittance:ガラスなどの半透明を表現に。従来のTranslucentに近 しいもの • Additive:従来と同じ • ColoredTransmittanceOnly:従来のModulateに近しいもの • AlphaHoldout:従来と同じ • TranslucentColoredTransmittance:薄い半透明のプラスチックなどを表現するのに。従来 のThinTranslucentに近しいもの
Second Roughness 軽く磨かれた表現や鏡面が摩耗したような表現に Haziness-To-Secondary-Roughness でHezinessパラメータのみでスペキュラをかすませるような表現が可能 この辺りについて紹介されている論文 https://inria.hal.science/hal-01818666/document
Substrate Slab BSDF のインプット – Glint 車のフレークや雪などの表現に便利なキラキラ • Glint Density: キラキラの密度 • Glint UV: キラキラをマッピングするのに 使用するUV • Roughness: 値が高いほど キラキラにばらつきが出る • F0, F90: キラキラの色や反射率に作用
Substrateでより簡単になった質感 – 布 Fuzz インプットで毛羽立ちを表現
Substrateでより簡単になった質感 – 油膜 Substrate Thin-Filmで手軽に
Substrateでより簡単になった質感 – くもりガラス Refractionを利用することでRoughnessが作用
トップレイヤーをぼかすことも可能 Roughness と Thickness の値でぼやけ具合が変わる
Substrare Slab とは? 光が表面でどのように作用するか 光が媒質の中でどのように吸収されるか Roughness、Normal、Diffused Albedo、F0、 F90 の値で定義 MFPにより定義 +
カーペイント メタリック の一例 構造 SUBSTRATE BSDF クリアコート Slab A ベースコート+フレーク Slab B Slab C 中塗り
カーペイント メタリック の一例 Top slab : クリアコート - Mid slab : ベースコート - Bottom slab : 中塗りの上にフレーク -
Bottom Slab:中塗りの上にフレーク 中塗り Glintsの金属感
Middle Slab:ベースコート(主にペイントの色)
Top Slab:透明なクリアコート
カーペイント メタリック の一例
TOYOTA様のSubstrate検証画像
TOYOTA様のSubstrate検証画像
TOYOTA様のSubstrate検証画像
Substrate により変化が大きい質感 • カーペイントなどの多層構造のマテリアル • 従来のカーペイントも自動変換でそのまま利用可能 • Substrateを活かすには作り直しが必要 • Substrateバージョンの自動車マテリアルパックも公開予定 • ガラスなどの半透明や水の表現 • 布 など
5.4 → 5.5 で改善・変更点 基本的にはバグFIXやワークフローの統合 大きな変更や追加機能はない • 実験的機能からBetaに移行 • 従来のマテリアルから変化が大きくならないよう見た目を一致 • Light FunctionやDecal、Post Process Materialなども • Lumenのまわりの不具合やアーティファクトの改善 • MegaLightsのサポート • GBuffer サンプリングのサポート
公式ドキュメント https://dev.epicgames.com/documentation/ja-jp/unrealengine/substrate-materials-in-unreal-engine
Substrate – 機能別サンプル 「Substrate Materials」レベルに多くのサンプルマテリアルを揃えています https://www.fab.com/listings/4d251261-d98c-48e2-baee-8f4e47c67091
Feedback Thread https://forums.unrealengine.com/t/substrate-feedback-thread/
Electric Dream サンプル Substrate を使用したサンプルプロジェクト https://www.fab.com/listings/d79688f5-29be-4fb2-a650-2d4a813f5306
The Future of Materials in Unreal Engine | GDC 2023 Substrateの基礎を解説(日本語字幕あり) https://www.youtube.com/watch?v=joOIBteSo1w
Authoring Materials That Matters - Substrate in Unreal Engine 5 技術的な詳細を解説した講演資料 https://advances.realtimerendering.com/s2023/index.html#Strata