MoveTowards: Swap.EPs
ASTER::ACTION::MotionControl::MoveTowards: Pair & Swap XY Positions (Group A-B)
「
群.A」 と 「群.B」 として選択順に基づきペアを作り、時間内にインスタンスの位置を入れ替え
“MoveTowards: SwapEPs” は mvt.Target 及び mvt.Pursuer としてそれぞれ別々に選択されたインスタンスを選択順序に基づき 1 対 1 のペアを作り、ペアとなったインスタンス同士の位置を指定時間内に入れ替えます。
類似機能に MoveTowards: SwapTgt があり、SwapTgt は選択手順や選択数を簡略化した機能です。
| 機能 | ペア化の対象 | 動作内容 |
|---|---|---|
| SwapTgt | 同じグループ (mvt.Target) |
選択順に基づいてペアを作成し、位置を入れ替え |
| SwapEPs | 異なるグループ (mvt.Target と mvt.Pursuer) |
選択順に基づいてペアを作成し、位置を入れ替え |
移動が完了したらモーショングループは自動的に登録抹消されます。モーショングループが登録抹消されても mvt.Tgt あるいは mvt.Prs として選択されたインスタンスの選択情報は残っています。
利用する前に
インスタンス同士がペアを作り、時間内に互いの位置を入れ替える動作を
MoveTowards: Swapと定義します。
mvt.Target と mvt.Pursuer の選択は MoveTowards 用に設計された以下ユーティリティ ( MvtUtil ) が利用できます。
-
ASTER :: Action :: MotionControl :: MvtUtil: Define max selectable instances for mvt.Tgt & mvt.Prs
-
ASTER :: Action :: MotionControl :: MvtUtil: Toggle selection state for mvt.Target
-
ASTER :: Action :: MotionControl :: MvtUtil: Toggle selection state for mvt.Pursuer
-
ASTER :: Action :: MotionControl :: MvtUtil: Reset All Selections ( mvt.Tgt & mvt.Prs )
-
ASTER :: Action :: MotionControl :: MvtUtil: Reset Selections ( mvt.Pursuer )
-
ASTER :: Expression :: MotionControl :: MvtUtil: Get total selections of mvt.Target
-
ASTER :: Expression :: MotionControl :: MvtUtil: Get total selections of mvt.Pursuer
mvt.Target として選択されたインスタンスの情報を JSON ヘエクスポートできます。
-
ASTER :: Action :: JSON :: MvtUtil: Export fixed values of mvt.Target as a JSON array
-
ASTER :: Action :: JSON :: MvtUtil: Export fixed values of mvt.Pursuer as a JSON array
-
ASTER :: Action :: JSON :: MvtUtil: Export xy coordinates of mvt.Target as a JSON 2D array
-
ASTER :: Action :: JSON :: MvtUtil: Export xy coordinates of mvt.Pursuer as a JSON 2D array
関連付けしたいインスタンスをキャッシュする機能: 実験的
-
ASTER :: Action :: MotionControl :: MvtUtil: Cache a related instance
-
ASTER :: Action :: MotionControl :: MvtUtil: Destroy a related instance
Parameter.1
モーションコントローラへ登録するモーショングループ名を入力します。
異なるオブジェクトから作成されたインスタンスでも同じモーショングループ名でグループ化し、コントローラから管理できます。
すでにコントローラに登録済みのインスタンスを別グループ名から重複登録はできません。
マルチバイト文字列 (日本語など) も利用可能ですが、実用上、アルファベット小文字で短い名前を推奨します。
"test"アクティブオブジェクトに設定された名前をモーショングループ名として登録に利用する場合、空文字列を送信します。
""Parameter.2
8 つのパラメータを文字列化して送信します。
" 60, false, 0, 30, -1, false, 30, false "| argument | Name | type | descriptions |
|---|---|---|---|
| 60 | timebound | unsigned int | 動作完了するまでの時間、Frame Time |
| false | EvD: Motion Start | Boolean | Event Detection Flag (rev.1.0.5) |
| 0 | motion-type | unsigned int | 実装は 0 のみ ( rev.1.0.x ) |
| 30 | Sleep Time | unsigned int | スリープで一時停止する時間、Frame Time |
| -1 | Sleep Repetition | int | スリープを何回繰り返すか、-1 は無限、0 は無効化 |
| false | Sleep Begin Flag | boolean | 動作開始時にスリープを有効化するフラグ |
| 30 | Sleep Interval Value | unsigned int | 次回スリープまでの時間、Frame Time |
| false | EvD: Motion Close | Boolean | Event Detection Flag (rev.1.0.5) |
Time Bound
unsigned int
移動を完了するのに要する時間、アプリケーションフレームタイム。60 FPS 動作設定のアプリケーションの場合、60 は約一秒に相当する。
距離に応じた時間単位の移動量を割り出すための値、与えられた条件に応じて移動速度は速くなり遅くなります。
目標座標までの距離を測り、設定された制限時間を用いて移動量を算出する仕様なので、制限時間にマイナス値を代入できない。
0 を代入した場合、動作をキャンセルする。
EvD Flag: about to start moving
boolean
イベント検出フラグ: true の場合、インスタンスが動き出す直前に条件が一度だけ実行されます。
Motion Type
unsigned int
0 を代入してください。等速直線運動を選択。
MoveTowards のサブモーションタイプ設定。ASTER rev.1.0.x には 0 以外実装が無い。将来的なアップデートで対応。
Sleep Time
unsigned int
動作を一時停止する時間を設定、アプリケーションフレームタイム。60 FPS 動作設定のアプリケーションの場合、60 は約一秒に相当する。
マイナス値を代入できない。
Sleep Repetition
int
スリープが終了後、スリープを再開する回数を設定する。スリープを利用しない場合、0 を代入してください。
-1 の場合、無限ループ。
Sleep Begin Flag
boolean
MoveTowards による移動開始時にスリープ・フラグを有効化して開始するか、否かを決定するフラグ。
true の場合、まず一時停止から始まり、スリープが終了後に移動を開始する。
false の場合、移動を開始し、時間が来たら一時停止する。
Sleep Interval
unsigned int
スリープ終了後、再び一時停止するまでの時間を設定する。アプリケーションフレームタイム。
マイナス値を代入できない。
EvD Flag: The moment after stops moving
boolean
イベント検出フラグ: true の場合、インスタンスの移動が停止した直後に条件が一度だけ実行されます。
Note
mvt.Target 及び mvt.Pursuer は選択された順番が ASTER に記録されていて、選択順でペアを作ります。
インスタンス同士でペアを作る際にペアを作れない余りが生じた場合、SwapEPs の仕様ではペアを作れなかったインスタンスの処理はスキップされます。
SwapTgt の仕様ではインスタンスを必ず 2 つ選択するため、余りは生じません。