アーカイブ : 2014年 3月

[houdini] 分散シミュレーション

今現在自分の中で熱いエントリー!

http://www.dfx.co.jp/dftalk/?p=11779#more

DF TALKは勉強になるので度々拝見させていただいてます。
有益な情報ありがとうございます!

現在仕事でFlipを使用しているのですが、このエントリーを見て目から鱗が落ちるとはまさにこれかと。。。
僕の中ではシミュレーションは分散できるものではないと勝手に思い込んでいました、どうやら違うみたいです。。。
なのでそんな手法があるのか調べもしていなかったのですが、Houdiniのシェルフにがっつりデフォルトで用意されているではないですか。
というか他のツールも分散できるのでしょうか?
RFとかFumeとかその他シミュレーションできるツールいっぱいありますけど。

ちょっとシンプルなシーンで実験です。
続きを読む

[houdini] VEXノード:modulo

moduloノード
2つの値から余りを計算するノードです。

mayaの演算子「%」と同じです。剰余ってことです。

剰余ってどういったときに使うのかと、melを勉強しはじめのときは良くわからず使用用途を調べたりしました。
例えば「$int % 2」は偶数、奇数かを判断するときなどに使用したりします。
$intが偶数であれば割り切れるので「0」、奇数であれば割り切れないので「1」という訳です。

modulo_1

Point Numberで偶数、奇数を判断してます。

[houdini] VEXノード:fit range

fit rangeノード
ヘルプによれば「ソース範囲をターゲット範囲に一致するようにシフト」です。

mayaでいうとカーブ関数「linstep」が近いですかね、たぶん。
source Min・MaxをDestinationMin・Maxに比例した値を返すってことです。

fit_range_1

z軸上にランプでグラデーションさせてます。
rampノードでは0~1までしか返せないようなので、fit rangeノードで-4~4の範囲をsourceに設定しています。
fit rangeとrampの組み合わせはよく使うと思います!

[houdini] VEXノード:length

lengthノード
ヘルプによれば「3D/4Dベクトルの長さを計算します」

mayaユーザーにとってはmelでいうところの、ベクトル関数「mag」にあたると理解すればいいと思います。
ベクトルを浮動小数点数に変換し、長さを求めます。
計算式は下記の通りです。
length_1
高校生でベクトル習ったときにみんな普通に勉強してるところですが、僕はちっとも覚えてません!
過去に戻れるならあの頃の馬鹿な自分を叱ってやりたい。。。

length_2

↑画像のようにポイントの速度で色変更したりなどなど、使用する機会は多いと思います。

[houdini] VEXノード:bind

bindノード
ヘルプによれば「VEXにバインドするアトリビュートを設定」とある。
え?って感じです。

houdiniの敷居が高く感じる理由はヘルプのわかりにくさもひとつの要因であると思います。
何事もそうだと思いますが物事をはじめるにあたり、分かりやすさ、やりやすさっていうのも重要なポイントじゃないですか。
もしそれがそうじゃない場合は自分の情熱や根性、たくさんの時間を費やしての努力でカバーするしかないわけで。
愚痴以外の何物でもないですが…日本語ヘルプもっと充実してくれないですかね、英語とかもう勉強する頭ないですw
今はhoudiniに対する情熱と根性で地道に行きましょう。

続きを読む