【アクエディ4講座(仮)】コマンド「ウェイト」と、1/60秒ウェイト
アクションエディター4には、ウェイトというコマンドが用意されている。
これは、指定した秒数分、後続のコマンドを遅らせるというもの。
こちらのコマンドは、主にキャラクターの攻撃間隔などを設定するのに用いられる。
ウェイトの設定ダイアログはとてもシンプルで、実行時間と分身値のみ。
並列実行のチェックボックスもあるが、こちらははっきり言って全く意味をなさない。
実行時間とは、そのまま後続のコマンドを遅らせる時間になる。分身値の値はここでは割愛する。
アクションエディター4は60FPS、つまり1/60秒単位で処理が行われる。
しかし、ウェイトの実行時間は1/10秒(0.1秒)単位でしか設定できないため、たとえば0.05秒(1/20秒)や0.25秒(1/4秒)のウェイトを設定することができない。
ウェイトで設定することはできないが、アクションエディター4には1/10秒よりも細かい単位で後続のコマンドを遅らせるコマンドが存在する。
そのコマンドを利用することで、1/10秒以下の単位で後続のコマンドを意図的に遅らせることができるようになる。
今回は、「ウェイト」よりも細かい単位でコマンドを遅らせる方法を紹介する。
1/10秒以下の単位でコマンドを遅らせるには、「〇〇移動」というコマンドを使用する。
「〇〇移動」というコマンドであれば、どのコマンドでも1/10秒以下の単位で処理されるのだが、今回は一番わかりやすい「直線移動」を使用する。
直線移動の実行時間は、設定ダイアログ内の右上の「時間・速度・距離」で設定する。
実行時間は1/10秒単位でしか設定できないが、設定タイプを「速度と距離を指定」に変更すると、それよりも細かい実行時間で実行するようになる。
距離(dot)÷速度の商が0.10になるように設定すると、直線移動は1/60秒だけ実行されるようになる。商が倍の0.20になれば、直線移動も倍の2/60秒だけ実行される。
これで、1/60秒単位での疑似ウェイトとして利用することができる。
なお、設定するにあたって、ダイアログ左下の「横(縦)方向の移動を無効化」両方にチェックをいれ、ダイアログ右下の「アニメ」を「静止アニメ」に変更しておかないと、実行されるたびにキャラが移動したり、アニメーションしたりしてしまうので注意。
ちなみに、円移動で移動角をとても小さい値にすると、上記のように実行時間0.1(1/100秒)と表示される。
まるで1/60秒よりも、さらに細かい値で処理されているように見えるが、残念ながらアクションエディター4は1/60秒よりも細かい時間で処理することができないため、これでも1/60秒の実行時間として処理されてしまう。
移動関連のコマンドに関わらず、アクションエディター4のほとんどの動作コマンドには、実行時間が設定されており、実行時間の分だけ後続のコマンドが遅れて実行される。
実行時間に関して、詳しくは省略するが、ウェイトの実行時間も同様の物である。
また、アクションエディター4のコマンドの中には、実行時間0かつ並列実行のコマンドがいくつか存在するが、これらも内部的には実行時間1/60秒として処理されている。並列実行なので、複数個数重ねても同時実行されるだけである。
これはフローの最後にコマンドを挿入することで判明する。
フローの最後に挿入されたコマンドは並列実行処理が無視されるため、フローをループさせて処理するようなシステムを組んでいる際は注意が必要。