Bake Texture ROP でポイントのカラーをレンダリングする


こちらの記事では、Bake Texture ROPでポイントアトリビュートのCdをテクスチャとして書き出す手順について紹介致します。

 

▼Bake Texture ROPとは

Bake Texture ROPは、対象となるジオメトリのレンダリング結果、またはいくつかのアトリビュートを、UVアトリビュートを使用してテクスチャにベイクする (テクスチャを書き出す) ことが可能なノードです。

こちらを使用することで、他のソフトウェアで頂点カラーと呼ばれるようなポイントのCdアトリビュートを、テクスチャとして書き出すことができます。

 

 

▼手順

それでは、簡単なオブジェクトに必要な設定を行い、テクスチャにベイクする手順を紹介致します。

  1. ジオメトリを用意します。こちらではSphereオブジェクトを作成しました。
     

     
  2. テクスチャのベイクには、対象のジオメトリにuvアトリビュートが必要です。Sphere オブジェクトにはデフォルトではuvがないため、 UV Texture SOPUV Unwrap SOP 等で追加します。
     

     
  3. ジオメトリにポイントクラスのCdアトリビュートを追加します。
     

     
  4. オブジェクトにシェーダを設定します。Material Palette の左側の欄から、 Principled Shader を ドラッグ & ドロップ して適用します。デフォルトのカラーが暗い場合は、Base Color を白に設定します。
     

     
  5. カメラを配置します。
     

     
  6. /out、もしくはROP networkノードの中で、 Bake Texture ROPを作成します。
     

     
  7. 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 ROPBaking タブで、 Disable Lighting/Emission のチェックを外します。

この設定を行うことで、Cでライティング後のCd情報を含めて書き出すことができます。