このチュートリアルを行うには、下記のチュートリアルを先にご一読ください。
PDGを使用して複数のオブジェクトに対して、テクスチャベイクをまとめて実行する
HQueue+TOPs = 複数のテクスチャベイク処理を複数マシンで一気にベイク!
現時点では、Substance Automation Tool kitをHoudiniから実行するTOPsノードは提供されていません。
そのため、Orboltで共有されていた下記のHDAを使用して試してみました。
https://www.orbolt.com/asset/ophi::sbs_uber_baker::1.0
Substance Automation Tool Kitに関してはこちら
※各クライアントPCにHDAをインストールしておくことをお忘れなく!
※HDA内にSubstance Automation Tool kitの実行ファイルはありません。別途、Substance Automation Tool kitの契約が別途必要です。
SOP内にRop netを作成し、インストールしたHDAから必要なベイク機能を作成します。
ここでは、CurvatureとAOを使用します。
下記では、sbs_curvatureのプロパティを元にご紹介いたします。
Executableでは、SATのsbsbaker.exeのディレクトリを指定します。つまり、全ての実行ファイルが同じ場所にインストールされている必要があります。
Input Geometryはベイクに使用するFBXを指定します。既に、自動UVで展開しなおしたジオメトリファイルをFBXとして出力するという処理を行っているため、その出力したFBXをワークアイテムごとに指定します。
Output Fileは、ベイクしたテクスチャの出力先ディレクトリです。
Output Nameは、実際に出力されるテクスチャ名ですが、ここはFBXのファイル名が入ります。
設定が終わったら、TOPsに移動します。
使用したHDAはBakerごとにノードが分かれているため、それぞれ実行するROP Fetchを作成します。
ROP FetchのROP pathで、Baker HDAを指定します。
設定が終わったら、Cook開始!!
クライアントPCを利用して、どんどんジオメトリが生成され、テクスチャがベイクされていきます!
Substance Automation Tool kitのBake機能を使用して、きれいにベイクできました!!
Houdiniのベイク機能より正直綺麗にベイクできるかもしれません。(特にCurvature・・)
下記はMantraでベイクしたものです。
Curavatureマップ比較
そしてベイク時間!!!!!
条件は同じですが、1台CPUが貧弱なPCなので、そこに降られたMantraジョブが遅くて、ベイク時間にかなり差がでました。
1分7秒と9分39秒!!!
ベイクは両方ともAOとCuravatureを2Kでベイクしています。
赤線のPCのベイクにめちゃくちゃ時間がかかる。
SATは、AOとCuravatureを分けてベイクしていますがそれほどPCでの時間が変わらずベイクされています。
2つのベイク処理を足して、1分で終わってるのでその高速ぶりに目を見張ります。
PDGにSubstance Automation Tool kitの純正ノードが早くできると嬉しいですね!