アクターのアニメーションの制御

 
 
 

アクターのアクション ソースをロードし、群集シミュレーションを作成した後、このアニメーション データは、シミュレーションで使用できるように初期化されます。アニメーション データの使用方法は、作成したシミュレーションのタイプに応じて決まります。たとえば、歩行者(移動)シミュレーションがあります。

移動シミュレーションの場合は、アクターの移動速度に相当するターゲット スピードを設定します。次に、各ポーズ状態に切り替えるときの速度と、ポーズ状態間でトランジションに要する時間の長さを設定します。詳細については、以下のセクションを参照してください。

シミュレーションでの初期ポーズ状態の選択

デフォルトでは、ID が 0 のアニメーション状態は[Emit_and_Initialize]ICE Tree にあるInitialize Move Locomotion Data(移動データの初期化)コンパウンドの[ソース](Source)の値として設定されます。

多くの場合、使用される最初のアニメーション状態はニュートラルまたはアイドル アニメーションですが、すべてのアクターを歩かせたり走らせたりするなどの別のアニメーション状態を選択してシミュレーションを開始できます。この利点は、シミュレーションの開始からすべてのアクターを特定の状態にしておこうという場合に、シミュレーション専用のプリロールを作成する必要がなくなることです。

また、アクター ID 値をランダマイズし、各アクター インスタンスがシミュレーションで同一の開始ポーズ状態にならないようにすることができます。

移動でのアクター(パーティクル)のターゲット スピードの設定

移動タイプの群集シミュレーションでのアクターの速度(水平速度)は、COG (重心)デフォーマの Z 方向の速度によって決まります。アクター(パーティクル)は常に、シミュレーションの進行中、このターゲット スピードに到達しようとします。

ターゲット スピードを設定するには:

  1. [挙動](Behavior)ICE Tree のSet Velocity Using Collision Avoidance(衝突回避を使用した速度の設定)コンパウンドを開きます。

  2. [ターゲット スピード](Target Speed)値を設定します。これは、パーティクルが移動する毎秒の Softimage 単位の数です。

アクターの速度は、[ターゲット スピード](Target Speed)[最大加速](Maximum Acceleration)、および[最大減速](Max Deceleration)(両方ともInitialize Collision Avoidance(衝突回避の初期化)コンパウンドで設定)を組み合わせた速度です。たとえば、ターゲット スピードまでの加速が速いほど、すぐに最終移動状態(以下を参照)に到達します。

ターゲット スピードにより、移動状態に到達したかどうかを判断することもできます。たとえば、ターゲット スピードを 10 に設定し、「走る」状態の最低速度を 20 に設定すると、アクターが最低速度に到達することがないため、その状態に到達することはなくなります。

ターゲット スピードはアクターの最終的な速度目標ですが、アクターの速度は他のアクターまたは壁との衝突による影響も受けます(「アクターの衝突回避の挙動」を参照)。アクターは衝突を回避するために減速しますが、その後の速度は、衝突の脅威が過ぎると再加速されます。

移動シミュレーションでの状態間の切り替え

歩行者シミュレーションでは、[移動データの初期化](Initialize Locomotion Data)コンパウンドでの速度に合わせて、3 つの基本的な移動状態(アイドル、ウォーク、および走る)が設定されています。もちろん、アイドル、ウォーク、および走る以外のタイプのアクション ソースをロードできますが、これら 3 つの「速度状態」が選択可能な標準状態となります。

1 つの状態が次の状態に切り替わるタイミングを判別するトリガーは、アクターの現在速度が、各状態に設定された[最低速度](Min Speed)より速くなった時です。

各状態の最低速度とトランジション デュレーションを設定するには:

  1. シミュレーション ポイント クラウドの[Emit_and_Initialize]ICE Tree で、Initialize Move Locomotion Data(移動データの初期化)コンパウンドのプロパティ エディタを開きます。

    ICE Tree ビューを開いていない場合は、ICE ツールバーで[CrowdFX] [シミュレーション](Simulation) [編集](Edit) [初期アニメーションの検査](Inspect Init. Animation)コマンドを選択して、このプロパティ エディタを開きます。

  2. ウォーク状態と走る状態の[最低速度](Min Speed)値を設定します。これは、アクターがその状態に切り替わるときの最低速度(毎秒の Softimage 単位)です。

    これらは、どのアクション ソースであれ ID 1 および ID 2 としてロードしたアクション ソースに速度が適用されるときの状態にすぎません。それらは、ウォークおよび走るアクション ソースである必要はありません。

    [最低速度](Min Speed)値は、必ず[ターゲット スピード](Target Speed)と調和した値に設定してください。つまり、シミュレーション時にアクターを走る状態に到達させる場合は、ターゲット スピードが走る状態の最低速度値より少なくとも 1 高い値になるようにしてください。ターゲット スピードと走る状態の最低速度を同じ値にすると、アクターのアニメーションがウォーク状態と走る状態の間で揺らぐことになります。

  3. 状態ごとに[トランジション デュレーション](Transition Duration)を設定します。これは、前の状態からこのポーズ状態へのトランジション(ブレンド)が発生するときのフレーム数です。

  4. シミュレーションを再生するとき、各ポーズ状態からのアニメーションは、アクターがその状態の速度範囲内にあるときのフレームと同じ数だけサイクルされます。

    たとえば、別のアクターまたは壁との衝突を回避するためにアクターが減速する場合、そのアクターは速度に合った別の状態に切り替わります(走る状態からウォーク状態に戻るなど)。衝突の危険がなくなると、アクターはもう一度ターゲット スピードへの到達を試み、再び状態を切り替えます。