Set Sleep: By Name


ASTER::ACTION::MotionControl::Set The Sleep Parameters; ByName

動作中のインスタンスを一時停止する、動作停止と動作再開を繰り返す。

モーションコントローラに登録されたオブジェクト・インスタンスを対象に、動作中のインスタンスを一時停止する機能。フレームタイムを指定したタイマー処理。

  • Stop 命令とは異なり、動作が再開されることを前提とした一時停止命令であり、動作の再開と停止を繰り返す回数を指定するパラメータ ( a repetition value ) を持つ。

  • モーションコントローラに登録されたインスタンス及びモーショングループの解除方法は二種類に大別されます。

method description
By Name モーショングループ名を指定して登録を一括解除する
LPRO Directly 個別インスタンスを直接指定して登録を解除

モーショングループ単位で登録を解除する場合は ByName 、条件一致したインスタンスのみを登録解除したい場合は LPRO Directly と使い分けします。


Parameter.1

モーショングループ名の指定

登録されているモーショングループが二つ以上ある場合、グループ名を指定すると該当グループにパラメータを設定できます。

Parameter Exsample Description
"ExMotion1" グループ名を指定したパラメータの設定
"" 空文字列を送信、登録されている全モーショングループが対象

グループ名を指定せず空文字を送信すると、現在登録されている全モーショングループが対象となります。


Parameter.2

三つのパラメータをシリアライズして一括送信

"30, -1, 30"
value Type Description
30 unsigned int FrameTimes ( Sleep ); 一時停止する時間
-1 int Repetition Count Number: -1 = infinite loop, 0 = deactivation
30 unsigned int FrameTimes ( Active Time ); 次回 Sleep までの待機時間
  • 時間単位はアプリケーションのフレームタイム、マイナス符号は利用できません。

Notes.1

書式を満たさないパラメータは書式エラーとなり、アクションの実行をキャンセルされます。

 " -30 , 9,  -30,"   <!--マイナス符号を利用してはいけない値にマイナス符号を利用、不要なカンマの挿入. -->

Notes.2

Sleep 命令を解除する場合、repetition を 0 に指定する

repetition 値に +1 以上の数値を与えると、指定時間待機した後に再度 Sleep に入る処理を繰り返します。

value repeats
-1 無限に繰り返す
0 Sleep 機能の停止
1 1 回だけ実行する
2 2 回繰り返す
3 3 回繰り返す

Notes.3

命令の上書き更新が可能

Sleep 動作中のオブジェクトインスタンスに Sleep 命令を追加で発行すると、新しい値でパラメータが上書きされます。

この仕様が Sleep 動作の繰り返し回数の上書きを可能にしていて、同時に Sleep 機能の停止も可能にしています。


Notes.4

Sleep 機能は Wrap|Flip , Sinewave , MoveTowards が対応

Null と Orbital には非対応。

  • Orbital は角速度に対応した Orbital 専用 Sleep 命令があります。