2014年1月8日水曜日

nParticleのキャッシュを時間制御する方法。

タイトルの通りです。

キャッシュをタイムワープ、もしくはストレッチをかけたい時に必要な事です。

久々にMayaの仕事でnParticleを扱う事になったのですが、半年以上使っていなかったので完璧に忘れていました。

良い機会なので、その方法を記載しようと思います。

面倒は面倒ですが、自分の中ではこれが一番手軽に出来ます。


・まず、nParticleを作りなんでも良いのでキャッシュを取って下さい。

・そしてロケータを作成し、Add Attruteで以下のようにしてください。
名前はなんでも良いですが、ctlなど判りやすい名前を付けると楽です。


・作成したらロケータとストレッチさせたいnParticleを選択し、Hyper Shadeを開いて下さい。

・ワークエリアでロケータとnParticleのキャッシュをコネクトしてください。


・キャッシュ側のDisprayでShow Hiddenをチェックし、ロケータに作成したアトリビュートとtimeを接続してください。



・最後にロケータのアトリビュートでキーを打てばストレッチ完了です。

細かい調整はグラフエディタで行って下さい。


ここで注意するべき点は、nParticleは従来のParticleとは違いフレーム間を保管してキャッシュを取りません。

もし時間を延ばしたい(スローにする)という場合には、キャッシュを取る時にEvaluate everyを調整してください。


これは1フレームの間に何度キャッシュを取るか、という所で0.5なら1フレームの間に0.5フレームに1回挟んでキャッシュを取るという意味です。

0.2なら計3回、0.1なら0.1フレーム毎(10倍)に。

0.4など余りが来るような数字はエラー起きそうなので試した事はありません。

ちなみに0.1だと0.1毎に計算がされるので、エミッターから出てくるParticleの量も違ってきます。
それを考慮して計算させると良いです。

少し面倒かもしれませんが、計算し直してもコネクトし直すだけなので、手軽な気がします。

もっと簡単な方法もあるかもしれませんし、もしこの方法を使うのであれば標準機能として出る可能性もありますので、あくまで回避策としてお使いください。

0 件のコメント:

コメントを投稿