HoudiniのAttributeVOPを使ってボコボコさせてみよう
こんにちは。あるいはこんばんは。
デザイナーのFです。
私は最近少しずつではありますがHoudiniの勉強をしておりまして、
今回はAttribute VOPというノードを使ってポリゴンの表面にボコボコした
ディテールを付けてアイキャッチ画像のようなモデルを作ってみました。
では作成したノードを順番に見ていきましょう。
まずは①~⑦の解説をいたします。
①boxノード:ベースになるボックスモデルを追加するノードです。
②uvunwrapノード:UV展開ノードです。テクスチャを使用して凹凸をつけるためのUV展開を行っています。
③uvquickshadeノード:UV確認のためにチェッカーを表示するためのノードです。無くてもかまいません。
④groupfromattribboundaryノード:UVの境界部分のエッジをグループ登録しています。
⑤remeshノード:リメッシュノードです。三角ポリゴンでリメッシュしてポリゴン数を増やしています。リメッシュ時にUV境界が壊れないように④で登録したグループのエッジを除外しています。
⑥subdivideノード:ポリゴン分割ノードです。細かな凹凸を作るためにさらに分割を追加します。
⑦attribfrommapノード:テクスチャからアトリビュートを付与するノードです。頂点カラーにテクスチャを貼り付けています。今回はSubstance 3D Assetsにある岩壁マテリアルのハイトマップを使用しています。
続いて⑧~⑪の解説をいたします。
⑧attribvopノード(AttributeVOP):こちらが今回のキモになるノードです。
このノードの中にもこういったノードが入っています。
これは何をするものかというと、このattribvopノードまで降りてきた段階でのジオメトリのアトリビュートを取り出して操作することができます。
今回このノードを使って行っていることは、
直前のattribfrommapノードにて頂点カラーに書き込まれたハイトマップの色情報を元に、現在の頂点座標に対して頂点カラーの強い(白い)部分の頂点を法線方向に移動させるというものです。
さらに頂点移動の強さを調整するためのパラメータも実装しています。
これによって上記画像のように平坦なボックスに対して凹凸をつけることができます。
下記URLはattribvopノードの公式ドキュメントになります。
https://www.sidefx.com/ja/docs/houdini/nodes/sop/attribvop.html
⑨attribdeleteノード:任意のアトリビュートを削除するノードです。不要になった頂点カラーのアトリビュートを削除しています。
⑩polyreduceノード:ポリゴン数を削減するノードです。元の5%まで減らしています。
⑪normalノード:法線を操作するノードです。ハードエッジになっている部分があるので、全てのエッジをソフトエッジに変更しています。
これで最終的にボックスに対してハイトマップで凹凸のディテールを加えたモデルが完成しました。
同じようなことはMayaなどを使っても可能かと思いますが、Houdiniのいいところはこういうノードを一度作ってしまえばあとは好きなモデルや好きなテクスチャを読み込んでパラメータを調整するだけでいくらでもたくさんのパターンのモデルを作れるということだと思います。
本来であればMAYAやゲームエンジンに持って行ってテクスチャの設定まで行いたいところですが、今回は体験版ライセンスで作成を行ったのでFBXの出力は出来ないようでしたのでここまでとなります。
ちなみにHoudiniの体験版(Houdini Apprentice)については非商用目的のみで機能制限もありますが期間制限は無いようなので、Houdiniの学習用にはとてもいいと思います。
是非皆さんもHoudiniに触れてみてはいかがでしょうか?
https://www.sidefx.com/ja/products/houdini-apprentice/