【2026年版】Substance PainterからUnityへの書き出し完全手順|AOが出ない・凹凸が逆転する原因

当ページのリンクには広告が含まれています。
substance painter to unity export guide 2026

Substance PainterからUnityへテクスチャを持っていくと、ほぼ必ず2つのことが起きる。AO(アンビエントオクルージョン)のファイルが見当たらない。そして凹凸が逆向きに彫れている。どちらも操作ミスではなく、書き出しプリセットの定義がそうなっているのが原因だ。

実機の Substance 3D Painter 12.1.2 に同梱された書き出しプリセット34個について、定義ファイルを直接読み出して出力マップと参照チャンネルを確認した。公式ドキュメントは説明文だけで中身の記載が無い部分なので、その実測値を出す。

目次

Unity向けプリセットは4種類。どれを選ぶ?

Export Textures の Output template に、Unityと名の付くプリセットは4つある。URPで作っているなら「Unity Universal Render Pipeline (Metallic Standard)」を選ぶ。

プリセット 書き出されるファイル
URP (Metallic Standard) AlbedoTransparency / MetallicSmoothness / Normal / Emission
URP (Specular) AlbedoTransparency / SpecularSmoothness / Normal / Emission
HDRP (Metallic Standard) BaseMap / MaskMap / Normal / Emissive
HDRP (Specular) BaseMap / Specular / MaskMap / Normal / Emissive

URPプリセットがAOを書き出さないのはなぜ?

URPの2プリセットは出力が4ファイルで、その中にAO(Occlusion)が無い。34プリセットの定義から参照チャンネルを機械的に抽出したところ、AOのメッシュマップを参照しているのは8個だけ(Unreal Engine (Packed) 2種・Maxwell 2種・Lens Studio・Spark AR Studio・Unity HDRP 2種)で、URPはそこに含まれない。HDRPは MaskMap の1枚にAOとスムースネスをまとめており、参照チャンネルにも AO_MixedGlossiness が入っている。プリセットの定義上、HDRP側はAOを含み、URP側は含まない。

一方でURP LitにはOcclusion Mapのスロットがある。使うなら自分で出力を足すことになる。

  • URP (Metallic Standard) を選び、複製ボタンでコピーする(同梱プリセットは直接編集できない)
  • 複製側に出力マップを1つ追加し、Ambient occlusion のメッシュマップをRGBへ割り当てる

AOそのものが崩れている場合は、書き出しより先にベイクエラーの解決のほうが効く。

凹凸が逆転するのは「汎用プリセット」を選んだから

ノーマルマップの規格はDirectXとOpenGLで緑チャンネル(Y軸)の向きが逆で、UnityはOpenGL側を前提にしている。多いのが汎用の「PBR Metallic Roughness」をそのまま使うケースだ。定義を読み出すと参照チャンネルは Normal_DirectX だった。

使ったプリセット Normalの参照チャンネル(実測) Unity側の扱い
Unity URP / HDRP(4種すべて) Normal_OpenGL Unityの前提と一致
PBR Metallic Roughness(汎用) Normal_DirectX 緑チャンネルが逆=Flip Green Channelが必要

🔎 実測した範囲:書き出しプリセット(.spexp)34件とプロジェクトテンプレート(.spt)26件を直接読み出し、出力マップ・参照チャンネル・OpenPBR固有パラメータの有無を全件について確認したところまでが実測値だ。Unityに取り込んで描画を比較する検証は行っていないので、「DirectXのまま渡すと凹凸が反転する」はUnity側の仕様に基づく帰結として書いている。見え方はシェーダーやライティングでも変わるので、最終判断は自分のシーンで。

「UE5では合っていたのにUnityでおかしい」も同じ理屈で、UE5側はDirectXが正しい(逆方向の事故はUE5でテクスチャの色が変わる原因)。書き出し済みの分はUnity側の Flip Green Channel で戻せる。

Unity側のインポート設定で必ず触る3か所

Unityは拡張子やファイル名から用途を推測しない。インポート設定は人間が指定する。

テクスチャ Texture Type sRGB (Color Texture)
AlbedoTransparency Default ON(人が見る色)
MetallicSmoothness Default OFF(数値データ)
Normal Normal map —(自動でOFF)

MetallicSmoothnessのsRGBを外し忘れるとMetallicの数値にガンマ補正がかかり、本来より大きな値として扱われる。「Painterでは落ち着いていたのにUnityで白飛びする」ときに最初に見るべき箇所がここだ。さらにマテリアル側で Workflow Mode を Metallic、Smoothness Source を Metallic Alpha にする。Albedo Alpha のままだと質感が丸ごとずれる。

解像度とビット深度は書き出し設定・解像度完全ガイド、モデル本体の持ち込みはBlenderからUnityへのFBXインポート設定に分けてある。

Substance Painterを基礎から学ぶUdemy講座を見る※ セール価格・講座内容はUdemy公式ページでご確認ください

12.1でOpenPBRが既定になった。Unity向けはどう作る?

Substance 3D Painter 12.1(2026年6月22日)から、OpenPBR 1.1が既定のワークフローになった。Adobe公式は「テンプレートを選ばずに作成した新規プロジェクトはOpenPBRシェーダーを使う」としている。

問題は書き出し側が追いついていない点だ。同梱プリセット34個のうちOpenPBR向けは1つも無い。プロジェクトテンプレート26個のうちUnityと名の付くものは Unity HD Render Pipeline (Metallic Standard) だけで、URP用テンプレートは存在しない。OpenPBR系は Anisotropy / Coat / Fuzz / Subsurface Scattering の4つがある。

OpenPBRテンプレートには specularIoRcoatIORsubsurfaceRadius といったパラメータが並ぶが、これらはURP Litに受け皿が無い。作り込んでもUnityに渡した瞬間に落ちる。

⚠️ URP向けなら、テンプレートを選ばずに新規作成しない。12.1以降はそれがOpenPBRプロジェクトになる。New Project の Template で PBR - Metallic Roughness を明示的に選ぶこと。11系以前のチュートリアルはここだけ手順が食い違う。

Substance 3Dの料金プランを公式サイトで確認する※ プラン構成と最新価格はAdobe公式ページでご確認ください

まとめ:Unity書き出しの5チェック

  • プリセットはUnity URP (Metallic Standard)。汎用のPBR Metallic RoughnessはDirectX規格を参照している
  • URPプリセットはAOを書き出さない。必要なら複製してOcclusion出力を追加する
  • MetallicSmoothnessのsRGBはOFF。金属の白飛びはほぼこれ
  • NormalはTexture TypeをNormal mapに。DirectXで出した分はFlip Green Channelで戻せる
  • 12.1以降はテンプレートを明示する。無指定だとOpenPBRになる
URPとHDRPでプリセットを間違えるとどうなりますか?
HDRPプリセットではMaskMapという合成テクスチャが出ますが、URP Litにこれを受けるスロットはありません。逆にURPプリセットのテクスチャをHDRPで使うと、AOが無いためオクルージョンが効きません。パイプラインを決めてから選びます。
Unityで凹凸が逆に見えます。書き出し直しが必要ですか?
必須ではありません。Unityのテクスチャインポート設定にあるFlip Green Channelで緑チャンネルを反転できます。ただし恒久対応としては、書き出し側をUnity用プリセット(Normal_OpenGLを参照)に切り替えるほうが確実です。
AOのテクスチャが書き出されません。設定ミスですか?
設定ミスではありません。Unity URP向けの同梱プリセットは定義上AO出力を含まず、AlbedoTransparency・MetallicSmoothness・Normal・Emissionの4ファイルだけが出ます。AOが必要ならプリセットを複製し、出力マップを追加してAmbient occlusionを割り当ててください。
12.1にすると既存プロジェクトもOpenPBRになりますか?
いいえ。OpenPBRが既定になるのはテンプレートを指定せずに新規作成したプロジェクトだけで、既存プロジェクトは作成時の設定が維持されます。URP向けの新規プロジェクトではテンプレートにPBR – Metallic Roughnessを明示してください。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITインフラエンジニア歴12年。クラウド(AWSがメイン、一部Azure)の実務は3年目。並行して社会人向けの3DCGスクールに在学中。Windows 11 + RTX 4070 Ti SUPER の自宅環境で実際に手を動かしながら、インフラ・クラウド・AI・3DCGの技術記事を書いています。

コメント

コメントする

CAPTCHA


目次