« Maya様、お前もか。 | トップページ | セーブしたばっかですよマヤ様? »

2013年6月 6日 (木)

N個おきに。

ひっさしぶりに ICE をいじってるのですが、相変わらず低レベルですよ、でもメモしとかないと忘れるじゃないですか。 ええ、すっかり忘れてましたよ。



ともかくですね、パーティクルのN個おきにどうこうする、ってのをやりたかったんですよ。 

色々方法はあるんでしょうがね、Modulo とかいうやつを使うのが分かりやすいかな、と今のところ思ってまして、そのメモです。

Everynth

クリックするとでかい画像が出ます。


普通にパーティクルを発生させているわけですが、パーティクルってのは生まれるたびにひとりずつ ID というアトリビュートが割り振られるんですね。出席番号みたいなやつですね。 Get Datathis.ID とやれば、取得できます。


で、N個おきになんかしたいのであれば、この ID の値を N で割って、余りがゼロであれば割り切れているということなので、つまり N の倍数であるということになるじゃないですか。  N の倍数であるということは、N 個おきの数値ということになりますよね。 ね? そうですよね? 合ってると言ってくれ。




ということで、ID を取得し、Modulo に突っ込んで、N の数値で割った余りを吐き出し(Modulo は割った余りを吐き出すノードです)、 If を使ってゼロとイコールかどうかを判断し、イコールなら N 個おきの ID にヒットしたということで、何かをセットするというツリーにしてみたつもりです。

N には 7 が入っているので7個おきです。 ヒットしたらパーティクルの色をに、ヒットしてなかったらにしています。 ビューポートの表示を見ると、7 の倍数のやつだけがになっているのがわかると思います。





・・・・・ってことでこれ、合ってますか? 合ってますよね? 合っていると言ってくれ。


上記サンプルシーンのダウンロード(2013)
JJJ_EveryNthParticle_XSI2013.zip



ひとつの PointCloud の中で色々な何かを混ぜたいとか、そういう時に使えそうですよね。 今回はパーティクルの ID に対してヒットかどうかの判断をしているので 「パーティクルN個おきに何かする」 ってことになりますが、例えば現在フレームに対してヒットかどうかの判断をすれば 「Nフレームおきに何かする」 ということもできると思います。




とかなんとか。 こんなのでも俺にとっちゃ大事な tips みたいなもんですよ。メモメモ。 将来のためにカンニングペーパーを作っているような気分ですね。 だって未だに何かするとき、自分のブログ検索しちゃうもんね。 すっかり忘れてるからね。 ええとこれ、やったことあったっけ? と検索すると自分のページが出て来ちゃって、でもさっぱり記憶にないのでつぶさにコピーして、わあできたできた昔の俺ありがとう、みたいな。 いつものパターンですよ。ええ。



しばらく ICE したいなあ。 でもまた中断期間が長くなるのは目に見えてます。 なんて効率の悪いアレなんでしょう。







.

|

« Maya様、お前もか。 | トップページ | セーブしたばっかですよマヤ様? »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: N個おきに。:

« Maya様、お前もか。 | トップページ | セーブしたばっかですよマヤ様? »