An Animation clip is a specialized Simulation event used for loading new animation into Atoms Crowd. The animation clip will get its motion data from an fbx or atomsclip file.
Users can tweak their clips by editing the following values:
アニメーションクリップは、新規アニメーションをAtoms Crowdにロードするために使用される、特殊なシミュレーションイベントです。アニメーションクリップは、モーションデータをfbxファイル、またはatomsclipファイルから取得します。
ユーザーは、次の値を編集してクリップを調整することができます。
- Event Name:アニメーションクリップの名前。
- Clip path:クリップファイルへのパス。
- Additive Mode:このクリップの追加モード。Additive Modeは、「None」、「Bind」または「Reference」です。 Noneの場合、このクリップは通常のクリップを再生します。Bindにすると、このクリップは、指定したファイルとbindポーズのアニメーション値の差として評価されます。Referenceの場合は、Reference Clip Fileを指定する必要があります。このクリップは、2つのクリップファイルの差異として評価されます。Addクリップは、State Machine内でのみ使用されます。
- Blend Frames After foot up
- Loop, if the clip is a loopable clip. When this is off the animation clip becomes a "one shot clip". This will affect the behaviour of any state (state machine) using this clip.
- Start and End frames of your clips.
- Loop Blend, the number of frames used to blend when looping.
- Idle, this option does not do anything from version 2.4.0 and it will be removed in the next version of Atoms. Until version 2.3.0, if the clip is a idle clip or not. If Idle is on, the foot lock system will be disabled when playing this clip.
- Disable Foot Lock, If this option is on, the foot lock system will be disabled when playing this clip.
- Direction type: static, pelvis, joints or clip. Static: the clip will use as direction to the vector specified in the Direction field. Pelvis: the clip will use the pelvis velocity as direction. Joints: the direction of the clip will be the vector travelling from the first joint to the second joint (the joint ids are selected with the Direction Joints field). Clip: the direction is taken from the "clipDirection" metadata stored on the root pelvis joint.
- Direction, the direction used when the direction type is set to static.
- Direction Joints, the two joints ids used for defining the direction vector when the direction type is set to joints. The button on the right will show a pop up dialog to help you find the right joints id for a given agent type.
- Compatible Agent Type, the agent type compatible with this clip. This field is mandatory if you wish to retarget this clip onto a non compatible agent type.
- Transitions Frames, for long clips you might have different transition frames.
You can either enter them manually with a comma separated string (i.e. "10 , 50, 100") or let Atoms guess them for you by pressing the Auto button. Once pressed the field will be populated, but you will still be able to edit the string. If you don't specify transition frames only the loop end frame of the clip will be used. If you set -1 then every frame is used as a valid transition frame.
Transition Frames are used by state machines only. - Foot down data, the foot down state can now be edited directly inside the Atoms UI (from Atoms Crowd 2.0). Click on the "Load From Clip" button to load the graphs for each foot. You can edit the graphs and the changes will be stored in your animation clip as soon as it is registered. The foot down curves can also be computed automatically using the foot velocity or a ground height value, after the values have been computed users can still edit the curves.
Preview
The preview widget displays the animation for the selected clip. At the bottom you have controls for playing/scrubbing the animation and a control for changing the joint size.
Yellow circles appearing under the feet show the foot down state for each foot (this also reflecting the changes users might apply to the foot down data).
By right-clicking on the viewport, a menu will appear with the following options:
- Set start frame: set the Loop Start field with the current frame value
- Set end frame: set the Loop End field with the current frame value
- Use UI frame range: the preview will only display the frame range provided as input in the UI.
- Draw grid: enable/disable the grid in the viewport display
- Draw Joint Axis: enable/disable the joint axis in the display
- Lock Camera: enable/disable the locking on the camera
- Reset Camera: resets the translation/rotation of the camera
- Test Loop: enable/disable the animation clip looping
Navigation Controls:
- Alt + left click and drag: Rotate camera
- Alt + middle click and drag: Pan camera
- Alt + right click and drag: zoom camera
The clip direction
You might wonder why you need to set a direction for your clips. This is actually quite important, in fact if you set a wrong static direction for a clip you might end up having your agents going in the wrong direction.
Also it's important to understand that clips for a character should all share the same direction when used in a state machine, except few particular cases.
Atoms uses the clip direction to rotate your agent and match the actual agent direction (travelling direction) which is computed at each frame. For instance, if your clip is travelling mainly on the Z axis and you set the direction to be the X axis, you will see your agents rotated of 90 degrees on the Y axis later and they will move in the wrong direction.
Please check the Animation Clip chapter to understand better how to set up your agent direction.
- :足が下がった状態から出た後、ブレンドする場合に、使用されたフレームの数。
- Loop:クリップが単発クリップの場合。これがオフの場合、アニメーションクリップは「ワンショットクリップ」になります。これは、このクリップを使用しているすべての状態(ステートマシン)の動作に影響します。
- クリップのStartフレームとEndフレーム。
- Loop Blend:ループする時に、ブレンドを目的として使用されるフレームの数。
- Idle:このオプションはバージョン2.4.0からは何もしません。次のバージョンのAtomsでは削除される予定です。バージョン2.3.0までは、クリップがアイドルクリップかどうかは関係ありません。アイドルがオンの場合、このクリップを再生するとFootlock Systemは無効になります。
- Disable Foot Lock:このオプションがオンの場合、このクリップを再生する時に、Footlock Systemは無効になります。
- Direction type:Static、Pelvis、JointまたはClip。Static:クリップは、directionフィールドで指定されたベクトルへのディレクションとして使用されます。Pelvis:クリップはpelvisの速度をディレクションとして使用します。Joint:クリップのディレクションは、最初のジョイントから2番目のジョイントへ移動するベクトルになります(Joint IDは、Direction Jointフィールドで選択されます)。Clip:ディレクションは、root pelvisジョイントに格納されている「clipDirection」メタデータから取得されます。
- Direction:Direction typeがStaticに設定されている場合に使用されます。
- Direction Joints:Direction typeがJointに設定されている場合に、ディレクションベクトルを定義するために使用される2つのJoint IDです。右側のボタンをクリックすると、特定のエージェントタイプに適した、Joint IDを見つけるのに役立つポップアップダイアログが表示されます。
- Compatible Agent Type:こちらのクリップと互換性のあるエージェントタイプです。このクリップを互換性のないエージェントタイプにリターゲットする場合は、こちらのフィールドは必須です。
- Transitions Frames:長いクリップの場合は、Transitionsフレームが異なる場合があります。カンマ区切りの文字列(つまり "10、50、100")を使用して手動で入力するか、Autoボタンを押してAtomsに推測させることができます。一度押すとフィールドに値が入力されますが、それでも文字列を編集することができます。Transitionsフレームを指定しない場合、クリップのLoopEndフレームのみが使用されます。 -1を設定すると、すべてのフレームが有効なTransitionsフレームとして使用されます。Transitionsフレームは、State Machineによってのみ使用されます。
- Foot down data:フットダウンの状態は、Atoms UI(Atoms Crowd 2.0以降)内で直接編集できるようになりました。「Load From Clip」ボタンをクリックして、各フットのグラフをロードします。グラフを編集することができるため、変更は登録されるとすぐにアニメーションクリップに保存されます。値が計算された後、フットの速度または地面の高さの値を使用して、フットのカーブを自動的に計算することもできます。ユーザーはカーブを編集できます。
Preview
プレビューウィジェットには、選択したクリップのアニメーションが表示されます。下部には、アニメーションを再生/スクラブするためのコントロールと、ジョイントサイズを変更するためのコントロールがあります。フットの下に表示される黄色い円は、それぞれのフットダウンの状態を示しています(これは、ユーザーがフットダウンデータに適用する可能性のある変更も反映しています)。
ビューポートを右クリックすると、以下のオプションを含むメニューが表示されます。
- Set start frame:現在のフレーム値でLoop Startフィールドを設定します。
- Set end frame:Loop Endフィールドに現在のフレーム値を設定します。
- Use UI frame range:プレビューはUIの入力として提供されたフレーム範囲のみを表示します。
- Draw grid:ビューポート表示のグリッドを有効/無効にします。
- Draw Joint Axis:ディスプレイのジョイント軸を有効/無効にします。
- Lock Camera:カメラのロックを有効/無効にします。
- Reset Camera:カメラの移動/回転をリセットします。
- Test Loop:アニメーションクリップのループを有効/無効にします。
ナビゲーションコントロール
- Alt +左クリックしてドラッグ:カメラを回転
- Alt +中クリックでドラッグ:カメラをパン
- Alt +右クリックしてドラッグ:ズームカメラ
クリップの方向
クリップの方向を設定することに対して疑問に思うかもしれません。これは、実際に極めて重要となります。クリップに対して、誤ったスタティックな方向を設定した場合、エージェントが誤った方向を向く可能性があります。また、少数の特定の場合を除いて、ステートマシンで使用する場合、キャラクターのクリップはすべて同じ方向を共有する必要があることを理解することも重要となります。
クリップの方向は、クリップが空間内でどのように移動するかをAtomsに指示します。 Atomsは、クリップの方向を使用してエージェントを回転させて、各フレームで計算される実際のエージェントの方向(進行方向)と一致させます。例えば、クリップが主にZ軸上を移動している場合に、方向をX軸に設定すると、後にY軸上でエージェントが90度回転して、誤った方向に移動します。アニメーションクリップの章をチェックして、エージェントの方向を設定する方法を理解することを推奨します。