Maya のパーティクル インスタンス化機能を利用すると、シーン内の多数の同一形状のオブジェクトをアニメートできます。たとえば、パーティクルのインスタント化を使用し、1 つひとつの配置と方向だけが異なるトンボの群れを作成してアニメート化できます。Maya では、1 つのトンボをアニメートした後に、アニメートされたパーティクルの位置と方向に従って移動するトンボのジオメトリのインスタンスを作成できます。パーティクル単位の回転など、nParticle のパーティクル単位のアトリビュートとインスタンス化したジオメトリを使用して、それぞれのオブジェクトが個別に回転するようにすることができます。
ジオメトリのインスタンスはオブジェクトの複製ではなく、元のオブジェクトの参照(ファイル参照ではない)です。元のオブジェクトに加えたすべての変更は、インスタンス化されたオブジェクトにも適用されます。インスタンス化された個々のオブジェクトのモーションを制御するには、そのオブジェクトを制御するパーティクル単位のアトリビュートをアニメートします。たとえば、パーティクル単位の nParticle の回転を利用して、爆発に伴って飛び散る破片などランダムに動くオブジェクトのリアルな動作を表現できます。
インスタンス化に使用されるジオメトリ オブジェクトはソース ジオメトリと呼ばれます。ソース ジオメトリとして次のオブジェクトを使用することができます。
個々のオブジェクトの代わりに、ソース ジオメトリとしてオブジェクト階層構造を使用することができます。ライトはインスタンス化しないでください。インスタンス化しても、レンダリングに影響はありません。
単一オブジェクトを 1 つの particleShape にインスタンス化したり、または複数オブジェクトのシーケンスを 1 つの particleShape にインスタンス化できます。
インスタンスを作成する前に、ソース ジオメトリを作成し、シェーディング グループを適用します。ソース ジオメトリとパーティクルは、インスタンス化の前でも後でも、アニメートでき、またソース ジオメトリは、ワークスペース内のどこにでも配置できます。以降の手順で説明するように、オプションでソース ジオメトリを非表示にすることもできます。インスタンス化されたジオメトリのカラーをパーティクル単位で制御することはできません。
オブジェクトのシーケンスをパーティクルにインスタンス化するには
パーティクル インサタンサ オプション(Particle Instancer Options)ウィンドウが表示されます。選択したソース ジオメトリが、インスタンス オブジェクト(Instanced Objects)リストに表示されます。
一連のオブジェクトのシーケンスをインスタンス化するには、オブジェクトを、そのシーケンスの順に、リストに加えます。
リスト内のオブジェクトの順番を変えるには、上へ移動(Move Up)および下へ移動(Move Down)ボタンを使用します。選択したオブジェクトをリストに追加するには、選択項目の追加(Add Selection)を使用します。リストからオブジェクトを除去するには、項目の除去(Remove Items)を使用します。
たとえば、羽ばたきの位置がそれぞれ異なる 4 羽の鳥を作成するとします。
インスタンス オブジェクト リストにオブジェクトを登録する場合の適切な順番は次のようになります。
0: birdWingsHigh 1: birdWingsMid 2: birdWingsLow 3: birdWingsMidCopy
放出されたパーティクルを、アニメートされたパーティクルとして使用することができます。パーティクルが放出されると、インスタンス化されたジオメトリがパーティクルと共に表示されます。
インスタンス化されたオブジェクトを制御するインスタンサ ノードが作成されます。このノードは、パーティクル インスタンサ オプション ウィンドウで加えたアトリビュート設定を変更できるかの情報場所を格納しています。
インスタンス化に使用したパーティクル オブジェクトを非表示にしてもかまいません。インスタンサは、パーティクルを非可視にしません。ただし、アニメーションをソフトウェア レンダーする場合は、パーティクルを非表示にする必要はありません。パーティクルは、ソフトウェア レンダーしたイメージには表示されません。
nParticle を設定したジオメトリをインスタンス化する場合、回転 PP (rotationPP)を使用してパーティクル単位でインスタンス化します。回転の計算(Calculate Rotations)をオンにすると、nParticleShape ノードにパーティクル単位の回転アトリビュートが自動的に作成されます。回転(Rotation) (『nDynamics』マニュアル)を参照してください。
これにより、radiusPP のようなスカラー アトリビュートを使用し、スケール(Scale)のようなベクトル アトリビュートを設定できます。
これを選択すると、インスタンス化したジオメトリが nParticle 半径(Radius)に合わせて適切にスケールされます。詳細については、半径(Radius)を参照してください。
次の一般的な手順は、インスタンス化されたジオメトリの向きを設定する方法です。
たとえば、インスタンス化されたオブジェクトが移動方向に向くようにエイム方向(Aim Direction)を速度(Velocity)に設定します。詳細については、particleShape ノードを参照してください。
一般オプション(General Options)のポップアップ メニューで行った選択には、パーティクル単位のすべてのアトリビュートが含まれます。インスタンス化された個々のオブジェクトのモーションを制御するには、それらのオブジェクトを制御するパーティクル単位のアトリビュートをアニメートします。
アニメーションで任意のフレームをレンダーするとき、runup コマンドがインスタンス化されたジオメトリの作成に失敗する場合があります。ランナップの前に currentTime 設定を追加すると、インスタンス化されたジオメトリが正しく作成されます。つまり、インスタンス化されたジオメトリでレンダーを行うときに runup -mxf 60; コマンドで正しい結果が作成されなかったら、次のようなコマンドを使用してください。
currentTime -e 1; runup -mxf 60;