[Houdini] 再帰その2

前回の続きで再帰の話です。
前回のbgeoフィードバック方式の再帰構造に関して、井上先生よりご指摘頂いたので早速調査。


師曰く、

bgeo吐かなくても出来るみたいです
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=19669&highlight=
Soothsayerさんのファイルでグループを上手く使ってるみたいです

(前回のコメントより一部抜粋)

とのことで、なにっっっ!?となってデータをダウンロードし、確認してみたところ、
ものっっっっっっっっっっっっっっっっっっっっっっっっすごいシンプルなネットワークで再帰が実現されていました。
是非データチェックしてみてください。

このデータのポイントは井上さんの仰るとおり、POPのグループの使い方でした。
普通POPでは、上から下に処理が行われ、下流で作成したデータに対して上流の処理を適用することは出来ません。
ですがグループを使うことで、それが可能になる場合があるようなのです。
要はグループのスコープはPOPのグローバルで定義されており、グループ指定を適切に行なってやることで、下流のデータを
上流に持っていくことが出来る、という感じのようでした。

ただこれも、じゃあグループならなんでもグローバルで使えるのか、というとそうでもなくて、下流で定義したグループのみを上流のノードに突っ込もうとするとエラーが出るようでした。

上記フォーラムにSoothsayerさんがUPしていたサンプルのシーンでは、
下流で定義したグループと上流で定義したグループから新しいグループを作っていました。
もしかするとこういう場合にのみ限定的に使える方法なのかもしれません。

先日bgeo使えば再帰やれるんだぜ!とか言ったくせに、もっと良さそうなものが光の速さで出てきたわけですが、
一言言わせてもらうならば、bgeoフィードバック版の再帰では、1世代分の処理を作ってやれば良いので
POPのネットワークが比較的シンプルになるのに対して、こちらは若干ではあるもののPOPが複雑になりがちな様な気がしました。
場合によっては一旦ファイルに出したほうがあれこれシンプルになるケースも多いと思うので、
ケースバイケースで使い分けたら良いのではないかと思います。

また、再帰の流れとは逆になってしまうのですが、splitなどをした場合、
その下流では上流のパーティクルに対して処理が出来ませんが、グループ指定をしっかり行なってやると
collectなどをしなくても上流データにも一括で処理が出来るということになるようです。

実はPOPではsplitなどを行った場合、新たにParticle Systemを作成します。
これはあくまでも予想なのですが、通常POPはグループを指定しないと、現在のストリームの対象となるParticle Systemを割り出し、それに対して処理を行なっているのではないかと思われます。
しかしここにグループを入れてやると、処理の対象が明確になって、上流下流を無視した処理の適用が可能になるのではないかと思われます。
あくまでも仮説なので実際はどうだか分かりませんが、なんとなく感覚的にそんな感じかなと思いました:P

しかしこの再帰構造というものは、Houdiniの処理の流れを分断するというか、
感覚的に分かりづらい部分があるので、使用に関しては熟慮する必要がありそうですね。
とは言え僕はプログラム書く時から再帰好きで結構使っていたので、Houdiniでも隙あらばバンバン使っていきたいです:D

 
そして井上先生がこの方法を応用して作成された動画がこちら。

か、かっちょええ!!!!

というわけで僕もやってみました。
レンダリングしてないし飛ぶ方向がアレだしで、動画のクオリティは全く遠く及びませんが、
一応やりたいことは出来たんじゃないかと思います。

こちらもいつも通りデータをUPしておきました。
データダウンロード

日々の業務のご参考になれば幸いです:)

いやー、Houdini、まだまだ奥が深い。今後も精一杯精進します。

 
そういえば最近こういう動画をUPしてたりすると、Apprenticeじゃ解像度的にしんどくなってきました。
いよいよHD買う時期かなと思います。結局今まで必要ないからなーと思って買ってなかったのですが、そろそろ考えます。
ただバージョンアップでまたお金取られるとか嫌なので、SiggraphでのSESIの出方を見てからにします。
貧乏人はそうポンポンお金出せないんですよ:(

そしてHDでレンダリング出来るようになったら、プレイブラストでUPするのもアレですし、
Mantraとかもちょいちょい触っていきたいところ。夢が広がります。

コメントを残す

メールアドレスが公開されることはありません。