Event Detect: Get the Sleep Time Count Value.


数値型で値を取得

ASTER::EXPRESSION::ObjectControl::Event Detect: Get the number of Sleep Time Counters

スリープ中のインスタンスからスリープ・タイムカウンタ値を得る。全モーション共通。

ASTER 内部でループ処理の実行中にイベントが発生した時、CF25 の即時実行条件 ( 割り込み処理 ) でイベント発生の正確なタイミングを CF25 に通知しています。この仕組みを ASTER では「 Event Detect 」と呼んでいます。

Event Detect で取得できる情報は有効期限が極めて短く揮発性の高い、高頻度で更新されます。


31_oCtrl_Orbital_TgtXy+Sleep_Align_Basic

Sleep 中のインスタンスから角度情報を得るイベントの作成例として:

Minion Minion

上記はスリープ中、かつスリープ・タイムカウンタ値が 30 の時、という条件で実行される。

Minion Minion

スリープに入ったインスタンスの位置情報を利用して、スリープ中のインスタンスにエフェクトを付ける動作サンプルです。以下はイベントリストエディタのスクリーンショット。エフェクトは Null Motion Template の Reject & Detroy を利用して 30 Frame Time 後、自動で削除されます。

Minion Minion


Parameter:

スリープ・タイムカウンタ値を整数で得ます

ExNumEvdSlpCt( "ASTER" )

Orbital 専用スリープ機能も含めた全てのスリープ・タイムカウンタがこの関数から取得できます。

時間の単位はアプリケーションフレームタイムです。


Event Detect の処理負荷について

Event Detect は CF2.5 の標準機能である高速ループの仕組みに近く、インスタンスの数に応じて処理コストは高くなります。

短い間隔でスリープ動作のオンオフ切り替えをすると、これも処理負荷が高まります。