MoveTowards: TGTARR
ASTER::ACTION::MotionControl::MoveTowards: The mvt.Target is a JSON Array
MoveTowards: TgtArr は、配列に格納された XY 座標データを移動目標に利用する動作テンプレートです。
mvt.Pursuer として選択されたオブジェクト・インスタンスは配列に格納された XY 座標を参照し、目標地点まで移動します。
移動が完了したらモーショングループは自動的に登録抹消されます。モーショングループが登録抹消されても mvt.Tgt あるいは mvt.Prs として選択されたインスタンスの選択情報は残っています。
利用する前に:
XY 座標データを格納したJSON 配列を参照するパスを ASTER へ登録してください。
以下は XY 座標を格納した JSON 配列のサンプル:
{
"xyCoords":[
[100,100],
[200,100],
[300,100],
[400,100]
]
}MoveTowards の群.A ( mvt.Target ) に JSON 配列へのパスを指定する関数について、パスの指定には JSON Pointer を使うけれど JSON 機能ではなく、Motion Control 機能の一部です。
似たようなコンセプトの JSON 機能に「 Targeted JSON Pointer 」というものがありますが、Targeted JSON Pointer で指定されたパスは MoveTowards:TgtArr では利用できません。
| function | description |
|---|---|
| JSON :: JSON Pointer :: Set Targeted JSON Pointer | General-Purpose Use |
| Motion&Control :: MvtUtil: Define an array path for MvT:TgtArr | Dedicated to MoveTowards:TgtArr |
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 の場合、インスタンスの移動が停止した直後に条件が一度だけ実行されます。
MoveTowards:TgtArr の動作サンプル
上記動作サンプルは CF25 の Event Editor から約 7 行 で作成可能です。

