シマ12さんちの、のらりくらりな日々

忙しく奮闘しつつのらりくらりと問題解決?しながら過ごす日々

Houdini16.0でHtoAを使うことになった

今回は状況的に厳しかったので記しておく。

 

「Houdini16.0でベースの骨組みを作ったデータがあり、

それを使用して、Arnoldレンダリングをしたい」

 

という要請があった。

色々調べた結果こちらのサイト

 

https://qiita.com/kit2cuz/items/71a0974092b6e9cb1872

 

を参考にし、MAYAからマテリアル、ライトのデータをAss形式で持ってきて

Arnoldレンダリングできるかどうか試した結果、できたので良しとした。

 

ただし、後々「Houdini上で編集したものに対してマテリアルをつけられない」

という問題が浮上した。

 

上記サイトで使っている方法は基本Arnoldのバージョンが4.2以降のもの。

私が使用しているHoudini16.0で使用できるのはArnold2.1であり、

上記サイトで使用しているマテリアルを設定する方法は全滅。

(Arnold3.0でワンチャンあるのでは?とコメントいただいたが、変更したらArnoldが動かなかった)

 

ただ、Assを使用してライトやマテリアルのついたオブジェクトを持ってくることはできる。

だが、マテリアルのついたオブジェクトをHoudini上での編集は一切不可。

表示をフルジオメトリにしてもバウンディングボックスの□としてのみしか表示されない。

レンダリングするとAssデータの中身を見るので表示される)

マテリアルのみ取り出す、という行為もできなかった。

(マテリアル情報はAssの中に組み込まれており、分別不可能←多分)

ShaderのみでAssを出してみたがマテリアルとして適応する術がない。

(AssデータはArnold Includeオブジェクトで読み込むとObj内にしか入らずShopやMaterial内に入らないので適応選択ができない)

 

なかなかお手上げだーーーと思い、自分で打開策を作成。

最終的には自分で似たようなArnoldマテリアルを作って適応してレンダリングという結論だ。

マテリアルの適応もObjで選択してMaterialとして選択することしかできなかった。

(つまりマテリアルごとに違うObjとして作成しなければならない)

また、動くものに関してはUnpackしないとレンダリングすらできないという仕様。

Arnold2.1を使う方は色々要注意。