Set Null Motion


ASTER::ACTION::ObjectControl::MOTION::Set Null Motion

オブジェクト・インスタンスをモーション・コントローラに Null Motion として登録。

  • Null は「動作を持たないモーション」として登録されます。

モーション::概要

最低限のパラメータしか持たないため、登録後の動作負荷が少ない低コストなグループとして汎用的な利用が可能。

  • Reject 用のフラグおよびカウンタと Destory 用のフラグを持っています。

モーションコントローラーに対する登録及び登録解除を短い間隔で繰り返す利用法を想定しています。他モーションと異なりインスタンス管理用の C++ STL シーケンスコンテナに std::vector ではなく std::deque を採用しました。

モーション・コントローラへモーショングループを登録する際に、ユーザーが任意で決めた「モーショングループ名」を利用できます。


パラメータ.1

オブジェクト・インスタンスを選択。コントローラにはアクティブ ( スプライト ) のみ登録可能です。

Description of the image

アクティブ以外のオブジェクトタイプを指定した場合、イベントからアクション実行時にエラーが表示され、登録処理を中止します。


パラメータ.2

モーションコントローラへ登録するモーショングループ名を入力します。

異なるオブジェクトから作成されたインスタンスでも同じモーショングループ名でグループ化し、コントローラから管理できます。

すでにコントローラに登録済みのインスタンスを別グループ名から重複登録はできません

マルチバイト文字列 (日本語など) も利用可能ですが、実用上、アルファベット小文字で短い名前を推奨します。

"test"

アクティブオブジェクトに設定された名前をモーショングループ名として登録に利用する場合、空文字列を送信します。

""

その他、注意点

Null Motion は動作が無く、登録されただけではオブジェクトは動きません。

利用法は付属の動作サンプルで、具体的な使用例やイベントが閲覧できます。


登録可能上限、予約変数について »

仕様上の登録可能数

1 つのモーショングループに登録可能なインスタンス数は最大 255 個。 モーショングループは 1 モーション・タイプにつき 255 個までグループ登録できる。

type Max Groups Max Instances (Per Group) Total Instances (Per Motion Type)
Null 255 255 255 x 255 = 65,025
Flp | Wrp 255 255 255 x 255 = 65,025
Flp | Wrp::SineWave 255 255 255 x 255 = 65,025
Orbital 255 255 255 x 255 = 65,025
MoveTowards 255 255 255 x 255 = 65,025

上記は理論値であり CF25 の処理能力を超えているため、常に最大値未満で運用することになります。

実用的には、全登録モーションの全インスタンス数が最大 100 以下での動作を想定しています。


予約変数について

予約変数としてオブジェクト・インスタンスの変数から

  1. Alt Variable[0] = Spread ID

  2. Alt Variable[1] = Motion ID

上記を利用します。

Alt Variable[0]

連番、フレームエディタ上で一番最後に作られたオブジェクトインスタンスが 0 を割り当てられ、以降 +1 ずつ増加した値が順番に各インスタンスへ割り振られます。任意の値で上書き変更しても良い、安全。

Alt Variable[1]

モーションタイプ、0 ~ 4 までの数値、登録時のモーションタイプに応じた値が代入されます。データベース検索を高速化するためのマジックナンバー。変更するとコントローラが正常に検索できなくなります、危険。

rev.0.9.x 以降、Alt Variable[1] を利用しない方法が試行されていて、今は使ってないけれど、ただし元に戻すかもしれないので Alt Variable[1] は予約変数扱いのままでお願いします。