アクション ソースを使用する

 
 
 

アクターのアクション ソースをロードした後、このソースに対して他のアクターとの共有、その内部でのアニメーションのテスト、および変更または更新を行うことができます(「アクション ソースとポーズ状態をさらに追加する」も参照)。

アクター間でアクション ソースを共有する

同一のデフォーマ リグを持つ複数のアクターを使用する場合、アクション ソースを共有できます。たとえば、あるモデルを複製して、そのエンベロープおよびマテリアルを修正して別のモデルを作成できますが、アクターのリグは同一のままです。

このように、あるオリジナル モデルのすべてのアクション ソースを[ミキサ](Mixer)ノードに保持して簡単に管理できるようにし、群集シミュレーションのすべての適切なアクターをそのソースにアクセスさせることができます。

アクション ソースを共有するには:

  1. アクション ソースを共有しているアクターが同一のデフォーマ リグを持ち、同じ群集シミュレーションに所属していることを確認します。
  2. シミュレーション ポイント クラウドの[放出](Emit) ICE ツリーを開きます。
  3. [移動データの初期化](Initialize Locomotion Data)または[スタジアム データの初期化](Initialize Stadium Data)コンパウンドのプロパティ ページで、[単一アニメーション ソースの使用](Use Single Animation Sources)オプションを選択します。
  4. [ソース](Source)リストから、同じシミュレーション内で同様にリグが設定された他のアクターに対して使用するアクション ソースを含んだアクター プロキシ(そのアクター ID に基づく - 「アクター ID」を参照)を選択します。

アクション ソースのアニメーションをテストする

アクション ソースに格納されたオリジナル アニメーションの速度を調べることができます。これは、特に、水平速度を設定する必要のあるアクション ソースを使用するときに適切なサイクル速度を調べる際に役立ちます。

  1. [アクター ポーズの取得](Get Actor Pose)コンパウンドをポストシミュレーション領域の ICE ツリーにプラグインします。これは、シミュレーション済みバージョンのアクション ソースを取得しないようにするためです。

  2. タイムライン上の現在のフレームを、群集シミュレーションの最初のフレームに設定します。
  3. [アクター ポーズの取得](Get Actor Pose)コンパウンドで、[サイクル インデックス](Cycle Index)を、アクション ソースのアクター ID (0、1、2、など)に一致するように設定します。
  4. [フレーム](Frame)値を調整します。特定の[フレーム](Frame)値まで進んで、そこでアニメーションをチェックしたり、[フレーム](Frame)値をスクラブしてサイクルとタイミングが正しいことを確認できます。

アクターが使用するアクション ソースを変更または更新する

1 つまたは複数のアクターを含む群集シミュレーションを作成した後で、シミュレーションでアクターが使用するアクション ソースを変更できます。たとえば、群集シミュレーションを行うためにアクターを選択するときにロードしたアクション ソースは「走行」だったが、その代わりに「ジョギング」するアクション ソースをアクターに使用させたい場合です。または、オリジナルの「走行」アクション ソースのアニメーションを改善のために修正しておいたものがあり、これを既にアクターに対してロードされている「走行」アクション ソースの代わりに使用しようとする場合です。

基本的には、ここで説明するように、既にロードされているアクション ソースを削除して、新しいアクション ソースを取得する必要があります。

  1. 変更するアクション ソースが適用されているアクターの[CrowdFX リグ プロキシ プロパティ エディタ](CrowdFX Actor Proxy Property Editor)を開きます。
  2. [選択済みアクション](Selected Actions)リストから、削除するロード済みのアクション ソースを選択し、[移動 <<](Move <<)ボタンをクリックして、これらを[アクション ソース](Action Sources)リストに移します。これはロードしているソースを明らかにするだけで、ICE ツリーでは何も変更されません。
  3. ロードする新しいアクション ソースを[アクション ソース](Action Sources)リストから[選択済みアクション](Selected Actions)リストに移します。
  4. このリストで新しいアクション ソースを選択し、[選択](Selected)ボタンをクリックして、アクター上にロードします。
  5. シミュレーション ポイント クラウドの[アニメーション ソースの取得](Get Animation Sources) ICE ツリーで、[アクター プロキシ アニメーションの取得](Get actor proxy Animations)コンパウンドから、削除されたアクション ソースの[Get Data]ノードをアンプラグまたは削除します。

    移動タイプのシミュレーションに対して、新しいアクション ソースが上から下に最低速から最高速の順序に表示されていることを確認します。

    このイメージでは、「走行」アクション ソースが削除され、新しくロードした「ジョギング」アクション ソースに置き換えられています。

  6. 未使用の[In Name]ポートを右クリックして、[ポートの削除](Delete Port)を選択します。これが削除されるのは、[ロード アクター サイクル](Load Actor Cycles)によって背後で行われる計算に「空白」データが追加されないようにするためです。

    これでアクターは「ジョギング」アクション ソースを使用できます。

  7. シミュレーション ポイント クラウドの他の ICE ツリーで設定されたロジックが、ロードした新しいアクション ソースで機能することを確認します。[移動データの初期化](Initialize Locomotion Data)コンパウンド(「アクターのアニメーションを制御する」参照)で新しいアクション ソースに対して設定された速度およびデュレーション データをチェックし、[スケルトン シミュレーション](Skeleton Simulation) ICE ツリー(「群集シミュレーションでのアクション ソースの使用方法」を参照)で設定された[ポーズ状態](Pose States)とその ID をチェックします。

2 つ以下のアクション ソースを使用する

移動シミュレーションで使用しているアクション ソースが 2 つ以下である場合、アクターが最後に使用したアクションの最後のフレームが保持され、正しくサイクルしません。これは、CrowdFX が既定で 3 つのソースを使用するように設定されているからです。使用する必要のない別のアクション ソースを追加するのではなく、[アニメーション ソースの取得](Get Animation Sources) ICE ツリーで 3 番目のソースを「偽装」できます。最後のアクション ソースの[Get Data]ノードの出力を、[アクター プロキシ アニメーションの取得](Get actor proxy Animations)コンパウンドの、次に使用可能な[In Name]ポートにプラグインするだけです。