Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DCCツールを用いた広色域テクスチャワークフロー

 DCCツールを用いた広色域テクスチャワークフロー

CEDEC2023の講演資料です。

講演タイトル:DCCツールを用いた広色域テクスチャワークフロー
講演者:多田 航、鈴木 雅幸、山口 翔平

セッションの内容:
Substance PainterなどのDCCツールを用いて、アーティストがRec2020などの広色域テクスチャを作成する手法を解説します。
具体的にはWindowsのディスプレイ設定やDCCツールでのOpenColorIO設定の解説となります。

これにより、sRGB色域外のマテリアルを表現できる他、テクスチャからレンダーターゲットまで描画パイプラインをRec2020で統一する事が出来ます。
また、広色域テクスチャを扱う時に考慮するべき物体色の限界についても解説します。

Bandai Namco Studios Inc.

December 15, 2023
Tweet

More Decks by Bandai Namco Studios Inc.

Other Decks in Technology

Transcript

  1. 自己紹介 主に関わったタイトル ・ACE COMBAT6 ・ACE COMBAT ASSAULT HORIZON ・テイルズ オブ

    カードエボルブ ・アイドルマスター ミリオンライブ! ・ポッ拳 ・New ポケモンスナップ 多田 航 Wataru Tada 過去の講演 ・CEDEC2011 ACE COMBAT ASSAULT HORIZONにおける継続的インテグレーション ・CEDEC2011 「エースコンバット アサルト・ホライゾン」インゲームカメラ制作事例 ・CEDEC2015 ポッ拳におけるゲームエディタの設計と実装 ・CEDEC2019 家庭用ゲーム開発におけるゲームエディタの基礎設計と、安定かつ高速なアセット管理について ・CEDEC2019 DirectX Raytracingを用いたライトベイカーの実装について ・CEDEC2021 『New ポケモンスナップ』におけるライティング ・CEDEC2022 MaterialXとStandard Surfaceのゲームグラフィックスへの応用について など 主に関わったタイトル ・New ポケモンスナップ 山口 翔平 Shohei Yamaguchi 過去の講演 ・CEDEC2020 信頼性の高いHDRI作成術 ・CEDEC2021 『New ポケモンスナップ』におけるライティング 鈴木 雅幸 Masayuki Suzuki 過去の講演 ・CEDEC2008 リニア空間と物理的に正しいライティング ・CEDEC2019 『大乱闘スマッシュブラザーズ SPECIAL』~お借りしたIPをできるだけ綺麗に描くために ・CEDEC2020 信頼性の高いHDRI作成術 ・CEDEC2021 レイトレ時代のゲームグラフィックス、地に足をつけて備えよう - NVIDIA Falcor で次世代品質 のリアルタイム物理ベース照明を手軽に素早く検証する - ・CEDEC2021 『New ポケモンスナップ』におけるライティング ・CEDEC2022 MaterialXとStandard Surfaceのゲームグラフィックスへの応用について キャラモデリング、モーション、背景、 ライティングアーティスト、シェーダー アーティストを経て、現在はTAとして グラフィックに関する研究や各プロジェ クトのサポート業務を行っています。
  2. ピクセル値と色 • (1.0, 0.0, 0.0)と(1.0, 0.0, 0.0)だとどちらが彩度が高いか? • → 正解は分からない

    同じかもしれないし、違うかもしれない • なぜか? • → 色空間の指定が無いから • Rec.2020の(1.0, 0.0, 0.0)とsRGBの(1.0, 0.0, 0.0)だとRec.2020 の方が彩度が高い • つまりピクセル値は色空間とセットになって初めて色が決まる • 「そんなことは気にしたことが無い!」と思われるだろうが、 それはこれまでsRGBでしか作業をしてこなかったから
  3. sRGB Rec.2020 RGB_to_XYZ ・立方体がRGB空間 ・点群が物体の色 ・ XYZに変形することで0-1に収める ・XYZ空間が絶対座標で、 RGB空間は相対座標をイメージ ・XYZは保存用または変換のハブの用途な

    ので直に描くには直感的ではない ・Yが明るさを表しているのが特徴 ※Rec.2020では物体色のはみ出る量が少なく、 XYZへの変形量も小さい
  4. sRGB色域外を実際に計測 コニカミノルタ 色彩輝度計 CS-150 α7R III 現像設定 • WバランスはD65が白になるような設定 •

    カメラネイティブの色域でニュートラルに現像 • 色域判定時にカメラマトリクスも適用
  5. 狭い色域でのレンダリングと写真との違い • ポスト処理等に影響する • 高輝度の色やブルームの色の違い • ホワイトバランスの違い • 理由 •

    色域が狭いと高彩度のピクセルはチャンネルが0になったり小さくなり 余裕がない 一方カメラでは色域が広い状態で処理されその後に表示空間に変換
  6. camera space R G B 0.99 3.53 1.20 sRGB space

    R G B 0.95 1.02 1 camera space R G B 0.99 1 1 sRGB space R G B 0 5.06 0 高輝度の色の違い •左がsRGBにそのまま変換 •右がカメラ色域でクランプしてから変換 実際にはモニタのターゲット輝度によって ソフトクリップするのが良い
  7. ホワイトバランスの違い x y 0.685481, 0.314148 0.437236, 0.518884 0.185182, 0.723421 0.159008,

    0.361109 0.13555, 0.0514863 0.30236, 0.13068 高彩度のライトを実際に当ててホワイトバランスを取る実験
  8. スペキュラ除去したカラーチェッカー カラーチェッカーのスペキュラを除去するテストを行った 偏光フィルタと色彩輝度計を使用した スペキュラ除去する場合はライトに偏光フィルムを付け計測器にはカメラ用 の偏光フィルタを付けて計測した ライトは45度から当て正面から計測する 偏光を使わない場合はno22が反射率0.19(8bit値121)になるように調整 →(詳細は BNS_CEDEC2020_信頼性の高いHDRI作成術 p153)

    偏光を使わない場合はno22が反射率0.138(8bit値104)になるように調整した ※反射率0.138(8bit値104)について 紙を裏から光を当て無偏光の拡散の透過を撮影叉は計測し偏光フィルタ の減光を調べ、通常の撮影と比較し推測している ※偏光を使ってスペキュラを除去できる測色計があるようなのでそれを使う 方が正確(測定照明条件M3)
  9. カラーチェッカー sRGB色域外は1個 スペキュラ除外したカラーチェッカー sRGB色域外は6個に増えた 116 83 69 194 147 127

    92 119 155 92 107 65 128 126 173 97 186 169 220 124 47 69 92 171 194 86 97 89 57 102 163 189 65 222 156 39 35 64 147 70 146 70 169 60 57 233 196 19 184 86 148 0 132 163 241 239 234 197 198 198 159 160 161 121 121 121 83 84 85 51 50 51 102 60 39 185 133 109 71 103 142 72 91 38 117 114 163 79 179 161 216 112 0 45 81 163 187 67 81 75 35 88 155 180 41 222 150 0 0 37 137 44 137 43 161 0 15 233 190 0 179 64 135 0 120 155 241 238 232 193 194 192 151 151 151 104 104 104 59 62 62 9 16 15 スペキュラ除去したカラーチェッカー
  10. 広色域の注意点 広色域では物体色を簡単に超えてしまう • 例えばRec.2020でRGB(0.8,0,0)と入れると物体色をはみ出てしまう • 一方RGB(0.8,0.8,0.8) は問題ない • sRGB色域ではこういったことは起きない sRGB原色

    Rec.2020原色 Rec.2020の原色をdiffuseにすると物体色を超える Rec.2020でレンダリングしてRec.2020のHDRモニタで表示した写真をRec.2020色域で現像 ※Rec.2020のHDRモニタで確認するとRec.2020の原色のマテリアルは 発光しているように見えてしまう
  11. yellow orange pink green blue R G B R G

    B R G B R G B R G B XYZ 0.775 1.088 0.120 XYZ 1.005 0.667 0.047 XYZ 0.821 0.441 0.557 XYZ 0.221 0.538 0.104 XYZ 0.213 0.315 0.749 sRGB 0.780 1.294 -0.052 sRGB 2.208 0.279 -0.031 sRGB 1.704 0.055 0.545 sRGB -0.165 0.800 0.013 sRGB -0.167 0.416 0.739 Rec.2020 0.913 1.243 0.080 Rec.2020 1.476 0.409 0.033 Rec.2020 1.111 0.175 0.521 Rec.2020 0.161 0.725 0.079 Rec.2020 0.064 0.379 0.695 蛍光ペンの計測 Rec.2020は反射率を100%以上持たせれば色域内に収まる sRGBでは反射率を100%以上持たせたとしてもマイナスがある部分は彩度が足りないといういことになる 白い紙に蛍光ペンを塗って計測
  12. R G B 日 向 日 影 ( 青 空

    ) 蛍光の見え方は光源でかなり違う 青空光ではRチャンネルでみると光が弱いにもかかわらずオレンジとピンクは強く反応 Gチャンネルでは黄色が強めに反応している
  13. Diffuse Albedo IBL 平行光源 レンダリングスペース等の設定 今 ま で の ワ

    ー ク フ ロ ー 広 色 域 ワ ー ク フ ロ ー 蛍光をレンダリング 通常のsRGB色域フローとの主な違いを示した • Diffuse Albedoは1以上の値が必要なためEXRで用意した • ライトの値もRec.2020の値 • レンダリング色域もRec.2020にする • 表示はsRGBにした(Rec.2020のモニタで見るのなら表示はRec.2020) • 広色域ワークフローでレンダリングで行った ※実はこの白い紙のプリント紙の青は8bit255超えている。 白い紙は蛍光増白剤が含まれてることが多い
  14. 色域変換による制限 • sRGB色域はRec.2020色域よりも狭い色域なので、 sRGBテクス チャをRec.2020テクスチャに変換すると、テクスチャの値が制限さ れてしまう 色域変換例 sRGB (1,0,0) →

    Rec.2020 (0.6274,0.0691,0.0164) • PBRではBaseColorテクスチャは拡散反射の反射率として扱われて いるので、 BaseColorテクスチャをsRGBからRec.2020へ色域変換 した場合、反射率が制限されることになる →反射率が高いマテリアルを表現出来ない sRGBテクスチャでは表現できないマテリアル
  15. sRGBフラグについて • 人間の目は暗部に敏感に反応する • 8bitテクスチャの中で暗部の情報量を増やすため、テクスチャにはsRGBフラグが用意されて いる • sRGBフラグはGPUでリニア値に展開されるため高速に処理できる (DirectXでのDXGI_FORMAT_R8G8B8A8_UNORM_SRGB) •

    8bit Rec.2020テクスチャも暗部の情報量を増やすためsRGBフラグをONにして使用する リニア値 sRGBフラグONのテクスチャに格納される値 リニア値 GPU処理 0 0.25 0.5 0.75 1.0 0 0.25 0.5 0.75 1.0 0 1.0 0.5371 0.7354 0.8808
  16. sRGB Rec.2020 sRGBの8bitのグラデーションで比較した(ディザを無効にした256諧調のグラデーションを幅2048ピクセル) Rec.2020はsRGBのグラデーションを→ sRGBデガンマ → Rec.2020色域変換 → sRGBガンマエンコード →

    8bit Rec.2020テクスチャとして保存 → sRGBデガンマ → sRGB色域変換 → sRGBガンマエンコード を表示 階調について sRGB Rec.2020 sRGB Rec.2020 sRGB Rec.2020 sRGB Rec.2020 sRGB Rec.2020 sRGB Rec.2020 普通に見る分には特に問題ないが 強調すると高彩度部分の諧調劣化が 分かる ディザが入れば目立ちづらい
  17. アプリケーションのHDR/SDR判別 • HDRモニタを使用して、Windowsの設定 > システム > ディスプレイから「HDRを使用する」 を有効にしておく • 設定

    > システム > ディスプレイ > HDR を開く • 「SDR コンテンツの明るさ」のスライダーバーを動かした時に ウィンドウの明るさが変わらないアプリケーションはHDRアプリケーション、 ウィンドウの明るさが変わるアプリケーションはSDRアプリケーションとなる 「SDR コンテンツの明るさ」のスライダーバーを一番左に設定すると、モニタは80nit出力となる (Windowsのバージョンによっては「HDR/SDR 明るさのバランス」や「SDRコンテンツの表示」と表記されている) HDRビデオを表示したChrome(HDRアプリケーション) メモ帳(SDRアプリケーション)
  18. OpenColorIO(OCIO) • カラーマネジメントを行うライブラリや設定群 • githubで公開されている • 2021年1月にバージョン2.0.0がリリースされた (OpenColorIO v2) •

    Configファイルを記述することで、色域変換を定義することが できる • アーティストさんからするとDCCツール上のカラーマネジメン トシステムとして見える https://github.com/AcademySoftwareFoundation/OCIO
  19. プリインストールOCIO Config • Substance PainterにはプリインストールされたOCIO Configが あり、プロジェクト設定から選択できる • C:¥Program Files¥Adobe¥Adobe

    Substance 3D Painter¥resources¥ocio • 各フォルダのconfig.ocioを読むと処理内容を把握できる フォルダ名 config.ocioの内容 substance sRGBをリニアライズするワークフロー aces_1.0.3 ACES AP1(ACEScg)が作業カラースペース aces_1.2
  20. 作業カラースペースについて • 「作業カラースペース」とは内部的な計算が行われるベースと なるカラースペース • 一般的に作業カラースペースにはACES AP0またはACES AP1 が使われている場合が多い •

    ACES AP0 = ACES2065-1 • ACES AP1 = ACEScg • 今回は作業カラースペースをRec.2020とした • HDRゲーム用にワークフローを構築しているため • 自分達の意図したワークフローに設定することが重要
  21. ビューポートのカラーマネジメント • CMS(カラーマネジメントシステム)にOCIOを使用すると ビューポートのカラーマネジメントが有効になる • しかしACES 1.2ではビューポートの見た目にRRTが含まれる • ※RRT(Reference Rendering

    Transform) フィルムの特性を考慮したルック 参考資料: https://area.autodesk.jp/column/trend_tech/scene_linear_workflow/04_fujifilm/ • OCIOで管理されていないソフトウェアとの見た目が異なるた め問題となる可能性がある • そこでOCIOの設定ファイルを編集しRRTの含まれない規格通り の表示を行う
  22. DCCツール OCIO Configの対応項目 Maya displays Houdini (Karma) active_views Substance Painter

    active_views DCCツールとOCIO Config • OCIO Configの仕様は決まっているが、DCCツールごとに Configの表示名が異なる DCCツールのView設定
  23. データデバッグツール • テクスチャの色域間違いを目で見抜くのは難しい場合があるので、 画像ビューワなどのデータデバッグツールを作成して対応する デバッグツール例 機能 目的 テクスチャ色域変換表示 色域間違いを調査する sRGB色域外のピクセルを表示

    Rec.2020テクスチャを使わないと表現できない ものかどうか確認する 物体色を外れたピクセルをエラー表示 意図していない色でテクスチャを作成してし まっているかどうか確認する デバッグ機能例
  24. 色域の違いによる見え方の変化 • モニタとテクスチャの色域によってテクスチャの見え方が変わる • テクスチャが低彩度、高彩度に見えた時は色域とモニタの設定を 確認する テクスチャの種類 sRGBモニタ sRGBモニタ (ソフトウェア側の

    カラーマネジメント対応済み) Rec.2020モニタ Rec.2020モニタ (ソフトウェア側の カラーマネジメント対応済み) sRGBテクスチャ 正しく見える 正しく見える 高彩度に見える 正しく見える Rec.2020テクスチャ 低彩度に見える 正しく見える 正しく見える 正しく見える Rec.2020に変換したsRGBテクスチャ 低彩度に見える 正しく見える 正しく見える 正しく見える
  25. HDRスクリーンショット • 在宅作業を行っていると他のアーティストのモニタを直接見る ことは出来ない • Windowsのリモートデスクトップやメッセンジャーアプリなど の画面共有ソフトはHDRに対応していない →HDRに関する情報共有はWin + Alt

    + Print Screenキーによる HDRスクリーンショット(.jxrファイル)や、レンダーターゲット をAVIFファイルに変換して使用している AVIFファイル 2019年に公開された、HDRを扱える画像フォーマット
  26. AVIFファイル作成ツール例 DirectXTex::LoadFromEXRFileなど 画像ファイル ピクセル値 Rec709 Linear OETFのRGBA 16bit floatまたは32bit float

    libavif用RGB Y410(YUV444 10bit) avifImageRGBToYUV avifEncoderAddImage、avifEncoderFinish AVIFファイル PQエンコードされたRGB各uint16_tフォーマット CPUでRec.2020 PQに変換