Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/indyadmin/web/houdinifx/blog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
デジタルアセットのポータルサイト「Orbolt」には色々役立つアセットがありますが、今回はTexture Baker(https://www.orbolt.com/asset/SideFX::texturebaker)アセットをご紹介します。
このデジタルアセットは3Dシーンのライト情報を3Dモデルのテクスチャに焼き付ける、つまりベイクすることができる機能です。
Apprentice版ではテクスチャの解像度を下げれば機能しますがウォーターマークが付くのであまり意味がありません。
概要:
このアセットは、”bake”バンドル内の各オブジェクトに対してテクスチャマップをベイクします。
すべてのライト情報がそれらのテクスチャマップ自体にベイクされます。
これによって、PBR/GIライティングのままリアルタイムでオブジェクトを使用できるようになります。また、このアセットにはレンダリングされたテクスチャの エッジを広げるポスト処理が用意されているので、ジオメトリのUVシームに黒い線が入るのを防ぐことができます。
ベイクされた画像には、法線パス(オブジェクト空間)を持つ平面を余分に持っています。さらに”diffuse/light map”パスを書き出すこともできます。このパスは、テクスチャを除いたライティング情報のみが含まれます。
条件:
1. オブジェクトに(ポイントUVではなく)頂点UVがあること。
2. 頂点UVが重なっていないこと。
動作:
“Bake”ボタンを押すと、現行シーン内にSHOPNETとテイクが作成されます。
MATERIALS_BAKED SHOPNET・・・ベイクしたバージョンのマテリアルが格納されます。
BAKEDテイク・・・ベイクされたテクスチャでマテリアルを上書きします。
BAKED_DIFFUSE・・・Diffuseベイクされたテクスチャでマテリアルを上書きします。
DIFFUSE_MATERIALS・・・’diffuse’パスをベイクする際にアセット側で使用されます。
注意:
ベイク処理はポリゴンオブジェクトにのみ動作します。
デジタルアセットのオブジェクトをベイクしたい場合には、必要な部分を/objレベルでObject Mergeしてください。
`BAKED`テイクは、オブジェクトのマテリアルを上書きし、Geometryノードの”Ignore Geometry Attributes Shaders”にチェックを付けます。マテリアルをSOPレベルで割り当てていれば、BAKEDテイクでAttributeノードを追加し、”shop_materialpath”Primitiveアトリビュートを削除する必要があります。
これにより、ビューポートOpen GL内でオブジェクトレベルでマテリアルの上書きを更新することができます。
パラメータ:
Camera | オブジェクトすべてを網羅したカメラをここに設定します。 |
Bundle Name | ベイク処理で使用するバンドル名。 |
Add Bundle | 指定した名前のバンドルを追加します。 |
Baked Texture Path | 生成されたテクスチャマップの保存先。 |
Texture Format | 画像フォーマット。 |
Resolution | ベイクするテクスチャマップの解像度。 |
Pixel Samples | レンダリング/ベイクの処理で使用するサンプル。 |
Ray Samples | レンダリング時に使用する光線の数。画像の粒/ノイズを少なくするには、この数を上げます。 |
Noise Level | 最適サンプリングに使用します。この値を低くするほどノイズが少なくなります。 |
Bake Texture | 必要なテイクを作成し、ベイク処理を開始します。 |
Bake Separate Diffuse Pass | さらに’baked_diffuse’テイクを作成し、追加で画像をレンダリングします。 |
Texture Edge Expand | 黒い繋ぎ目がでないように、ベイクされたテクスチャの区画を広げるピクセル数。 |
Expand Textures | 指定した量で、ベイクされたテクスチャの区間すべてを広げる処理をします。 |
今回はこのシーンでテクスチャのベイクをやってみたいと思います。
テストするシーン:
この顔のモデルには事前に頂点UVを割り当てています。VertexアトリビュートにUVがなければこのアセットは機能しません。
![]() |
![]() |
Mantraでレンダリングした結果:
これからTexture BakerデジタルアセットのUIのパラメータを設定します。Cameraにカメラオブジェクトを指定し、次にAdd Bundleボタンをクリックします。これで”bake”という名前のバンドルが作成されます。
次にWindowsメニューのBundle Listをクリックします。
bakeバンドルにベイクしたいジオメトリオブジェクトを追加します。
![]() |
![]() |
Bake Textureボタンをクリックすれば処理が始まります。
これでベイクされたテクスチャが作成されます。