ジオメトリをパーティクルにインスタンス化

 
 
 

Maya のパーティクル インスタンス化機能を利用すると、シーン内の多数の同一形状のオブジェクトをアニメートできます。たとえば、パーティクルのインスタント化を使用し、1 つひとつの配置と方向だけが異なるトンボの群れを作成してアニメート化できます。Maya では、1 つのトンボをアニメートした後に、アニメートされたパーティクルの位置と方向に従って移動するトンボのジオメトリのインスタンスを作成できます。パーティクル単位の回転など、nParticle のパーティクル単位のアトリビュートとインスタンス化したジオメトリを使用して、それぞれのオブジェクトが個別に回転するようにすることができます。

注:

以下のセクションは、nParticle でのジオメトリのインスタンス化にも適用できます。

ジオメトリのインスタンスはオブジェクトの複製ではなく、元のオブジェクトの参照(ファイル参照ではない)です。元のオブジェクトに加えたすべての変更は、インスタンス化されたオブジェクトにも適用されます。インスタンス化された個々のオブジェクトのモーションを制御するには、そのオブジェクトを制御するパーティクル単位のアトリビュートをアニメートします。たとえば、パーティクル単位の nParticle の回転を利用して、爆発に伴って飛び散る破片などランダムに動くオブジェクトのリアルな動作を表現できます。

インスタンス化に使用されるジオメトリ オブジェクトはソース ジオメトリと呼ばれます。ソース ジオメトリとして次のオブジェクトを使用することができます。

個々のオブジェクトの代わりに、ソース ジオメトリとしてオブジェクト階層構造を使用することができます。ライトはインスタンス化しないでください。インスタンス化しても、レンダリングに影響はありません。

アニメートされたインスタンスを作成する

単一オブジェクトを 1 つの particleShape にインスタンス化したり、または複数オブジェクトのシーケンスを 1 つの particleShape にインスタンス化できます。

インスタンスを作成する前に、ソース ジオメトリを作成し、シェーディング グループを適用します。ソース ジオメトリとパーティクルは、インスタンス化の前でも後でも、アニメートでき、またソース ジオメトリは、ワークスペース内のどこにでも配置できます。以降の手順で説明するように、オプションでソース ジオメトリを非表示にすることもできます。インスタンス化されたジオメトリのカラーをパーティクル単位で制御することはできません。

1 つのオブジェクトをパーティクルにインスタンス化するには

  1. ソース ジオメトリを選択します。
  2. Shift キーを押したまま particleShape を選択します。
  3. パーティクル > インスタンサ(置き換え) (Particles > Instancer (Replacement))を選択します。
  4. ソース ジオメトリを非表示にする場合は、ジオメトリを選択してからディスプレイ > 非表示 > 選択項目の非表示(Display > Hide > Hide Selection)を選択します。

オブジェクトのシーケンスをパーティクルにインスタンス化するには

  1. ソース ジオメトリを選択します。
  2. パーティクル > インスタンサ(置き換え) (Particles > Instancer (Replacement)) > を選択します。

    パーティクル インサタンサ オプション(Particle Instancer Options)ウィンドウが表示されます。選択したソース ジオメトリが、インスタンス オブジェクト(Instanced Objects)リストに表示されます。

  3. 別の複数オブジェクトを別々のパーティクルにインスタンス化するには、それらをすべてリストに入れます。

    一連のオブジェクトのシーケンスをインスタンス化するには、オブジェクトを、そのシーケンスの順に、リストに加えます。

    リスト内のオブジェクトの順番を変えるには、上へ移動(Move Up)および下へ移動(Move Down)ボタンを使用します。選択したオブジェクトをリストに追加するには、選択項目の追加(Add Selection)を使用します。リストからオブジェクトを除去するには、項目の除去(Remove Items)を使用します。

    たとえば、羽ばたきの位置がそれぞれ異なる 4 羽の鳥を作成するとします。

    • birdWingsHigh は、鳥の頭の上に羽が位置しています。
    • birdWingsMid は、羽が中間位置に位置しています。
    • birdWingsLow は、羽が胴体の下に位置しています。
    • birdWingsMidCopy は、birdWingsMid のコピーです。このオブジェクトは、高い位置から低い位置、および低い位置から高い位置へ羽をサイクルさせるために必要です。

    インスタンス オブジェクト リストにオブジェクトを登録する場合の適切な順番は次のようになります。

    0: birdWingsHigh 1: birdWingsMid 2: birdWingsLow 3: birdWingsMidCopy

    オブジェクトの左側に示した番号は、シーケンスでの位置を表します。0 は、シーケンスの最初のオブジェクトを示します。

  4. パーティクル インスタンサ オプションウィンドウのインスタンス化するパーティクル(Particle Object To Instance)メニューで、インスタンスが追従するアニメートされたパーティクル オブジェクトを選択します。

    放出されたパーティクルを、アニメートされたパーティクルとして使用することができます。パーティクルが放出されると、インスタンス化されたジオメトリがパーティクルと共に表示されます。

  5. パーティクル > インスタンサ(置き換え) (Particles > Instancer (Replacement))で説明しているとおりにオプションを設定してから、作成(Create)をクリックします。

    インスタンス化されたオブジェクトを制御するインスタンサ ノードが作成されます。このノードは、パーティクル インスタンサ オプション ウィンドウで加えたアトリビュート設定を変更できるかの情報場所を格納しています。

  6. ソース ジオメトリを非表示にする場合は、ジオメトリを選択してからディスプレイ > 非表示 > 選択項目の非表示(Display > Hide > Hide Selection)を選択します。

    インスタンス化に使用したパーティクル オブジェクトを非表示にしてもかまいません。インスタンサは、パーティクルを非可視にしません。ただし、アニメーションをソフトウェア レンダーする場合は、パーティクルを非表示にする必要はありません。パーティクルは、ソフトウェア レンダーしたイメージには表示されません。

    ヒント:

    ソース オブジェクトの回転ピボット ポイントを移動したい場合は、ソース オブジェクトを選択し、コマンド ライン(Command Line)createInstancerPivot と入力します。その後は、ソース ジオメトリの回転ピボット ポイントを操作すると、インスタンス化されたジオメトリも同じように回転するようになります。ソース オブジェクトの移動、回転、スケール、およびシア アトリビュートにアニメーションの方向が再設定されます。

インスタンス化したジオメトリを回転させる

nParticle を設定したジオメトリをインスタンス化する場合、回転 PP (rotationPP)を使用してパーティクル単位でインスタンス化します。回転の計算(Calculate Rotations)をオンにすると、nParticleShape ノードにパーティクル単位の回転アトリビュートが自動的に作成されます。回転(Rotation) (『nDynamics』マニュアル)を参照してください。

インスタンス化したジオメトリを回転させるには

  1. nParticleShape ノードのアトリビュート エディタ(Attribute Editor)回転(Rotation)セクションに移動して回転の計算(Compute Rotations)をオンにします。

    nParticleShape ノードに回転 PP (rotationPP)が作成されます。

  2. アニメートされたインスタンスを作成するで説明したとおり、単一のオブジェクトまたは一連のオブジェクトをインスタンス化します。
  3. パーティクル インスタンサ オプション(Particle Instancer Options)ウィンドウまたは nParticle のアトリビュート エディタで以下を設定します。
    • すべてのデータ型を許可(Allow all data types)をオンにします。

      これにより、radiusPP のようなスカラー アトリビュートを使用し、スケール(Scale)のようなベクトル アトリビュートを設定できます。

    • 回転オプション(Rotation Options)セクションの回転(Rotation)リストから回転 PP (rotationPP)を選択します。
    • 一般オプション(General Options)セクションのスケール(Scale)リストから radiusPP を選択します。

      これを選択すると、インスタンス化したジオメトリが nParticle 半径(Radius)に合わせて適切にスケールされます。詳細については、半径(Radius)を参照してください。

インスタンス化されたジオメトリの向きの設定

次の一般的な手順は、インスタンス化されたジオメトリの向きを設定する方法です。

インスタンス化されたジオメトリの向きを設定するには

  1. 前面が x 軸方向を向き、上面が y 軸方向を向くように、ジオメトリの方向を設定します。
  2. ジオメトリをグループ化し、そのグループをインスタンス化します。
  3. エイム方向(Aim Direction)またはエイム位置(Aim Position)オプションを、インスタンス化されたオブジェクトを向かせたい方向に設定します。

    たとえば、インスタンス化されたオブジェクトが移動方向に向くようにエイム方向(Aim Direction)速度(Velocity)に設定します。詳細については、particleShape ノードを参照してください。

    一般オプション(General Options)のポップアップ メニューで行った選択には、パーティクル単位のすべてのアトリビュートが含まれます。インスタンス化された個々のオブジェクトのモーションを制御するには、それらのオブジェクトを制御するパーティクル単位のアトリビュートをアニメートします。

コマンド ラインのインスタンス化の制限

アニメーションで任意のフレームをレンダーするとき、runup コマンドがインスタンス化されたジオメトリの作成に失敗する場合があります。ランナップの前に currentTime 設定を追加すると、インスタンス化されたジオメトリが正しく作成されます。つまり、インスタンス化されたジオメトリでレンダーを行うときに runup -mxf 60; コマンドで正しい結果が作成されなかったら、次のようなコマンドを使用してください。

currentTime -e 1; 
runup -mxf 60;

パーティクルのインスタンス化オプション