特定のパーティクルの動きにアイテムを合わせるには
https://www.youtube.com/watch?v=3FeTw-UO2FY
MODO 901からは新たなコンストレイントの種類として、パーティクルコンストレイントが追加されました。これにより、パーティクルに対しアイテムの位置や回転を合わせることができるようになっています。
サンプルとしてラディアルエミッターでパーティクルを発生させます。通常、リプリケータを使えば、アイテムをパーティクルに合わせて動かすことができるようになります。ただしリプリケータを使う場合、発生するパーティクル全てに対してアイテムが割り当てられるようになり、パーティクルの中の一つの動きに対して合わせるということはできません。これを実現するのがパーティクルコンストレイントです。
まず最初に動きに合わせたいアイテムを選択したら、次にパーティクルを追加で選択し、セットアップ > モディファイヤタブ > パーティクル位置をクリックします。これは位置や回転、方向といった他のモディファイヤと同じような挙動を行うモディファイヤです。シミュレーションを再生してみると、アイテムが一つのパーティクルの動きに沿うようになりました。
スケマティックビューで見てみると、パーティクルとアイテムの間にパーティクルコンストレイントが接続されているのがわかります。
この設定によりアイテムはパーティクルに動きが合わせるようになったものの、少し微妙な動きとなっています。これは、アイテムがどのパーティクルの動きに沿うのかという設定によるものです。
プロパティを見てみると、パーティクルIDが0、近似IDにチェックが入っています。この場合、パーティクルIDが0に近いパーティクルを自動的に検出しコンストレイントをかけるため、パーティクルが放射されるたびにコンストレイント先となるパーティクルが変化してしまい、動きが一定しなくなります。これを避けるためには近似IDのチェックをオフにし、パーティクルIDに特定の値を入力します。このパーティクルIDの範囲は0.0~1.0なのですが、小数値であるため狙ったIDをぴったりと指定することは難しくなります。
ここでパーティクルIDを指定しやすくするためのノードを追加してみます。まずはパーティクルIDをノードでコントロールできるようにするため、パーティクルコンストレイントノードを右クリックし、チャンネルの追加からパーティクルIDを追加します。さらに、追加 > チャンネルモディファイヤ > その他 > Generate IDを追加し、このIDをパーティクルIDへと接続します。このGenerate IDは整数のインデックス値をパーティクルの小数値のインデックス値へと変換してくれるノードですので、Generate IDでは整数のインデックス値で指定することができるようになります。
これでパーティクルの位置を合わせることができるようになりましたが、同様に回転に対してもあわせることができます。先ほどと同じように、アイテムを選択し、コンストレイント先となるパーティクルを追加選択した状態で、今度はパーティクル回転をクリックします。すると回転用のノードが追加されますので、パーティクルIDを追加し、Generate IDと接続します。
しかしシミュレーションを再生してみても、アイテムが回転することはありません。放射されたパーティクルに対して、それぞれが回転情報を持っているわけではないからです。ここで回転情報を持たせるために、パーティクルのアセンブリを利用します。アセンブリのParticlesフォルダの中から、Spin Particleをスケマティックビューへと追加し、Particle OperatorをParticle Simulationへと接続します。こうすることで、Particle Simulationのパーティクルはそれぞれが回転情報を持つようになり、アイテムもそれに合わせて回転するようになります。