Warning: Use of undefined constant ace - assumed 'ace' (this will throw an Error in a future version of PHP) in /home/luxology/www/web_new/tipsblog/wp-content/plugins/advanced-category-excluder/advanced-category-excluder.php on line 310

Warning: Use of undefined constant ace - assumed 'ace' (this will throw an Error in a future version of PHP) in /home/luxology/www/web_new/tipsblog/wp-content/plugins/advanced-category-excluder/advanced-category-excluder.php on line 310
オーディオと連動してパーティクルを放射するには — MODO 機能紹介・チップスサイト



MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

オーディオと連動してパーティクルを放射するには

http://www.youtube.com/watch?v=zlPsBzZo5Q0&hd=1

オーディオと連動してアイテムを動かすには」では、オーディオの音に合わせて口が開閉するようなアニメーションを作成しましたが、今回はオーディオと連動してパーティクルを放射する方法についてご紹介します。今回は「オーディオと連動してアイテムを動かすには」で使用したサンプルシーンを元に、さらにパーティクルを追加していきます。

まずはシーンにパーティクルを追加しましょう。今回は歯形の歯並びに沿ってパーティクルを放出するようにしたいので、カーブエミッターを使います。カーブエミッターの元となるカーブを作るため、設定タブの中にあるカーブツールを起動します。ショートカットキーNキーで新規メッシュを作成したら、ビューポートを上面へと切り替え、カーブを作ります。次にパーティクルサブタブからカーブエミッターを追加し、ソースに先ほど作成したカーブのメッシュを指定します。わかりやすいように、アイテムリストからParticle Simulationを選択し、パーティクルの色を赤、サイズを5ぐらいに設定しておきます。

真ん中にあるシミュレーションボタンをクリックし、シーンの長さでシミュレーションを行ってみてください。すると、口の開閉とは全く関係なく、カーブからパーティクルが放出されているのが確認できます。

パーティクルが口の前方へとほんの少し押し出されながら、その場で消滅するような表現を可能とするためフォースを使います。まずパーティクルを前方に押し出すということで、フォース追加からLinear Forceを追加します。さらにDrag Force を追加して、その場に止まるような動きを付けます。Linear Forceを10%、Drag Forceを60%ぐらいにしてみましょう。

大まかな表現はできましたので、あとはこれをオーディオに合わせて放射させるようにしてみます。Curve Emitter放射レートのチャンネルを選択し、チャンネルタブから放射レートのチャンネルをスケマティックビューへとドラッグアンドドロップします。Soundノードの出力をこの放射レートへと接続してみましょう。シミュレーションさせてみると、あまりに放射するパーティクルの数が小さいようですので、Soundノードの出力にスケールをかけてみます。追加ポップアップ > チャンネルモディファイヤ演算基本演算:乗算ノードを追加し、Soundノードの出力を値Aへと接続し、乗算ノードの出力を放射レートへと接続します。スケール係数となる値Bには100ぐらいを入力して、シミュレーションしてみます。

オーディオに合わせて放射レートが変化するようになりましたが、まだちょっとわかりにくいの、初期速度もオーディオに合わせて変化するよう設定してみます。チャンネルタブから初期速度のチャンネルを選択し、Curve Emitterノードの上へとドラッグします。さらにSoundノードの出力を、初期速度へと接続し、シミュレーションさせてみます。ちょっと初期速度が大きすぎるようですので、こちらも先ほどと同様、乗算ノードで調整します。こちらの乗算ノードのスケール係数は0.1ぐらいに抑えてみましょう。これでちょうど良い具合になったようです。

パーティクルだけではわかりにくいので、リプリケータとパーティクル用のアセンブリを使って動きを確認してみましょう。パーティクル用のアセンブリの使い方については、「パーティクル用アセンブリの活用法」で詳しく解説していますので、そちらをご覧ください。まずはリプリケータの元となる球体のメッシュを作り、リプリケータを追加したら、原型となるアイテムに球体を、ポイントソースにParticle Simulationを設定します。アセンブリタブのParticlesからScale By Ageをスケマティックビューへとドラッグアンドドロップ、さらにアイテムリストからParticle Simulationをドラッグアンドドロップします。チャンネルタブで最大寿命のチャンネルを選択し、こちらもノードへと追加します。Scale By AgeParticle OperatorをParticle Simulationのオペレータに、またParticle Simulationの最大寿命Scale By AgeAge Limitへと接続します。これでパーティクルが発生してから消滅する間に、リプリケータのメッシュのサイズが小さくなるような設定が出来ました。ではシミュレーションで確認してみましょう。

オーディオに合わせて、口が開閉し、さらにパーティクルが発生するようになったのが確認できます。

2014年3月25日