アクターのアクション ソースをロードする

 
 
 

CrowdFX でアクターとして使用するモデルを選択する場合、群衆シミュレーションでモデルが使用するアクション ソースを選択し、ロードする必要があります。アクション ソースは、ロードできるように、ソース モデルの Mixer >[ソース](Sources)>Animation ノードに定義されている必要があります。これらのアクション ソースには、グローバル空間を移動する運動、「その場」の運動(モデルのローカル空間で行われる歩行サイクルなど)、または静止(手を振る、立つ、座るなど)などがあります。

アクターのアクション ソースをロードするには:

  1. 群衆シミュレーションのアクターをロードする」で説明するように、アクターとするモデルをロードします。
  2. 表示される[CrowdFX アクター プロキシ プロパティ エディタ](CrowdFX Actor Proxy Property Editor)で、[アクション ソース](Action Sources)リストからアクタで使用するアクション ソースを選択し、[>>]矢印をクリックして、それらを[選択したアクション](Selected Actions)リストに移動します。

    デフォルトで、群衆シミュレーションで使用される最大 3 つのアクションがありますが、後で追加することもできます。使用するアクションが 3 つより少ない場合は、ICE ツリーでポーズ状態を調整する必要があります。これらの詳細については「アクション ソースを使用する」を参照してください。

  3. [選択したアクション](Selected Actions)リストに、最も低速から最も高速まで降順でアクション ソースを入れます(ブレンド目的で)。

    それらの順序を変更するには、[上](Up)ボタンと[下](Down)ボタンを使用します。

  4. ロードするアクション ソースのアニメーションのタイプに応じて、[重心を使用](Use Center of Gravity)オプションを選または選択解除します。後述の「COG を使用すべきかどうか」を参照してください。
  5. [上のすべて](All Above)ボタンをクリックして、アクターの[選択したアクション](Selected Actions)リストのすべてのソースをロードするか、特定のソースを選択して、[選択](Selected)ボタンをクリックします。

群衆シミュレーションで、アクターに別のアクターと同じデフォーマ リグがある場合、アクション ソースを共有できます。「アクタ間でアクション ソースを共有する」を参照してください。

アクション ソースの詳細については、「群衆シミュレーションでアクション ソースを使用する方法」および「アクション ソースを使用する」を参照してください。

アクタの重心(COG)デフォーマ

アクタの COG (重心)は、シミュレーションで、アクタの運動の速度の計算にその水平方向の速度(グローバル Z 方向)を使用するアクタのリグのデフォーマです。

アクターのアクション ソースを読み込むと、アクターのリグの COG は、腰デフォーマなど、位置 X の値が 0 に最も近く、アクター メッシュのバウンディング ボックスの中心に最も近いデフォーマに自動的に決定されます。これが特定のリグでは正しいデフォーマでなかった場合は、「アクターのリグを変更する」に説明するように、別のデフォーマを COG として割り当てることができます。

後述のデフォルトの歩行者モデルの場合、デフォルトの COG は腰デフォーマです。

COG を使うべきかどうか

[CrowdFX アクター プロキシ プロパティ エディタ](CrowdFX Actor Proxy Property Editor)で、ロードするアクション ソースのアニメーションのタイプに応じて、[重心の使用](Use Center of Gravity)オプションを選択または選択解除できます。

  • アクション ソースに、歩行者シミュレーションなどの Z 方向のグローバル空間で実行される運動アニメーションが含まれている場合、[重心の使用(Use Center of Gravity)]オプションを選択します。アクタの速度は、その COG デフォーマの水平方向の速度に基づいて計算されます。
  • 次の場合は、[重心の使用](Use Center of Gravity)オプションを選択解除します。
    • アクション ソースが、座る、立つ、転倒する、手を振るタイプのアニメーションなどの運動タイプではない。このオプションを選択解除することによって、アクタをそのスポットに留まらせたい場合に、アクタが Z 方向へ移動しないようにします。
    • アクション ソースにソース モデルのローカル空間(「その場」)で作成された運動アニメーションが含まれる。その場合、後述の「その場」運動アニメーション ソースの操作で説明するように、アクタの水平方向の速度を設定する必要があります。
    • オリジナルのアニメーションの詳細がグローバル空間にある場合に、それらをすべて失いたくない。その場合、後述のとおりに、アクタの水平方向の速度値を設定する必要があります。

さまざまなタイプのアクション ソースをロードする

複数のアクション ソースの混合タイプのアニメーションをロードする場合、2 つのパスでアニメーションをロードする必要があります。これは、次の 2 つの方法で実行できます。

方法1

  1. 「選択したアクション](Selected Actions)リストにすべてのアクション ソースをロードします。

  2. グローバル空間で移動する運動タイプのみなど、1 つのタイプのアクション ソースのみを選択します。

  3. ロードするアニメーションのタイプに合わせて、「重心の使用](Use Center of Gravity)オプションを選択するか、選択解除します。

  4. リストの下の[選択](Selected)ボタンをクリックして、選択したアクションのみをロードします。

  5. これらがロードされたら、静止や「その場」運動タイプなどの、リスト内のその他のタイプのアクション ソースを選択します。

  6. [重心の使用](Use Center of Gravity)オプションを切り替えて、再度[選択](Selected)ボタンをクリックして、これらのアクションをロードします。

方法2

  1. [選択したアクション](Selected Actions)リストに、1 つのタイプのアクション ソースのみをロードします。

  2. ロードするアニメーションのタイプに合わせて、「重心の使用](Use Center of Gravity)を選択するか、選択解除します。

  3. [上のすべて](All Above)ボタンをクリックして、すべてのアクション ソースをロードします。

  4. それらのアクション ソースを選択して、それらを[アクション ソース](Action Sources)リストに戻します([<<]ボタンをクリック)。

  5. 他のタイプのアクション ソースを[選択したアクション](Selected Actions)リストにロードし、アニメーションのタイプに合わせて[重心の使用](Use Center of Gravity)オプションを切り替えて、[上のすべて](All Above)ボタンをクリックします。

正しくない[重心の使用](Use Center of Gravity)オプションを使用して、アクション ソースを読み込んだ場合、いつでも、アクション ソースを再読み込みすると、ICE ツリー内の既存のアニメーションが正しく更新されます。

「その場でアニメート」運動アクション ソースを使用する

グローバル空間で Z 方向に移動するアクション ソースをロードすると、CrowdFX によって速度の計算が自動的に処理されます。ただし、アクション ソースに、アクタのローカル空間でアニメートされ、グローバル空間で移動しないアニメーション サイクルを含むこともよくあります。これらのタイプのアクション ソースも引き続き使用できますが、それらを CrowdFX で使用できるようにするためにいくつかの手順を実行する必要があります。

  1. [CrowdFX アクター プロキシ プロパティ エディタ](CrowdFX Actor Proxy Property Editor)で、ロードする「その場」運動アクションを選択します。

  2. [重心の使用](Use Center of Gravity)オプションを選択解除し、アクション ソースをロードします。

  3. シミュレーション ポイント クラウドの Emit ICE ツリーで、Set Horizontal Speed コンパウンドをInitialize Locomotion Data コンパウンドの On Init ポートに接続します。

  4. Set Horizontal Speed コンパウンドで、ロードした対応するアクション ソースに[サイクル](Cycle)値を設定します。[サイクル](Cycle)の数値は、シミュレーション ポイント クラウドの Get Animation Sources ICE ツリーでのアクタの順序に一致します(「群衆シミュレーションでアクション ソースを使用する方法」を参照)。

    [サイクル](Cycle)の数値は、シミュレーションでアクターが 1 秒あたりに移動する Softimage 単位数であり、オリジナルのアクション ソースのアニメーションのサイクル速度に対応する必要があります。たとえば、この値が大きすぎると、シミュレーションで、アクタの足が滑ります。

    適切なサイクル速度を見つけるために、「アクション ソースのアニメーションをテストする」で説明するように、Get Actor Pose コンパウンドを使用できます。