DaVinci Resolve でルックアップテクスチャをオーサリングする
以下のプロセスは DaVinci Resolve を使っていますが、Photoshop や Nuke など、その他のデジタルコンテンツ作成ツールを使うことも可能です。
ステップ 1: HDRP アセットを設定します
プロジェクトに使うルックアップテクスチャ (LUT) サイズを決め、プロジェクトの HDRP アセット で設定します。LUT サイズは、HDRP アセットの Grading LUT Size プロパティーを使って設定します。
Resolve はサイズが 33 の LUT のみをエクスポートしますので、Grading LUT Size を 33 に設定し、正常に作動するようにしてください。
ステップ 2: カメラビューを EXR ファイルにレンダリングします
既存の カメラ のビューをログエンコードされた EXR ファイルにエクスポートします。手順は以下の通りです。
- シーンビューまたはヒエラルキーで、カメラコンポーネントを含むゲームオブジェクトを選択します。
- Edit > Render Pipeline > Render Selected Camera to Log EXR を選択します。(または Ctrl+Shift+Alt+E を押します。)
- EXR ファイルを保存します。
EXR ファイルをエクスポートしたら、データを Unity が使うフォーマット (Alexa LogC El.1000) からリニアRGB 空間に変換し、外部ソフトウェアが使えるようにします。HDRP には即時変換可能な LUT が用意されています。これらは次の手順で取得します。
- Package Manager ウィンドウを開きます (メニュー: Window > Package Manager)。
- 左側にあるパッケージリストから High Definition RP を選択します。
- Samples セクションで、Additional Post-processing Data の隣の Import into Project を選択します。
- これにより LUT が Assets/HDRP Sample Content/Post-processing/Cube LUT/ にインポートされます。
ステップ 3: Resolve を設定します
Resolve でカラーグレーディングを開始する前に、Unity の EXR ファイルと使えるように Resolve を設定する必要があります。手順は以下の通りです。
- Resolve でカラのプロジェクトを作成します。
- File > Project Settings を開き、Color Management パネルに行きます。
- Lookup Table セクションで、Open Lut Folder ボタンをクリックします。これにより、Resolve の LUT が格納されている場所でプラットフォームのファイルエクスプローラーが開きます。
- エクスプローラーで新しい Unity フォルダーを作成し、以前に Unity からインポートしたすべての LUT をフォルダーにコピーします (ステップ 2 参照)。
- Resolve に戻り Update Lists ボタンをクリックします。
- 3D Video Monitor Lookup Table を Linear to sRGB r1 に設定します。
ノート: 通常、ステップ 1-5 は一度しか行う必要はありませんが、ステップ 6 はプロジェクトごとに実行します。
次に EXR を Resolve にインポートし、Unity Log To Linear r1 LUT を適用します。LUT を適用するには次を実行します。
- Resolve で EXR ファイルを右クリックします。
- コンテクストメニューで 3D Lut を選択します。
- Unity Log To Linear r1 LUT を選択します。
ステップ 4: カラーグレーディングを適用します
これで画像のグレーディングを開始できます。なお、LUT はローカル操作または隣接するピクセル (ブラーやシャープなど) に影響するフィルターを格納することはできませんので、必ずグローバルなカラー操作のみを実行するようにしてください。
ステップ 5: 作品を CUBE ファイルとしてエクスポートします
グレーディングが終了したら、作品を CUBE ファイルとしてエキスポートします。Resolve でこれを実行するには、グレードされたクリップを右クリックし、メニューで Generate 3D LUT (CUBE) を選択します。
CUBE ファイルを Unity プロジェクトの Assets フォルダーに保存します。
ステップ 6: CUBE ファイルをシーンにインポートして使います
Unity は CUBE ファイルを利用可能な Texture3D アセット として自動変換します。このCUBE ファイルは、ボリューム内の Tonemapping オーバーライドで使うことができます。これは次の手順で行います。
- シーンまたはヒエラルキービューで、ボリュームコンポーネントを含むゲームオブジェクトを選択し、Inspector で表示します。
- Inspector で Add Override > Post-processing を選択し、Tonemapping を選びます。
- Tonemapping の Inspector で、Mode を有効にし External に設定します。
- CUBE テクスチャを Lookup Texture プロパティーに割り当てます。
- Contribution を変更し、どれくらいの Lookup Texture がシーンに付与するかを設定します。
引き続き Resolve でカラーグレードを行い、以前保存した CUBE ファイルをオーバーライドできます。Unity は変更を含んだシーンのグレーディングを自動更新します。