モデルが崩れ落ちるような表現をつけるには
https://www.youtube.com/watch?v=zAOoQ8EpEx0
今回はモデルが崩れ落ちていくような表現をアニメーションさせる方法をご紹介します。
まずはこの表現を二つの工程に分けて考えます。一つはモデルが切り取られていく表現、そしてもう一つが切り取られていく端から崩れ落ちていく表現です。では先にモデルが切り取られていく表現を設定しましょう。これはメッシュオペレーションのブーリアンを使います。
まずは切り取られる側の平面のモデルを板ポリゴンで簡単に作り、切り取る方のメッシュは、球体のメッシュを使います。球体が平面のモデルに食い込むような形でアニメーションを設定したら、平面のモデルを選択し、オペレーションリストを開いたら、オペレーション追加 > 編集 > Booleanを追加します。駆動サーフェイスに切り取る側の球のモデルを設定し、操作は減算にしておきます。球体のモデルを非表示にしてみると、平面が切り取られるアニメーションが出来上がります。
次にこの切り取られている側面の部分からパーティクルを発生させます。まずは切り取られている側面部分のエッジをカーブへと変換しましょう。オペレータ追加 > エッジ > Edges to Curvesを追加します。いったんジオメトリを削除オプションをオンにしてポリゴンを非表示にしてみると、エッジが抜き出されているのがわかります。ただこの状態だと、すべてのエッジが抜き出されていますので、ブーリアンによって切り取られている個所のエッジだけを抜き出します。そのためには、オペレーションリストのEdges to Curvesを展開し、Selecion > (Selectionを追加)をクリックして、新規 > Select By Previous Operationを追加します。これはそれまでに行った操作で新たに生成されたエレメントを選択するというオペレーションです。ここではソースアイテムにそれまでに行ったBooleanオペレーションを選択し、名称から交差エッジを指定しておきます。そうすることで、切り取られている端の部分のエッジだけがカーブとして抽出されるようになりました。
Edges to Curvesのオプションからジオメトリを削除を再度オフにしたら、今度は抽出したカーブからパーティクルを発生させます。セットアップツールバーのパーティクルタブへと切り替えます。カーブをパーティクルの発生源とするために、カーブエミッターを追加します。カーブエミッターのソースを切り取られている平面のモデルに指定しておきます。そうすると、平面のモデルのメッシュレイヤー内にあるカーブを自動的にパーティクルの発生元として認識するようになります。あとはパーティクルシミュレーションで、重力使用をオンにし、加速度を-1程度に設定しておきます。これでゆっくりとパーティクルが落下します。さらにCurve Emitterで速度継承をオフ、初期速度と速度の広がりを100mm/s程度に落とし、放射レートを調整します。シミュレーションをキャッシュして、落下具合を調整してください。
パーティクルの放出が調整できたら、これをリプリケータを使ってメッシュで表現します。リプリケータの複製元となる小さな立方体を作ったら、アイテムリストのアイテム追加 > パーティクル > Replicatorを追加し、原型となるアイテムに立方体を、ポイントソースにParticle Simulationを設定します。再生すると、切り取られた端から立方体が発生して落下する様子が確認できます。
もう少し落下具合をリアルな感じにするために、パーティクルのアセンブリを追加してみましょう。スケマティックビューを開き、追加 > Assemblies > Particlesの中にあるSpin Particleを追加します。これはパーティクルの一つ一つに対し、回転を設定することができます。Particle Simulationもスケマティックへと追加したら、Spin ParticleのParticle OperatorをParticle Simulationのオペレータへと接続しておきます。この回転具合はSpin Particleのアセンブリチャンネルの回転値でコントロールします。さらに、もうひとつパーティクルのアセンブリの効果を加えてみましょう。先ほどと同様、追加 > Assemblies > ParticlesからScale By Ageを追加します。このアセンブリは、パーティクルが発生してからの経過時間に従って、パーティクルの大きさを変えるという効果があります。こちらもオペレータを接続し、Scale By Ageのアセンブリチャンネルから、Killオプションをオン、Age Limitを48にしておきます。これは48フレーム、つまり2秒後にパーティクルが小さくなって消滅するという動きになります。シミュレーションをキャッシュしたら再生して、これらの効果を確認してみましょう。より崩れてなくなってしまう感じが表現できるようになりました。
最後に、テクスチャをマッピングすることで、さらにリアルさを増してみます。まずは平面のモデルに対して、テクスチャをマッピングしてみましょう。平面モデルのBase Meshに対して、マテリアルを設定したら、画像をマッピングしてみます。最初はUVでマッピングされると思いますが、このプロジェクションのタイプをY軸の平面に対して設定しなおします。きれいにマッピングできるように、テクスチャロケータのサイズなども調整してください。
さらにリプリケータの複製元となる小さい立方体に対して、平面のモデルと同じマテリアルを設定します。そうすると、複製元となる原点に位置する箇所のテクスチャで、リプリケータで複製されるようになります。これをリプリケータの各複製された立方体が発生する位置に存在するテクスチャをマッピングされるよう、マッピングした画像のテクスチャロケータの設定をワールド座標系をオンにします。そうすると発生する立方体は、発生時に位置する平面のモデルと同じテクスチャの模様を共有するため、あたかもその個所から平面のモデルを削り取って崩れ落ちていくような表現が可能になります。非常にシンプルですが、こういった場合には大変便利に役に立つオプションですので、ぜひ活用してみてください。