エージェントのCache - Houdini
Atomsでは、Atoms Cacheを使用して、シミュレーションをディスクに保存することができます。その後、これらのキャッシュを「CacheReader」Behaviourモジュールで、再利用することができます。 Atoms Cacheは、軽量で高速です。ライブシミュレーションを使用した場合と比較すると、シーンのパフォーマンスを劇的に向上させることができます。
Cache ReaderとAgent Layout Toolを使用すると、キャッシュを編集および調整できます。
キャッシュのエクスポート
Cache ExporterのGUIは、シェルフボタンを使用するか、Atomsメニューから開くことができます。Atoms > Export > Cache Exporter
- エージェントグループを作成します。
- Grid Layout Behaviourモジュールを追加し、Sizeアトリビュートを(10,0,10)に設定します。
- State Machine Behaviourモジュールを追加して、Stateアトリビュートを1に設定します。
- 他のエージェントグループをいくつか作成して移動させます。
- AtomsメニューからCache Exporterを開きます。Atoms > Export > Cache Exporter
- リストから作成したエージェントグループを選択してから、キャッシュを保存する場所のパスを選択します。
- 最後に開始フレームと終了フレームを選択します。
- 「Export」ボタンをクリックしてください。
キャッシュのインポート
CacheReader Behaviourモジュールを使用して、シーンにキャッシュを読み込むことができます。
- エージェントグループを作成します。
- CacheReader Behaviourモジュールを追加します。
- Cache ReaderモジュールのCachePathアトリビュートで、Cacheファイル(youCacheName.atomsという名前のファイル)を選択します。
- シーンを巻き戻すと、Atomsがキャッシュをロードします。シーンに存在しないすべてのエージェントタイプも自動的にロードされます。
- 異なるキャッシュまたは同じキャッシュを複数回ロードするために、複数のエージェントグループを作成できます。またユーザーは、それらの周辺を移動して回転させることができます。
キャッシュの編集
キャッシュがシーンにロードされた後でも、レイアウトやシミュレーションを変更するために編集することができます。
新しいHeightフィールドを適用する
Heightフィールドの一部のエージェントグループからキャッシュをエクスポートした場合でも、新しいHeightフィールドをキャッシュに適用することができます。
- 新しいHeightフィールドを作成します。
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- CacheReaderモジュールのHeight Fieldアトリビュートに、作成した新しいHeightフィールドの名前を設定します。
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
エージェントを移動させる
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントを移動するには、TransitionOffset アトリビュートを使用するか、またはAgent Layout Toolを使用します。
- エージェントグループを選択し、AtomsメニューからAgents Layout Toolを起動します。Atoms Tools > Agent Layout ToolまたはEnterキーを押します。
- Qを押して、Selectモードに切り替えるか、Agent Layout Tool UIからを押します(Pを押して、UIを表示します)。
- 移動したいエージェントを選択します。
- Aを押して、Moveモードに切り替えるか、UIからを押します。
- マニピュレータを使用して、エージェントを目的の場所に移動します。
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
エージェントを回転させる
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントを回転させるには、RotationOffsetアトリビュートを使用するか、またはAgents Layout Toolを使用します。
- エージェントグループを選択し、AtomsメニューからAgent Layout Toolをアクティブにします。Atoms Tools > Agents Layout Tool
- Qを押して、Selectモードに切り替えるか、Agent Layout Tool UIからを押します(Pを押して、UIを表示します)。
- 回転させたいエージェントを選択します。
- Zを押して、Rotateモードに切り替えるか、UIからを押します。
- LMBを押して、左または右にマウスを動かしてエージェントを回転させるか、Shift + LMBを押してグループピボットを中心に回転させます。
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
エージェントを削除する
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントを削除するには、FilterAgentアトリビュート(エージェントを削除する場合は、値を1に設定)を使用するか、またはAgent Layout Toolを使用します。
- エージェントグループを選択し、AtomsメニューからAgents Layout Toolをアクティブにします。Atoms Tools > Agent Layout Tool
- Qを押して、Selectモードに切り替えるか、UIからを押します。
- 削除したいエージェントを選択します。
- そして、UIから「Delete Selected Agents」ボタンを押してください。
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
エージェントのスピードを変更する
FrameRateアトリビュートを変更してエージェントの速度を変更することもできます。このアトリビュートは、入力時間の乗数です。
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- 一部のエージェントの速度を変更する場合は、FrameRateアトリビュートの横にあるエージェントのOverride dialogを開きます。
- リストから変更するエージェントを選択するか、Agent Layout Toolを使用してエージェントを選択します(Override dialog 内の選択は、自動的に変わります)。
- Valueフィールドに0.5の値を設定した後、「Set Value」ボタンを押します
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
オフセットフレーム
エージェント毎に、キャッシュフレームをオフセットすることができるため、エージェントはフレーム0ではなくフレーム10から再生を開始できます。
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- 一部のエージェントの開始フレームをオフセットする場合は、FrameOffsetアトリビュートの横にあるエージェントのOverride Dialog を開きます。
- リストから変更するエージェントを選択するか、Agent Layout Toolを使用してエージェントを選択します(Override Dialog内の選択は、自動的に変わります)。
- Valueフィールドに15の値を設定してから、「Set Value」ボタンを押します。
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
エージェントの複製
キャッシュ内にエージェントを複製することができます。
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントグループを選択し、AtomsメニューからAgent Layout Toolをアクティブにします。Atoms Tools > Agent Layout Tool
- Qを押して、Selectモードに切り替えるか、UIからを押します。
- 複製したいエージェントを選択します。
- 「Duplicate Selected Agents」ボタンを押します。
- Atomsは、選択したエージェントをオフセット付きで複製します。
- Aを押して、Moveモードに切り替えるか、を押して新しいエージェントを目的の場所に移動します。
- シーンを巻き戻すか、シェルフからUpdateSimを押して、Playを押します。
エージェントの再シミュレーション
CacheReaderモジュールを使用すると、任意のエージェントを再度シミュレートすることができるので、Directionモジュールなどを適用できます。
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントグループを選択し、AtomsメニューからAgent Layout Toolをアクティブにします。Atoms Tools > Agent Layout Tool
- Qを押して、Selectモードに切り替えるか、ビューポート上で、またはRMBを押してSelectモードを選択します。
- いくつかのエージェントを選択します。
- DirectionFromCacheアトリビュートの横にあるOverride Agent Dialog を開きます。
- 値を0に設定します。
- 選択したエージェントの近くにカーブを作成します。
- Follow Curveモジュールを追加します。
- カーブをFollow Curveモジュールにアタッチします。
- シーンを巻き戻して、Playを押すと、選択したエージェントがカーブをたどります。
Cache Managerの使用方法
CacheReaderモジュールを使用すると、パフォーマンスを向上させるためにシミュレーションを再生しながら、Atomsは、キャッシュの一部のフレームをメモリに格納します。
Cache Manager UIを使用して、事前にキャッシュをロードし、Cache Managerによって指定されている最大メモリ量を増加させることができます。詳しくは、Cache Managerのセクションをご覧ください。
Copyright © 2017, Toolchefs LTD.