ASTER::ACTION::ObjectControl:: Grow Radius for Orbital

Orbital :: Target XY with Sleep ( 12 Params )

周回動作には

  1. スタートアップ角度
  2. 中心点からのオフセット値
  3. スリープ動作 ( Dedicated for Orbital )
  4. 半径の動的変更命令 ( Grow Radius for Orbital )

上記四つのオプション設定があります。

Grow Radius は単純に周回動作の半径を変える単機能な命令ではなく、タイムインターバルやリピート機能を使った最大値から最小値への往復など多機能を備えています。

周回動作の半径に関する値を細かくカスタムし動的変更を加えることによって予測困難でランダム動作にすら見える周期的周回動作を作成可能になります。


動作サンプル ( 画像 )

e.g.

  "true,    200, 100, +.5, 60, -1,     200, 100, +.5, 10, -1"
  

The Orbital Motion Sample.1

e.g.

  "true,  200, 100, +.8, 60, -1,   200, 150, +.5, 10, -1"
  

The Orbital Motion Sample.2


パラメータ 1 ( ByName )

グループ名を指定します。


パラメータ 2

Grow Radius パラメータを文字列で一括送信します。構文チェックがあり数値の型指定は厳密に行われます。不正な構文はエラーとなります。

e.g.

  "true,  200, 100, +.5, 360, -1,   200, 100, +.5, 360, -1"
  
  true = grow Radius Flag ( Boolean >> true | false )

200  = Max Radius : 1 ( unsigned int )
100  = Minimum Radius : 1 ( unsigned int )
+.5  = Delta : 1 ( float ) >> increase | decrease with value to the Current Radius.
360  = frame time Interval : 1 ( unsigned int ) when arrive at the Max|Minimun Radius.
 -1  = repetition value :1 ( int ) -1 iz the infinite loop.

200, 100, +.5, 360, -1" = the Params for the Second Radius.
  

以下に個別パラメータの説明を記述します。


Grow Radius Flag ( Boolean )

Grow Radius 命令実行を決定する真偽値。truefalse で記述してください。

  • true の場合、実行する。

  • false の場合、実行しない ( 停止する ) 。

repetition 1. 2. 値を共に 0 にした場合、自動的に flag は false 判定となります。


Max Radius ( unsigned int )

半径 .1 = ( Radius .1 ) の最大値を設定します。値は符号無し整数、マイナス値もダメですがプラス値を符号使って明示的に記述することも構文エラーとします。符号の利用を禁じている理由として、このパラメータはマイナス値を受け付けない、絶対値なので符号の利用自体が意味を成さないためです。

  1. 駄目な例 » “-100
  2. 駄目な例 » “+100
  3. 良き » “100

Minimum Radius ( unsigned int )

最小の半径を符号なし整数で指定します。0 以上の数値、最大値 ( Max Radius ) よりも小さい値が必要です。


Delta ( float )

現在の半径に対して加算減算する数値、符号付の浮動小数点数 ( float ) で値を記述してください。半径の初期設定値が時間経過と共に指定された最大半径もしく最小半径と等しくなるまで加算減算されます。Delta の絶対値が大きくなるほど短時間で目標値に到達します。

値の書き方として

  1. 良き » “+0.1
  2. 良き » “-.1

float は 0.1 の場合 .1 という書き方をサポートしています。

符号の利用についてプラス値は任意ですが、パラメータの可読性を高めるため符号の利用を推奨します。

設定がプラス値の場合は最大半径を目指し、マイナス値の場合は最小半径を目指します。


Interval Frame Time ( unsigned int )

インターバルタイムの指定を符号なし整数で指定します。1 以上の数値が必要。

設定された目標値 ( 最大・最小半径 ) に到達した時点で Repetition 値が 0 ではない場合、インターバルを挟んで次の目標値まで半径が再度変更されます。

時間の単位はアプリケーションのフレーム設定に応じて変化するフレームタイム、一秒間に 60 回画面更新される設定のアプリケーションの場合、インターバルに 60 を指定された場合約一秒間、半径は変化せず同じ値を維持します。


Repetition Numbers ( int )

最大最小半径を往復する繰り返し動作回数を符号付き整数で指定します。

仕様上 repetition .1.20 を代入した場合 Grow Radius Flagfalse に変更されます。

repetition Numbers は 1 以上の数値を代入された場合、半径が最大もしく最小半径値に到達する毎に 1 減算されます。最終的に repetition が 0 になった時点で Grow Radius は動作を終了します。

マイナス値を代入した場合、永久ループ指定となり最大 ~ 最小半径内で往復を繰り返します。