■ [Houdini日記]
ビルの壁面の構築の仕方を変えてる。
先週はcopy SOPで縦横に並べて反転して裏返す、みたいなことをやってたが、今回は元プリミティブのそれぞれのポリゴンの大きさと向きを調べて、1x1mで構築した壁面をちょうどいいサイズに拡縮してして貼り付けている。
なので、元プリミティブを変えるだけでビルの形を任意に変えられるようになった。(ただ「ポリゴンが地面に垂直」という前提だけは持ってる)
先週より見た目は地味だけどHoudiniの使い方としては進歩があったはず
Foreach SOPの使い方がだいぶわかってきたおかげで柔軟にモデル生成ができるようになった。
最初はAttribute Createだけでそれぞれのポリゴンの縦横サイズを$BBXなどから強引に縦横のサイズを出そうとしていたが、あまりにめんどくさいのでいっそVOPを使ってポリゴン重心とtangentから横幅を求めたほうが簡単、ということでVOPも自然に使えるようになってきあたりは収穫。
だんだんSOPノードとエクスプレッションだけで頑張るよりも、素直にVEXで組んだほうが早い、という感覚になってきた。そのうちWrangle書いたほうが早い、ということになってきそう。
最初は何をするにしてもそんなめんどくさいことしなくても何かうまいやり方があるのでは?と思ってたけど、柔軟性を考えるとプログラムを組むのと変わらない粒度でVEXで捏ね回すことになってくるのかな。
今日のハマりポイント
- Attribute VOPの中でアトリビュートを足したいときは、Add Attribute と Set Attribute を組み合わせ必要がある。Addはデフォルト値は設定できるが、値は足せないっぽい?
- Get Attribute や Set Attribute を使うときは、i1にptnumを入れないと、欲しい番号に出力されない。これでずっとはまってた