In Atoms you can save your simulation on disk using the Atoms cache, then is possible to reuse these caches using the "cacheReader" behaviour module. The Atoms Cache is lightwave and fast. Compared to live simulation it can increase the performance of your scene.
With the cache reader and the agents layout tool you can edit and tweak your cache.
Exporting a cache
You can open the cache exporter GUI using the shelf button or via the Atoms Menu: AtomsAtomsでは、Atoms cacheを使用して、シミュレーションをディスクに保存できます。その後、これらのキャッシュを「CacheReader」Behaviourモジュールで再利用することができます。 Atoms Cacheは、軽量で高速です。ライブシミュレーションを使用する場合と比較して、シーンのパフォーマンスを劇的に向上させることができます。
Cache ReaderとAgent Layout Toolを使用すると、キャッシュを編集および調整できます。
Cacheをエクスポートする
Cache Exporter GUIは、シェルフボタンを使用するか、Atomsメニューから開くことができます。Atoms > Export > Cache Exporter
Change agents speed
You can also change the agent speed changing the frameRate attribute. This attribute is a multiplier on the input time.
- Create an agent group and import your cache using the cacehReader behaviour module
- To change the speed of some agents open the override agent dialog next to frameRate attribute
- Select the agents you want modify form the list or use the Agents Layout Tool to select the agents, the selection inside the override dialog changs automatically
- Set a value of 0.5 in the value field and then press "Set Value" button
- Rewind the scene and press play
Offsetframe
You can offset the cache frame for each agent, so an agent can start playing the frame 10 instead start from the frame 0
- Create an agent group and import your cache using the cacehReader behaviour module
- To offset the start frame of some agents open the override agent dialog next to frameOffset attribute
- Select the agents you want modify form the list or use the Agents Layout Tool to select the agents, the selection inside the override dialog changes automatically
- Set a value of 10 in the value field and then press "Set Value" button
- Rewind the scene and press play
Duplicate agents
You can clone agents inside a cache
- Create an agent group and import your cache using the cacehReader behaviour module
- Select the agent group and from the Atoms menu: Atoms → Tools → Agents Layout Tool
- Press Q to switch to the seleciton mode or press or RMB on the viewport and choose Select mode
- Select the agents you want duplicate
- Press the button "Duplicate selected agents" or press RMB and choose "Duplicate agents"
- Atoms duplicates the selected agents and moves the new agents a little bit
- Press W to switch to the move mode or press or RMB on the viewport and choose Move mode and move the new agents where you want
- Rewind the scene and press play
Resim agents
The cache reader module giv you the possibility to risimulate some agents, so oyu can apply modules that change the atoms direction etc...
- Create an agent group and import your cache using the cacehReader behaviour module
- Select the agent group and from the Atoms menu: Atoms → Tools → Agents Layout Tool
- Press Q to switch to the seleciton mode or press or RMB on the viewport and choose Select mode
- Select the agents you want duplicate
- Open the override agent dialog next to directionFromCache attribute
- Set a value of 0
- Create a curve near the selected agents
- Add a follow curve module
- Attach the curve to the follow curve module
- Rewind the scene and press play, now the selected agents will follow the curve
- Add a grid layout behaviour module and set the size attribute to (10エージェントグループを作成します。
- Grid Layout Behaviourモジュールを追加し、Sizeアトリビュートを(10,0,10)
- Now open the cache exporter form the Atoms menu: Atoms 10)に設定します。
- State Machine Behaviourモジュールを追加して、Stateアトリビュートを1に設定します。
- 他のエージェントグループをいくつか作成して移動します。
- Atomsメニューから、Cache Exporterを開きます。Atoms > Export > Cache Exporter
- Select the agent groups you have created from the list, then choose a path where your cache will be saved.
- Finally select your start and end frame.
- Click on the "Export" button
There also few other options:
- Multithread: to be used for high number of agents
- Compress: compress each cache file
- Random Access Compress: compress each agent in the file. Best if you are planning to read randomly the agents keeping the benefit of compression; for instance, if you will time offset agents singularly later on.
Importing a cache
You can import a cache in a scene using the cacheReader behavuour module
- Create and agent group
- Add a cacheReader behaviour module
- in the cachePath attribute of the cache reader module pick the cache file (the file named youCacheName.atoms)
- Rewind the scene and atoms will load the cache. It also automatically load all the agentType that are missing from your scene
- You can move, rotate the agent groups to place it where you want and you can create multiple agent group to load different caches or the same cache multiple times
Editing a cache
When a cache is loaded in your scene you can still edit it to change your layout or simulation.
Apply a new height field
Even if you exported the cache from some agent groups on a height field you can apply a new height field to your cache
- Create a new height field
- Create an agent group and import your cache using the cacehReader behaviour module
- in the height field attribute of the cache reader module select the new hegith field
- Rewind the scene and press play
Move agents
- Create an agent group and import your cache using the cacehReader behaviour module
- To move agents you can use the transitionOffset attribute or you can use the Agents Layout Tool
- Select the agent group and from the Atoms menu: Atoms → Tools → Agents Layout Tool
- Press Q to switch to the seleciton mode or press or RMB on the viewport and choose Select mode
- Select the agents you want move
- Press W to switch to the move mode or press or RMB on the viewport and choose Move mode
- Use the manupulator to move the agents where you want, in maya 2016 the manipulator doesn't work so just press the LMB where you want move the agents
- Rewind the scene and press play
Rotate agents
- Create an agent group and import your cache using the cacehReader behaviour module
- To retate agents you can use the rotationOffset attribute or you can use the Agents Layout Tool
- Select the agent group and from the Atoms menu: Atoms → Tools → Agents Layout Tool
- Press Q to switch to the seleciton mode or press or RMB on the viewport and choose Select mode
- Select the agents you want rotate
- Press E to switch to the rotate mode or press or RMB on the viewport and choose Rotate mode
- Press the LMB and move the mouse on the left or on the right to rotate the agents
- Rewind the scene and press play
Delete agents
- Create an agent group and import your cache using the cacehReader behaviour module
- To delete agents you can use the filterAgent attribute (set value of 1 to remove an agent) or you can use the Agents Layout Tool
- Select the agent group and from the Atoms menu: Atoms → Tools → Agents Layout Tool
- Press Q to switch to the seleciton mode or press or RMB on the viewport and choose Select mode
- Select the agents you want delete
- And from the ui press the "Delete Selected Agents" button or RMB and "Delete agents" from the menu
- Rewind the scene and press play
- リストから作成したエージェントグループを選択してから、キャッシュを保存する場所のパスを選択します。
- 最後に、開始フレームと終了フレームを選択します。
- 「Export」ボタンをクリックしてください。
Cacheをインポートする
CacheReader Behaviourモジュールを使用して、シーンにキャッシュを読み込むことができます。
- エージェントグループを作成します。
- CacheReader Behaviourモジュールを追加します。
- Cache ReaderモジュールのCachePathアトリビュートで、キャッシュファイル(youCacheName.atomsという名前のファイル)を選択します。
- シーンを巻き戻すと、Atomsがキャッシュをロードします。シーンに存在しない、すべてのエージェントタイプも自動的にロードされます。
- 異なるキャッシュ、または同じキャッシュを複数回ロードするために、複数のエージェントグループを作成することができます。ユーザーは、それらの周辺を移動して回転させることができます。
Cacheを編集する
キャッシュがシーンにロードして場合でも、レイアウトやシミュレーションを変更するために編集することができます。
新しいHeightフィールドを適用する
Heightフィールドの一部のエージェントグループから、キャッシュをエクスポートした場合でも、新しいHeightフィールドをキャッシュに適用することができます。
- 新しいHeightフィールドを作成します。
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- Cache ReaderのHeight Fieldアトリビュートで、新しいHeightフィールドを選択します。
- シーンを巻き戻して、Playを押します。
エージェントの移動
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントを移動するには、TransitionOffsetアトリビュートを使用するか、またはAgent Layout Toolを使用します。
- エージェントグループを選択し、AtomsメニューからAgents Layout Toolをアクティブにします。menu:Atoms Tools > Agents Layout Tool
- Qを押して、Selectモードに切り替えるか、ビューポートでの選択、またはRMBを押してSelectモードを選択します。
- 移動したいエージェントを選択します。
- Wを押して、moveモードに切り替えるか、ビューポートでの選択、またはRMBを押してmoveモードを選択します。
- マニピュレータを使用して、必要な場所にエージェントを移動すると、Maya 2016では、マニピュレータは機能しません。エージェントを移動したい場所で、LMBを押します。
- シーンを巻き戻して、Playを押します。
エージェントの回転
- エージェントグループを作成し、CacheReader Behaviourモジュールを使用してキャッシュをインポートします。
- エージェントを回転させる場合は、RotationOffsetアトリビュートを使用するか、またはAgent Layout Toolを使用します。
- エージェントグループを選択し、AtomsメニューからAgents Layout Toolをアクティブにします。menu:Atoms Tools > Agents Layout Tool
- Qを押して、Selectモードに切り替えるか、ビューポートで、またはRMBを押してSelectモードを選択します。
- 回転させたいエージェントを選択します。
- Eを押して、rotateモードに切り替えるか、ビューポートで、またはRMBを押してrotateモードを選択します。
- 左マウスボタンを押し、マウスを左右に動かしてエージェントを回転させます。
- シーンを巻き戻して、Playを押します。
エージェントの削除
- エージェントグループを作成し、CacheReader Behaviouモジュールを使用してキャッシュをインポートします。
- エージェントを削除する場合は、FilterAgentアトリビュート(エージェントを削除するには、値を1に設定)を使用するか、またはAgents Layout Toolを使用します。
- エージェントグループを選択し、AtomsメニューからAgent Layout Toolをアクティブにします。menu:Atoms Tools > Agents Layout Tool
- Qを押して、Selectモードに切り替えるか、ビューポートで、またはRMBを押してSelectモードを選択します。
- 削除したいエージェントを選択します。
- そして、UIから「Delete Selected Agents」ボタン、またはRMBを押してメニューから「Delete Agents」を押します。
- シーンを巻き戻して、Playを押します。
エージェントの速度を変更する
FrameRateアトリビュートを変更して、エージェントの速度を変更することもできます。このアトリビュートは、入力の時間の乗数です。
- エージェントグループを作成し、CacheReader Behaviouモジュールを使用してキャッシュをインポートします。
- 一部のエージェントの速度を変更するには、「FrameRate」アトリビュートの横にある「Override Agent Dialog」を開きます。
- リストから変更するエージェントを選択するか、またはAgent Layout Toolを使用してエージェントを選択します(override dialog内の選択は自動的に変わります)。
Valueフィールドに0.5の値を設定してから、「Set Value」ボタンを押します。 - シーンを巻き戻して、Playを押します。
オフセットフレーム
エージェント毎にキャッシュフレームをオフセットすることができるため、エージェントはフレーム0ではなくフレーム10から再生を開始できます。
- エージェントグループを作成し、CacheReader Behaviouモジュールを使用してキャッシュをインポートします。
- 一部のエージェントの開始フレームをオフセットする場合は、FrameOffsetアトリビュートの横にある「Override Agent Dialog」を開きます。
- リストから変更するエージェントを選択するか、またはAgent Layout Toolを使用してエージェントを選択します(Override Dialog内の選択は自動的に変わります)。
Valueフィールドに値10を設定した後、「Set Value」ボタンを押します。 - シーンを巻き戻して、Playを押します。
エージェントの複製
エージェントをキャッシュ内に複製することができます。
- エージェントグループを作成し、CacheReader Behaviouモジュールを使用してキャッシュをインポートします。
- エージェントグループを選択し、AtomsメニューからAgent Layout Toolを起動します。menu:Atoms Tools > Agents Layout Tool
- Qを押して、Selectモードに切り替えるか、ビューポートでまたはRMBを押してSelectモードを選択します。
- 複製したいエージェントを選択します。
- 「Duplicate Selected Agents」ボタンを押すか、またはRMBを押して「Duplicate Agents」を選択します。
- Atomsは、選択したエージェントをオフセット付きで複製します。
- Wを押して、moveモードに切り替えるか、ビューポートで、またはRMBを押してmoveモードを選択し、目的の場所に新しいエージェントを移動します。
- シーンを巻き戻して、Playを押します。
エージェントの再シミュレーション
Cache Readerモジュールを使用すると、任意のエージェントを再度シミュレートすることができるので、Directionモジュールなどを適用できます。
- エージェントグループを作成し、CacheReader Behaviouモジュールを使用してキャッシュをインポートします。
- エージェントグループを選択し、AtomsメニューからAgent Layout Toolをアクティブにします。menu:Atoms Tools > Agents Layout Tool
- Qを押して、Selectモードに切り替えるか、ビューポートで、またはRMBを押してSelectモードを選択します。
- いくつかのエージェントを選択してください。
- DirectionFromCacheアトリビュートの横にある「Override Agent Dialog」を開きます。
- 値0を設定してください。
- 選択したエージェントの近くにCurveを作成します。
- Follow Curveモジュールを追加します。
- カーブをFollow Curveモジュールに接続します。
- シーンを巻き戻して、Playを押すと、選択したエージェントがカーブをたどります。
Cache Manager の使用方法
Cache Readerモジュールを使用すると、パフォーマンスを向上させるために、シミュレーションを再生しながらAtomsは、キャッシュの一部のフレームをメモリに格納します。Cache Manager UIを使用して、事前にキャッシュをロードし、Cache Managerによって指定している最大メモリ量を増やすことができます。詳しくは、Cache Managerのセクションをご覧ください。