こちらの記事では、Bake Texture ROPでポイントアトリビュートのCdをテクスチャとして書き出す手順について紹介致します。
▼Bake Texture ROPとは
Bake Texture ROPは、対象となるジオメトリのレンダリング結果、またはいくつかのアトリビュートを、UVアトリビュートを使用してテクスチャにベイクする (テクスチャを書き出す) ことが可能なノードです。
こちらを使用することで、他のソフトウェアで頂点カラーと呼ばれるようなポイントのCdアトリビュートを、テクスチャとして書き出すことができます。
▼手順
それでは、簡単なオブジェクトに必要な設定を行い、テクスチャにベイクする手順を紹介致します。
- ジオメトリを用意します。こちらではSphereオブジェクトを作成しました。
- テクスチャのベイクには、対象のジオメトリにuvアトリビュートが必要です。Sphere オブジェクトにはデフォルトではuvがないため、 UV Texture SOP、UV Unwrap SOP 等で追加します。
- ジオメトリにポイントクラスのCdアトリビュートを追加します。
- オブジェクトにシェーダを設定します。Material Palette の左側の欄から、 Principled Shader を ドラッグ & ドロップ して適用します。デフォルトのカラーが暗い場合は、Base Color を白に設定します。
- カメラを配置します。
- /out、もしくはROP networkノードの中で、 Bake Texture ROPを作成します。
- UV Object 1に、テクスチャをベイクしたいジオメトリを選択します。また、Images > Main タブで、ベイクしたい項目を選択します。Surface Unlit Base Color にチェックを入れることで、 base color としてレンダリングすることができます。
これにより、ジオメトリのポイントのCd(頂点カラー)の色をテクスチャにベイクすることができます。以下の画像は、 Bake Texture ROP の Render to Mplay ボタンを押したときの画像です。base colorは、シェーダのBase ColorにCdを掛けた値になります。
ライティング後のCd情報を含んだレンダリング結果を出力する場合は、ライトを追加で配置します。その後、 Bake Texture ROP の Baking タブで、 Disable Lighting/Emission のチェックを外します。
この設定を行うことで、Cでライティング後のCd情報を含めて書き出すことができます。