State machines

ユーザーは、ステートマシンに精通していなくても問題はありません。ユーザーは、それらが何であるか、そして、それらがどのように機能するかについてのインターネット上の多くの説明を確認することができるでしょう。特に、ゲーム分野などで。

つまり、ステートマシンは、多数のアニメーションステート(walk、idle、runなど)と、あるステートから別のステートに移行する方法を定義することができます。容易に進めるためには、ステートマシンはノード(State)を保有し、互いに接続されたグラフ(接続はトランジション)と考えることができます。

Atoms UIには、Atomsで使用されるステートマシンを定義できるState Machine Editorがあります。アクションの全リストについては、GUIの右下にあるクイックヘルプを確認してください。


アニメーションステートを作成する場合は、ビューポートを右クリックして「Add Animation State」を選択するか、「Add State」ボタンをクリックします。
接続を作成するには、ノードを右クリックしてドラッグします。

Inspector

Inspectorは、StateとTransition Clipを設定する場所です。

アニメーションステートを設定している場合は、ステートマシンなどのいくつかのAtoms Behaviour モジュールによって使用されるIDをそれに指定する必要があります(固有のIDはエディターによってデフォルトで設定されています)。同じステートマシン内の各ステートは、異なるIDを保有する必要があります。

各アニメーションステート、またはトランジションに複数のクリップを割り当てることができます。
3つの異なるMergeモードがあります。

  • Exclusive:Exclusive Clipのみが再生されます。こちらのモードが最優先です。Exclusive Clipがある場合、他のすべてのクリップは無視されます。複数のExclusive Clipがある場合は、最初のクリップだけが使用されます。
  • Merge:すべてのMerge Clipがマージされます。これは、Randomモードよりも優先されます。Merge Clipのみを保有することは、そのモードをExclusiveに設定することに似ています。
  • Random:リスト内のRandom Clipの1つが再生されます。各クリップの終わりには、別のランダムなクリップが使用されます。 Atoms 2.1.0から、Agentメタデータを使用して、各クリップのランダム確率を制御することができます。Tag Field内にメタデータ名を指定してから、その名前のメタデータをSimulation Agentに追加します。メタデータ値は、ランダム関数によって使用される量を表します。

最後に、7つの異なるモーションモードもあります。

Straight,TurnLeft, TurnRight, TurnUp, TurnDown, BankLeft, BankRight.

同じモーションモードのクリップだけがマージやランダム化され、互いに排除します。

各フレームでユーザーのエージェントの方向が変化し、現在のフレームのエージェントの方向と前フレームの方向によって表される角度が、ブレンディングシステムによって使用されます。例えば、Angle値を1にして2にブレンドするTurnLeft Clipを設定すると、上記の角度が1〜2度の間になると、私たちのエージェントはStraight ClipとTurnLeft Clipのブレンドを開始します。角度が2以上になると、TurnLeftクリップが再生されます。

角度とブレンドの値の単位は度です。
Max Turn Angleフィールドは、各フレームでの角度の変化(度)を制限します。


このRandom Loopオプション(デフォルトはオン)エージェントが特定のステートに入り、そのステートにすべてのクリップがランダムモードで含まれている場合:


  • オフ:ランダムなクリップが選択され、ループ内で使用されます。
  • オン:クリップの再生が終了するたびに、ランダムクリップがランダムに選択されます。

One Shot Clip(Non loopabe Clip)がステート内で使用されている場合は、常に、そのクリップのアニメーションが終了すると同時にトランジションがトリガーされます。

Transitions

2つのアニメーションステートを接続する場合は、Transitionを選択してInspector内でTransition Clipを割り当てることができます。
それをクリップに割り当てるとすぐに、エディタのTransitionに水色のドットが表示されます。

Transition UIは、State UIに似ています。しかし、唯一の違いは、Transition自体にブレンドインフレームとアウトフレームの値を指定できる点です。

2つのステート間のTransition Clipを指定せず、シミュレーションでステートの一方から他方へ引き渡すと、Atomsはそれらのステート間でストレートブレンドを行います。

2つのステートにTransitionが存在しない場合は、一方から他方へ移行することはできません。

常に、ユーザーのTransitionに名前を付けてください。名前を付与しない場合、Atomsによって評価されないため注意してください。

Preview

プレビューウィジェットには、選択したステートのアニメーションが表示されます。
下部には、アニメーションを再生/スクラブするためのコントロールと、ジョイントサイズを変更するためのコントロールがあります。

アニメーションを表示する前に、ユーザーはUI上部のドロップダウンリストから、有効なエージェントタイプを選択する必要があります。

2つのステート間のTransition(接続)を選択すると、プレビューにそのアニメーションが表示されます。

フットの下に表示される黄色い円は、それぞれのFootdown Stateを示しています。

ビューポートを右クリックすると、以下のオプションを含むメニューが表示されます。

  • Draw grid:ビューポート表示のグリッドを有効/無効にします。
  • Draw Joint Axis:ディスプレイのジョイント軸を有効/無効にします。
  • Lock Camera:カメラのロックを有効/無効にします。
  • Reset Camera:カメラの移動/回転をリセットします。
  • Test Loop:アニメーションクリップのループを有効または無効にします。


ナビゲーションコントロール

  • Alt +左​​クリックしてドラッグ:カメラを回転
  • Alt +中クリックでドラッグ:カメラをパン
  • Alt +右クリックしてドラッグ:ズームカメラ

Copyright © 2017, Toolchefs LTD.