3dsMaxの流体プラグインFumeFXのメモを今回から数回に分けて公開します。改めてまとめてみると、いろいろ発見があるものですね。今回は作成時のパラメータメモバージョンは3.5です。<General Parametersロールアウト><Viewport ロールアウト>●ショートカット: = FumeFX UIを表示する間違い等ありましたら、ご指摘いただけると助かります。その1 ?,その2 ,その3 ,その4 ,その5, その6, その7, その8, その9RayFireのパラメータ意訳メモ[...]
read more
Houdini回。Wrangle(SOP)のVEX例文。メモより抜粋、その2。その1はこちら!入力を取得@OpInput1 //1番目の入力@OpInput2 //2番目の入力@OpInput3 //3番目の入力@OpInput4 //4番目の入力アトリビュートを取得とか#1番目の入力のdensityを取得density = findattribval( @OpInput1, "primitive", "name", "density");[...]
read more
Houdiniメモ。カメラクリップのWrangleを書くのが面倒なので、コピーできるようにココに書いておく。vector _ndc = toNDC("/obj/cam1", @P);float _ox=ch("ox");float _oy=ch("oy");float _oz=ch("oz");if ((_ndc>1+_ox)) removepoint(geoself(), @ptnum); if ((_ndc>1+_oy)) removepoint(ge[...]
read more
Houdini回です。VOP SOPを使って速度に色をつけます。個人的には、よく使う組み合わせです。例えば、FLIPのキャッシュデータに色つけたい時とかに使ってます。ここでは、速度によって赤青緑の3色を割り当てています。赤→青→緑の順に速度が速くなっています。VOP SOPの中身はこんな感じ。ざっくり解説すると、"global"から速度ベクトルを取得。"Lenght"ノードで速度ベクトルの大きさを求める。"fit range"ノードで範囲を調整する。"ramp parameter"ノードで範囲に色をつける。バージョンは[...]
read more
Houidini小技回、その6Image Color PickerColor Editorの右上部にあるボタンを押すと、画像から色をピックするモードに切り替わります。任意の画像を読み込んで、それから色をピックできます。これ最近、知りました。カメラのハンドルツールで表示される赤枠カメラのハンドルツールでビュー上に表示される赤枠。これをグリグリいじると、レンダリング時の上下左右のCropができます。パラメータの〜Cropが操作できていた。これ、操作したことなかった。疑問にも思ってなかったヨ。MplayのDisconentプレビューで作成したMpa[...]
read more
Houdini勉強回。取り上げるのはForループとTimeShift(SOP)。ここで言うForループとは、Block Begin/End(SOP)ノードによる繰り返し処理のことを指しています。これとTimeShift(SOP)の併用についてがメインテーマです。上図のように、Forループ内にTimeShift(SOP)を組み込んだ場合、大抵TimeShift(SOP)が機能しないのですが、まれに機能している例を見かけ、はて?と思いリサーチしてみた次第です。結論から述べると、現状Forループ内でTimeShift(SOP)が機能するのは、以下の2パターンのみ。[...]
read more
Houdini回!Geometry Wrangle(DOP)で強制的に、アトリビュートvとwを減衰させる方法です。「RBD PackedでPOP Drag Spin(DOP)使うとおかしなことになる」、というので、代わりになるものはないかと調べたらodforceに減衰についてのスレッドが立ってました。ありがたや。何もしないのとの比較動画を作ってみました。上が通常、下がWrangleでのDamping有効。DOPネットワークは標準的なRBDの組み方。赤く色付けたノードGeometryWrangle(DOP)に以下のようなVEXコードを書いて、減衰させているそう[...]
read more
Houdini勉強回。Nameアトリビュートをもとにグループを作る方法と、グループをもとにNameアトリビュートを作る方法。いろいろ方法はあると思いますが、簡単な方法をPick Upしました。Name Attribute -> Groupまずは、NameアトリビュートからGroupを作る方法。Partition(SOP)を使うことでそれができます。Partition(SOP)は、ユーザーの定義したルールでグループを作るノードです。パラメータの"Rule"に下図のように、`@name`と記述します。これで、Nameアトリビュート名[...]
read more
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read more
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編2)まずは前回の失敗から。一方向の移動にしか、車輪の回転が実行されませんでした。原因は計算に使ったのがX軸方向の移動距離だけだったからです。他の軸も考慮に入れなければ・・・。そこで管理人、思った。「これは、大変そうだなぁ~」できれば「前回のExpressionをちょっと書き直したらできちゃった」が望ましい。そこで管理人、まじめに思った。「オブジェクトスペースで座[...]
read more