パーティクルのモーフィング

パーティクルのモーフィングさせる

パーティクルが、ある形•色から別の形•色に変化してゆくアニメーションを作成してみましょう。

パーティクルをモーフィングさせる方法

  1. 1つ目のオブジェクトをモデリングし、 オブジェクトに適当なテクスチャをアサインします。
  2. テクスチャはファイルテクスチャに変換しておきます。
    オブジェクトと、テクスチャを選択して ハイパーシェードのメニューで
    編集 → ファイルテクスチャに変換
  3. サーフェスエミッタを作成します。
    親UVが必要 にチェックを入れておきます。
    パーティクル → オブジェクトから放出
  4. エミッタ作成時に作られたパーティクルに rgbPP アトリビュートを追加します。

    particleShape のカラーボタンを押して追加します。
  5. 上で変換したファイルテクスチャをハイパーシェードからマウス中ボタンで、 エミッターのパーティクルカラーにアサインし、 カラーの継承 にチェックを入れます。
  6. パーティクルの 維持 アトリビュートを0にします。
  7. エミッタのレートアトリビュートを5000にします。
  8. 2つ目のオブジェクトをモデリングし、違うテクスチャをアサインします。 それから、1つ目のオブジェクトと同じ手順(2. ~ 7.)を繰り返します。
  9. 2つのオブジェクトを不可視にしておきます。
  10. アニメーションを再生し、パーティクルが2つのオブジェクトと同じ形になるくらいでストップします。
  11. 2つのパーティクルに 初期状態 を設定します。
    パーティクルを選択して、
    ソルバ → 初期状態 → 選択項目に設定
  12. 2つのエミッタを削除します。
  13. 2つ目のパーティクルを不可視にしておきます。
  14. 1つ目のパーティクルにダイナミックエクスプレッションを定義します。
    particleShape1.position =
    	hermite(particleShape1.position,
    		particleShape2.position, 
    		<<0, 0, 0>>,
    		<<0, 0, 0>>,
    		smoothstep(rand(0, 2), rand(3, 3.5), time));
    particleShape1.rgbPP =
    	hermite(particleShape1.rgbPP,
    		particleShape2.rgbPP,
    		<<0, 0, 0>>,
    		<<0, 0, 0>>,
    		smoothstep(1, rand(1.5, 3), time));
    
  15. 再生時間5秒ほどで、アニメーションを再生します。




参考

練習課題


Prev | Next
Index | Home
Mail