massFXのtimescale

久々ですね年の瀬ですね。

 

maxのmassFXシミュレーションでスローとか可変とかする時にどうするのかわかったのでメモ。
ちょっとテクニカルむけ。

まず前提として、
元々、massFXやmParticles、rayfireなどのツールでは物理演算のエンジンとしてphysxというものを使用してるので、
根本的な動きの精度や制限はほぼ同じはずなんです。
maya,max,SIがどれもレンダーはmentalray使ってるけど乗せ方の違いとかで出来る事に差が出てるような感じのアレ。

逆に言うと、同様のエンジンなのでシミュレーションの精度やなんかの限界みたいのにぶち当たったら、別口でこれらを試しても根本的にエンジンが変わらないので解決できないかもー、とかそんな判断も出来ます。
ちなみにornatrixのベースのヘアダイナミクスとかもphysxです。調べてみたらblur等はそっち使わずcloth方式にしてるそうです。
(この辺り使用しているエンジンの問題なのかソフト単体の問題なのか切り分けて考えられるとイイデスネ。TPとかICEは物理エンジン複数積んでるので使い分けられたり。

 

で話を戻して、mParticleではスキニングしたオブジェクトのコリジョンができたりraifireの方ではシミュレーション中のスローとか出来たりとか、その辺りの差が出てくるのは制限の中で工夫してたり、実はphysxエンジンではできるけどなにがあったかUIに乗せてないとかあるっぽいのですが(適当
physxの仕様自体にはタイムスケールあるらしいから、出来るんじゃないかなー(願望)
とmaxフォルダの中見てたらありました。

C:\Program Files\Autodesk\3ds Max 2014\stdplugs\stdscripts\(MassFX)

px_globals.ms

この中の776行目辺りに

local delta = 1.0/frameRate

というなんかそれっぽい記述が。1.0決め打ち・・!
で、実際にこの値を制御できるように

my_tracks = newTrackViewNode “K_Physx”
test_ctrl = bezier_float()
addTrackViewController my_tracks test_ctrl “TimeScale”

でトラックビューにパラメーター追加して、スクリプトの方は

local delta = (trackViewNodes[“K_Physx”][“TimeScale”].value)/frameRate

って改造したパラメーターを参照するようにしてみたら

デキマシタワー!

パラメーターアニメーションさせれば途中からスローみたいな処理もできた。massFXクロスの方にも適応されます。
ちなみにシミュレーションのサブステップ数とか精度の問題で、スローにした時と早送りで結果がずれる事もありますからご留意ください
あと、massFXのシミュレーションはベイクされるので、シミュかける作業用PCだけ対応しておけば
レンダー時のマシンは元のpx_globals.msのままで大丈夫です。

不要になってコントローラ消したい時は
deleteTrackViewNode trackViewNodes trackViewNodes[“K_Physx”]
で消えますので、テストで作っちまっただああああというときはこちらで。

上のはシーン直にパラメータ追加してみてますが
要は1.0のとこをどうにかすればいいので
みなさま使いやすいように改造してみてください。

 

ちなみにですが、これと似た感じでmaxのクロスもトラックビュー開いてみるとtimescaleのパラメーターがあって、
いじって見るときちんと反応します。
ただこちらはアニメーションには対応していないようで、ちょっとUIから隠れてるのはその辺りのせいかなーと。

massFXの改造も自分では使えていますが環境とかシーンとか何かしか問題出る可能性は残ってるので、
いつも通り自己責任で試してみてください。
px_globals.msを書き換える前に元ファイルどっかにとっておくとか諸々。

AE置き換えスクリプト微更新(2.22に更新)

AEスクリプトを更新しました。
今度はムービーファイルの置き換えに対応。
あと、初期設定を_t01から_v01に変えました。
t派の人ごめんなさい。主義主張の違いによるジハードは勘弁してください。ちなみに私はたけのこ派です。

ReplaceFootages_2.24.zip

 

ファイル内の文字を「_v01」で検索して、「_t01」とかに置き換えてみるのも、
スクリプトをちょっと改造して使いやすくする第一歩みたいな感じでオススメです。
更に進んでいいかんじに改造できましたら、むしろ逆にそっちを使わせてくださいお願いします。

あとやっぱりスクリプトページをつくった方がいいぽいですね・・

追記
ばぐあったー(^q^)

ので更新しました。リンク先ファイルを2.2から2.21に置き換え。
再DLをお願いいたします。
きのこ派の呪い軽ーくしかテストしてなかったせいですねorz

再追記
まだだ!まだ終わらんよ!(バグ潰しが
再再更新しました。
異なる開始フレームの連番が静止画として置き換えられてしまうバグを修正。
あひゃー

 

再更新

2.24 何かバグか何かあったのかもう忘れたけど微妙に更新してたのでついでにアップ

この世界の成り立ちを

銃夢ラストオーダーは名言多いですね。

ここ数日、3dsmax2009に移って作業してまして、キャッチコピーを実感してます。
「圧倒的な3Dを短時間で」
特に建築系は、手続き型モデリングと相まって作成スピードがアホみたいに速いです。

全体的にプリセットマテリアルが充足したおかげもありますが、
間接光の扱いやすさも主要因ですね。

とりあえずオブジェ作ったら、
レンダーをメンタルレイにして適当に質感プリセット割り当てて、
デイライト置いて日時合わせて、
ポチっと間接光onにして露出合わせれば誰でもフォトリアル。
まるでフジカラーの使い捨てカメラCMみたいな。

以前から「フォトリアルはそろそろ技術的に落ち着いて一般化されるでしょう」って言ってましたが、
maxwell系のレンダーでハイエンドのフォトリアルが一段落して、
ミドルレンジのGIレンダリングの計算速度や扱い易さが上がってきて、
本気で一般化というか、むしろ大衆化してきましたね。
これから日本の趣味でやってる3Dとかでも、
リアル系のクオリティがごっそり底上げされると思われます。
単なるフォトリアルは誰でもできる時代到来って感じ。
学生作品とか、リアル系の一発ネタが増えそう。
(というか私もやったんですけどね・・)

こうやって、今までのシステムだと代替物でやっていたのが、どんどん正確なものに移り変わっていくと、
実世界の理論が応用できるようになってきて面白いです。
反射光と間接光の関係とか、スペキュラ形状と材質とライティングの関係とか、露出制御とか、
光学系の知識があるとするっと入り込めますね。
学んでおいた知識が役立ちまくり。イェッハー!
今までも、CGをやる上で実際の世界の成り立ちを知るっていると便利でしたが、
それが更に加速してますね。

このまま行けば、いつか量子論も役立つかもしれんな!
光を量子状態で扱うフォトメリックレンダーとか、
量子で挙動を扱う新世代流体システムとか!
そんでもって実用されたら
「レンズ絞ったら光の回折現象出るんですが仕様です。」
とか
「トンネル効果で流体が一部衝突判定を乗り越えますが仕様です。」
とかなったりして(笑

フリーダム3とリグ。

イイ感じの崩れた表情ですね、
フリーダム三話冒頭。
3Dによる作画的表情の現時点での到達点だと思いました。

と、言ってもたぶんリグ(ボーン仕込みとかの事)じゃなくてカット用にモーフ新規作成したんだろうなあ。
作画のような個性を大量生産するにはちときつい方式。
まあ逆に言えば統制しやすいとも。
西欧が実現してるような自由度の高いフェイシャルリグが出てくるのはいつの日だらうか。
こっちは手足の伸縮ですらやっと、て感じだからなあ。

いや、もしフリーダムがリグ組んでたなら素直に万歳なんですが。
もしくは既に日本のどこかで実現されてるんだろーか。
リアルなフェイシャルリグならゲーム系で良く見るんだけどね。

ちなみに向こうは学生作品ですらこのレベルのリグ組んでまっせ!
(いきなりメイキング紹介は作者に申し訳ないのでまず上の本編から。下の動画中盤辺りがリグ仕込み紹介。)
http://www.burningsafari.com/movie.htm
http://www.burningsafari.com/MakingDeLaTaille.htm

機械すらぐにぐにと伸縮可能なように自由度を高くセットされたリグによって、物理制約に囚われないフレキシブルなモーション、そう我々が希求して止まない2D的な動きの快感を実現している・・!(料理マンガぽく)