Maya 2022以降の新しいシーンの既定(OCIO v2・レンダリング空間はACEScg)では、PNGなどの画像に規則でsRGB系の色空間が自動で付きます。BaseColorはそのままで正しく、直すべきはRoughness・Metalness・Normal・Heightなどのデータのマップを「Raw」にすることです。EXRは既定の規則で「Raw」になるので、Painterの書き出しに合わせて「scene-linear Rec.709-sRGB」か「ACEScg」に直します。「Utility - sRGB - Texture」「Utility - Raw」はACES 1.2のOCIO設定での名前で、Mayaの既定の設定には無い名前です。
Substance Painterで仕上げたPBRテクスチャを、MayaのArnoldで見たら「質感が違う」「色がずれる」「全体の見え方が違う」――原因の多くは、テクスチャごとのColor Spaceの付け方と、画面に出すときの表示の変換の違いです。本記事では、AutodeskのMayaの公式ヘルプ(2022と2027)、Substance 3D Painterの公式ドキュメント、Painter 12.1.5に同梱のOCIO設定ファイルで確かめた内容(2026年10月11日確認)をもとに、原因と設定の手順を整理します。
Maya 2022以降の既定の色の設定はどうなっている?
新しいシーンでは通常、色の管理がオンで、OCIO v2の既定の設定(Maya-default)が使われます。レンダリング空間はACEScg、画面の表示は「ACES 1.0 SDR-video」です。
Mayaの公式ヘルプによると、2022以降の既定の色の管理はOpenColorIO v2(OCIO v2)で、新しいシーンのレンダリング空間の既定はACEScgです。画像を読み込むと、入力の色空間の規則(Input Color Space Rules)で最初の色空間が自動で付きます。
- Default(既定)の規則:ほかの規則に当たらない画像に付く色空間。Maya同梱の設定では、2022の公式ヘルプではsRGB、2027では「sRGB Encoded Rec.709 (sRGB)」です。
- あらかじめある規則:既定の設定では、拡張子が
.tx・.hdr・.exrの画像にはRawが付きます(入力の色空間の規則(公式))。
公式の手引きでは、色を表すPNG・JPEG・TGA・8/16bitのTIFFはsRGBにします。sRGBの画像はレンダリング空間に変換するときにsRGBの符号化が外されます(逆のトーンマップはかかりません)。法線マップのような色でないデータはRawに、EXRやHDRは「ほぼ必ずシーンリニア」で、Rec.709/sRGBの原色であることが多く、合わなければACEScgなどを試す、とされています。
ポイント:8bitのPNGで書き出したBaseColorは、既定の規則のままでsRGB系が付く=正しく変換されます。問題になりやすいのは、同じ規則でRoughnessやNormalにもsRGB系が付くことと、EXRにRawが付くことです。
症状から原因を探すには?
「どのマップで」「どう違うか」で原因はほぼ絞れます。
| 症状 | よくある原因 | 直し方 |
|---|---|---|
| ツヤが強すぎる・金属の質感が弱い | RoughnessやMetalnessのPNGにsRGB系が付いている(既定の規則) | Rawにする |
| 法線の陰影がおかしい | NormalにsRGB系が付いている/bump2dが高さ(Bump)として解釈している | Rawにして、bump2dのUse AsをTangent Space Normalsに |
| EXRのBaseColorの色がずれる | 既定の規則で.exrにRawが付き、変換されていない | 書き出しに合わせてscene-linear Rec.709-sRGBかACEScgに |
| EXRのBaseColorが暗い | リニアのEXRにsRGBを付け、sRGBの符号化を外す変換が余計にかかっている | scene-linear Rec.709-sRGBかACEScgに |
| 全体の見え方がPainterと違う | 表示の変換が違う(Mayaの既定はACESのトーンマップ) | 比べるときは両方の表示をそろえる |
| 直したColor Spaceが元に戻る | 規則をシーンに適用し直した | 手で直したFileノードはIgnore Color Space Input Rulesをオン |
Substance Painterの書き出しで色空間はどう決まる?
Painterの色の設定(プロジェクトごと)で、色のチャンネルを書き出すときの色空間が決まります。データのチャンネルは色の管理の対象外です。
Substance 3D Painterの公式ドキュメントによると、Painterの色の管理はLegacy(既定・sRGB/Linear sRGBの決まった補正)、OpenColorIO(Substance・ACES 1.0.3・ACES 1.2・カスタム)、Adobe ACEから選びます。チャンネルごとに色の管理の対象かどうかが決まっていて、Base colorは対象、Roughness・Metallic・Normal・Height・Opacity・Ambient occlusionは対象外(データとしてそのまま扱う)です。
色のチャンネルを書き出すときの色空間は、8bit・16bit・浮動小数(EXRなど)で別に決まります。Painter 12.1.5に同梱の設定ファイル(インストール先のresources/ocio/の下のconfig.ocio)の役割(roles)のうち、書き出しの3つ(substance_3d_painter_bitmap_export_8bit・_16bit・_floating)に書かれた色空間は次のとおりです。
| Painterの設定(OCIO) | 8bit・16bitの書き出し | 浮動小数(EXR)の書き出し |
|---|---|---|
| Substance | sRGB | Linear |
| ACES 1.2 | Utility - sRGB - Texture |
ACES - ACEScg |
| ACES 2.0(12.1.5に同梱) | sRGB Encoded Rec.709 (sRGB) | ACEScg |
書き出しの画面では、ファイル名に$colorSpaceを入れるとテクスチャごとの色空間を名前に付けられます(公式)。名前を見ればMaya側で付ける色空間を迷わず選べ、Mayaの規則(後述)にも使えます。Arnold向けには、既定の書き出しテンプレート「Arnold (AiStandard)」があります。
Maya(Arnold)のFileノードには何を設定する?
「色の画像はsRGB、データのマップはRaw、EXRは中身に合わせる」が基本です。使っているOCIO設定によって色空間の名前が違います。
| マップ | Mayaの既定の設定 | ACES 1.2のOCIO設定を使う場合 | 補足 |
|---|---|---|---|
| BaseColor(8/16bitのPNG・TIFF) | sRGB(既定の規則のままでsRGB系) | Utility - sRGB - Texture |
Base / Colorへ |
| BaseColor(EXR・PainterのLegacy・Substanceの設定) | scene-linear Rec.709-sRGB | Utility - Linear - sRGB |
既定の規則ではRawになる |
| BaseColor(EXR・PainterのACESの設定) | ACEScg | ACES - ACEScg |
既定の規則ではRawになる |
| Roughness・Metalness・Height・Opacity・AO | Raw | Utility - Raw |
Alpha Is Luminanceは下の節 |
| Normal | Raw | Utility - Raw |
bump2dのUse AsをTangent Space Normalsに |
Mayaの既定の設定の入力の色空間に「Utility - sRGB - Texture」や「Utility - Raw」は無く、名前はsRGB・Raw・scene-linear Rec.709-sRGB・ACEScgなどです(入力の色空間の一覧(公式)・2027と2022の同じページの両方で、この2つの名前が無いことを確かめました)。スタジオや授業でACES 1.2のOCIO設定(Painterにも同梱)をMayaのOCIO Config Pathに指定している場合は、表の右の列の名前になります。Emissive(発光)はPainterの公式の色の管理の一覧に載っていないので、書き出したファイル名の$colorSpaceで確かめて合わせます。
規則で自動にする
Color Management PreferencesのInput Color Space Rulesに、ファイル名で当たる規則を足すと、読み込んだときに正しい色空間が付きます。公式の例では、名前に「normal」を含む画像に*normal*でRawを付けています。Painterの書き出しの名前に合わせて、*Roughness*・*Metallic*・*Normal*などをRawにする規則を足しておくと楽です(規則は上から順に当てはめられ、最初に当たった規則が使われます)。既にあるFileノードには「Reapply Rules to Scene」で適用し直せます。
手で直したらIgnore Color Space Input Rulesをオンにする
FileノードのColor Spaceを手で直したら、公式の手引きどおりIgnore Color Space Input Rules(属性名はignoreColorSpaceFileRules)をオンにしておきます。オンのFileノードは、規則をシーンに適用し直しても変わりません。逆に、全部のFileノードでオフにすると、規則の適用し直しでデータのマップまで既定のsRGB系に戻ることがあります。
Alpha Is Luminanceはオンにするべき?
「どの出力をシェーダーにつないだか」で決まります。outAlpha(アルファ)をつないだならオン、outColorのRなど色の出力をつないだなら関係ありません。
2Dテクスチャの属性(公式の技術文書)によると、Alpha Is Luminanceは既定でオフで、オンにするとノードのアルファ(outAlpha)の出力が、テクスチャの明るさから作られます。白黒のRoughnessマップをoutAlphaでRoughnessにつないだ場合は、オンにしないと画像の明るさが値として使われません。
- Node EditorでRoughnessのFileノードとaiStandardSurfaceを表示する
- Specular のRoughness(Base のMetalnessも同じ)に、FileノードのoutAlphaとoutColorのR(outColorR)のどちらがつながっているかを見る
- outAlphaならAlpha Is Luminanceをオン、outColorRならそのままでよい
どちらでも、Color SpaceをRawにするのは同じです。Alpha Is Luminanceは「アルファをどこから作るか」の設定で、色空間の変換の代わりにはなりません。
法線マップの設定は?
Color SpaceをRawにし、bump2dノードのUse AsをTangent Space Normalsにします。
Normalマップは色ではなく向きのデータなので、公式の手引きどおりRawにします。sRGB系が付くと値が変換され、陰影が崩れます。aiStandardSurfaceのGeometryのBump Mappingには、bump2dノードを介してつなぎます。bump2dは既定で入力を高さ(Bump)として解釈するので、Attribute EditorのUse AsをTangent Space Normalsに切り替えます(Mayaの公式ヘルプ)。
Painterと見え方が違うときは何をそろえる?
Color Spaceが正しくても、画面に出すときの表示の変換が違えば見え方は変わります。比べるときは両方の表示をそろえます。
Mayaの既定の表示「ACES 1.0 SDR-video」は、ACESの出力変換でトーンマップをかけます。「Un-tone-mapped」はトーンマップをかけずに表示し、画像編集ソフトで見るのと同じようにテクスチャの値を確かめたいときに使えます(主に確認用・表示(View)の説明(公式))。
Painterのビューポートも色の管理の対象で、上部で表示の変換を選べます(公式)。PainterをACESの設定にし、Mayaでも同じOCIO設定ファイルをOCIO Config Pathに指定すると、色空間の名前と表示の変換をそろえられます(PainterはカスタムのOCIO設定ファイルも指定できます)。
Skydome LightのHDRI(.hdr・.exr)にも既定の規則でRawが付きます。中身がRec.709/sRGBのリニアなら、scene-linear Rec.709-sRGBに直します。ビューポートで見るときは、公式の推奨どおりFloating Point Render Targetを有効にします(無効だと色の階調が崩れることがあります)。最終の見え方は、Arnoldでレンダリングして確かめてください。
- Normal・Roughness・MetalnessにsRGB系の色空間を付ける
- リニアのEXRにsRGBを付ける
- 全部のFileノードでIgnore Color Space Input Rulesをオフにして、規則を適用し直す
まとめ:色の画像とデータのマップを分けて設定する
Substance PainterからMaya(Arnold)へ持ち込んだテクスチャの見え方が違うときは、まずテクスチャごとのColor Spaceと、表示の変換を確かめます。Mayaの既定の設定では、8bitのBaseColorはsRGBのままで正しく、Roughness・Metalness・Normal・HeightなどのデータのマップをRawに、EXRはPainterの書き出しに合わせてscene-linear Rec.709-sRGBかACEScgにします。ファイル名に$colorSpaceを入れて書き出し、Mayaの規則で自動に付くようにしておくと、アセットが増えても設定を間違えにくくなります。

コメント