Mathematic Cheap Smoke Animation

これもずいぶん前の宿題・・・カチッとした図柄の煙の絵を動かすのに、色々アプローチはあるのですが、正攻法的な方法としては基絵をメッシュにマッピングしてポイントをアニメーションさせて、煙の絵がモクモクしたような良い具合になるように調整するというのがあります。これはこれでそれらしく見えたのですが、もっとソリッド感みたいなものが強められないかな、と考えて、こんな感じに。。。。。

煙の部分をワイヤーフレームで表示すると、こんな感じになります。多数のサークルオブジェクトを組み合わせて、サークル単位で関数アニメーションさせています。基絵をマッピングとかアニメーションカーブを一切使わないというのは、そういう手作業的なアプローチは一切使わないで作ってみよう、という何の意味もない変態的こだわりです。w ソリッドな感じとなら、もうプロシージャルにやっちゃうでしょうみたいな。。。

image101009_01

関数アニメーションとはいってもsin cos の組み合わせで円運動をさせて、動きの周期をずらしているだけです。サークルの大きさによって、大きいほどスピードがゆっくりになるように調整しています。Transform SOPのX、Yそれぞれのパラメータに以下のような関数を設定します。

Xパラメータ: sin($F+周期のオフセット値)*スピード値
Yパラメータ: cos($F+周期のオフセット値)*スピード値

オフセット値やスピード値はプレビューを見ながらの見た目あわせで、特に基準になるようなものはありません。1つサークルオブジェクトの動きを決めて、あとは相対的に調整という感じです。なので、結果的にネットワークウィンドウが以下のように恐ろしいことに。。。。。

image101009_02

ある程度、法則的なものにまとめることができるので、パラメータをリストアップしてコンポーネント化もできるはず。。。それはまた後ほどの宿題ということで。

Download Touch File