操作手順

オブジェクト・モーションコントロールを利用する場合の手順は以下で概ね共通化されています。


テンプレートの選択

大別すると4種類のモーションテンプレートが選択できます。

  1. Null
  2. Horizontal | Vertical
  3. Orbital
  4. MoveTowards

それぞれのモーションテンプレートには派生型があり、特に派生型の種類が多いのは Horizontal | Vertical です。

  1. Horizontal :: Wrap
  2. Horizontal :: Flip
  3. Vertical :: Wrap
  4. Vertical :: Flip

Sinewave は群に対して命令を行う設計になっているため、単純な縦横移動の派生ではなく発展型という位置づけです。

  1. Horizontal :: Wrap :: Sinewave
  2. Horizontal :: Flip :: Sinewave
  3. Vertical :: Wrap :: Sinewave
  4. Vertical :: Flip :: Sinewave
Description of the image
複数インスタンスで構成された「群」という概念に対して効率的にパラメータ設定を実行できる点が ASTER の Motion Control の特徴です。 Sinewave は群に対して「群として働く」パラメータ設定を行うことができるモーションテンプレートの内では初歩的なものです。

Orbital や MoveTowards は群に対して「群として働く」パラメータ設定以外に「ターゲット」という概念を持つ動作です。

  1. Orbital :: OwnXy
  2. Orbital :: TgtXy
  3. MoveTowards :: Tgt
  4. MoveTowards :: TgtArr
  5. MoveTowards :: SwapTgt
  6. MoveTowards :: SwapEPs
Description of the image
Orbital は周回の中心座標を他インスタンス ( Target ) から取得しています。ターゲットの位置を常に参照し追従しながら周回する動作も作ることができ、単純な周回動作に加え複雑な軌道も描くことができます。
Description of the image
Orbital は角移動単位なので角度を指定したカスタムイベントを作ることもできます。

共通基本命令

モーションテンプレートは共通化された基本命令を持っています。

モーションを持たない Null モーションは例外なので Stop や Sleep は機能しませんが、それ以外の全モーションで以下4つ、RejectDestroyStopSleep が利用できます。


基本命令 :: Reject

登録済みモーショングループを動作コントローラから登録抹消する基本命令です。

モーショングループ名を指定してグループ全体を登録抹消する ByName 系、選択されたインスタンスに絞って個別に登録抹消する Direct 系、二種類があります。

TimeBound 値に応じて一定時間経過後に命令実行される Timer 機能付き。

共通化された基本命令の中では最上位の命令、他命令の影響を一切受けない、命令発行後に TimeBound など条件変更や実行の取り消しができない仕様。


基本命令 :: Destroy

単独で利用されることはない。インスタンスを破壊する命令。

Reject と Destroy を組み合わせた Reject + Destroy 命令で利用されます。

モーション登録されたインスタンスを登録抹消前にインスタンス破壊されるのは困るので、先に Reject し次いで破壊がセットになっています。


基本命令 :: Stop

モーションを一時停止 ( Stop ) する。

停止命令は Sleep と似ていますが、動作を再開する前提で一時停止する Sleep に対して Stop 命令は Sleep 命令を含めて動作停止することができる上位命令と位置付けられています。

ただし Reject 命令よりも下位なので Reject は Stop 命令で停止できません。


基本命令 :: Sleep

再開する前提でモーションを一時停止する命令。時間制限付きで停止と動作再開を繰り返し実行するため Repetition 値を持っているのが特徴。

Sleep 命令は Orbital モーションに対しては角度単位で機能する専用の Sleep :: Angluar が派生機能にあります。

ただし Orbital はパラメータ設定に Sleep を取り込んでいるため、Sleep 命令を後から発行する機会はありません。

Sleep は Stop の下位命令なので Sleep 中に Stop 命令を発行すると Sleep も含めて動作が停止されます。Stop 中は Sleep のカウンタも停止するため、Stop が解除されるまで Sleep も停止した状態を維持します。


動作拡張命令

モーションは特性に応じて固有の「動作拡張命令」を持っています。

直線移動である Horizontal | Vertical の派生とカウントされている Flip | Wrap ですが、動作を拡張するための命令なので動作拡張命令の一部でもあります。

移動量を符号反転する Reverse Movement は Null 以外全動作で適用できます。

Sinewave と Orbital は「角速度 ( Angular Velocity ) 」と「半径 ( Radius ) 」という共通概念があり、これら動作は拡張として GrowRadius 命令をそれぞれ専用の動作拡張命令として持っています。

Description of the image
Grow Radius for Sinewave
Description of the image
Grow Radius for Orbital

その他、Orbital 専用として Change Target 命令があります。