DynamicAnimation 円系テンプレート【RPGツクールMZ&MVプラグイン】

2020年02月20日

 このページはDynamicAnimationプラグイン(MZMV)の解説の一部です。

 円系のテンプレートについて説明します。

目次



円周(circle)


 円を描くように繰り返しアニメーションを表示します。
<D-Animation:circle/>

 下のアニメーションは『炎/単体2(id = 67)』ですが、見栄えがいいように位置を『中央』に変えています。

 初期設定では計10回リピートしながら、半径100ピクセルの円周上を一周する仕様です。

 円形テンプレートには独自のパラメータがあります。例えば、以下のように変更してみましょう。
<D-Animation:circle>
repeat = 20 // 繰り返し回数
radiusX = 200 // 半径(X方向)
radiusY = 100 // 半径(Y方向)
radX *= 2 // 回転角度(X)
radY *= 2 // 回転角度(Y)
</D-Animation>


 X方向の半径を伸ばして楕円にしました。さらに回転角度をそれぞれ二倍にして、二周するようにしてみました。

 さらに円系のテンプレートは移動させると螺旋っぽくなります。
<D-Animation:circle>
repeat = 50 // 繰返し回数
interval = 1/2 // 間隔
sy = defaultY - 500 * r/repeat // 始点Y座標
radX *= 4 // 回転角度(X)
radY *= 4 // 回転角度(Y)
scaleX = 0.5 // 横幅
scaleY = 0.5 // 縦幅
</D-Animation>


 この型に限らず、色々と移動させてみると面白いでしょう。

渦(vortex)


 渦の中央へ向かって繰り返しアニメーションを表示します。
<D-Animation:vortex/>


 初期設定では、半径100ピクセルの円を中央に向かいながら一周します。
 radiusXおよびradiusYには、半径を徐々に縮小していく数式が設定されています。値を直接書き換えるのではなく、以下のように記述するのが簡単です。
<D-Animation:vortex>
radiusX *= 2 // 半径(X方向)
radiusY *= 1 // 半径(Y方向)
radX *= 2 // 回転角度(X)
radY *= 2 // 回転角度(Y)
</D-Animation>


 これで長半径200の楕円を、中央へ向かって二周するようになりました。

発散渦(spreadVortex)


 渦の中央から外へ向かって繰り返しアニメーションを表示します。
<D-Animation:spreadVortex/>


 設定は上の『渦』型と同じなので割愛します。

公転(revolve)


 円周とまぎらわしいですが、こちらはアニメーション自体が円周上を移動します。
<D-Animation:revolve/>



移動渦(moveVortex)


 渦の中央へ向かってアニメーションが移動します。
<D-Animation:moveVortex/>


 なお、この型は到達フレームを指定できます。
<D-Animation:moveVortex>
repeat = 10 // 繰返し回数
interval = 2 // 間隔
arrival = 7 // 到達フレーム
radiusX *= 2 // 半径(X方向)
radiusY *= 2 // 半径(Y方向)
radX *= 1.5 // 回転角度(X)
radY *= 1.5 // 回転角度(Y)
scaleX = 0.5 // 横幅
scaleY = 0.5 // 縦幅
</D-Animation>


 このように渦を巻きながら対象へ着弾するようなアニメーションを作成可能です。早すぎてGIFだと分かりにくいですが……。

発散移動渦(spreadMoveVortex)


 渦の中央から外へ向かってアニメーションが移動します。
<D-Animation:spreadMoveVortex/>


 ……よく分かりませんね。
 どちらかというと、静止パターンのアニメーションのほうが向いていると思います。
<D-Animation:spreadMoveVortex>
repeat = 20 // 繰返し回数
radiusX *= 3 // 半径(X方向)
radiusY *= 3 // 半径(Y方向)
radX *= 3 // 回転角度(X)
radY *= 3 // 回転角度(Y)
</D-Animation>


 こんな感じです。
 上記は単に20フレームの静止した泡です。ある程度フレーム数がないと動きが速すぎて見辛いです。

 後は拡大処理なんかと組み合わせても面白いかもしれませんね。
<D-Animation:spreadMoveVortex>
repeat = 20 // 繰返し回数
radiusX *= 3 // 半径(X方向)
radiusY *= 3 // 半径(Y方向)
radX *= 3 // 回転角度(X)
radY *= 3 // 回転角度(Y)
scaleX = 2 * t/et // 横幅
scaleY = 2 * t/et // 縦幅

</D-Animation>


 射撃系のほうでも説明しましたが、『t/et』は『経過時間/終了時間』です。0から始まり終了時には1になる式ですね。
 別にサイズはアニメーション編集画面でも変えられますので、その辺はお好みで。

ブレス(breath)


 RPGの華ドラゴンブレスっぽい動きで、振り子上にアニメーションを大量放出します。どういう動きかは見てもらったほうが早いです。
<D-Animation:breath/>


 ※元のアニメーションを90度回転させて位置を調整しています。

 この動きはY座標だけを回転運動することで実現しています。
 例えば、以下のように設定すると……。
<D-Animation:breath>
radiusY *= 2 // 半径(Y方向)
radY *= 2 // 回転角度(Y)
</D-Animation>


 広い範囲に向かって、炎が2往復するようになります。半径が範囲で回転角度が往復回数に相当します。

FVブレス(fv_breath)


 フロントビュー用のブレスです。
<D-Animation:fv_breath/>


 こちらはX座標だけを回転運動させています。従って定義を変更する場合も以下のようになります。
<D-Animation:breath>
radiusX *= 2 // 半径(X方向)
radX *= 2 // 回転角度(X)
</D-Animation>


収束(converge)


 対象に向かって、大量のアニメーションが収束します。
<D-Animation:converge/>


 例は6フレームの静止した火の玉を使っています。
 アニメーションを左向きにしておけば、常に対象の方角を向きます。向きの自動調整が不要なら『rotation = 0』でクリアできます。

 さらにこんなこともできます。
<D-Animation:converge>
repeat = 80 // 繰返し回数
interval = 1/4 // 間隔
scaleX = 5 * (1-t/et) // 横幅
scaleY = 1 * (1-t/et) // 縦幅
</D-Animation>


 (1-t/et)は時間経過で1から0へと変化する数式です。これによって、縮小をかけています。
 さらに横幅だけを5倍に伸ばして、無理やり放射線っぽく見せる荒業です。
 放射線を増やすため間隔を1/4まで縮めていますが、ちょっと重いかもしれません……。

 また、この型も到達フレームを指定できます。最初の4フレームは固定で、以降で爆発する火の玉のアニメを作って試してみます。
<D-Animation:converge>
arrival = 4 // 到達フレーム
scaleX = 0.5 + 2 * (1 - Math.min(t, arrival) / arrival) // 横幅
scaleY = 0.5 + 2 * (1 - Math.min(t, arrival) / arrival) // 縦幅
</D-Animation>


 ついでに到達フレームまで縮小する数式も入れてみたのですが、少しややこしすぎですね……。
 拡大縮小はアニメーションの編集でも普通に作れるので、意味不明ならそちらを使えばOKです。
 一応、説明すると2.5倍から開始し、到達フレームで0.5倍になる数式になっています。

放射(radiate)


 対象から大量のアニメーションが放射されます。
<D-Animation:radiate/>


 アニメーションを左向きにしておけば、常に外側を向きます。

 初期設定ではランダムな方角へ放射するようになっていますが固定もできます。
<D-Animation:radiate>
radX = r/repeat * Math.PI * 2 // 回転角度(X)
radY = r/repeat * Math.PI * 2 // 回転角度(y)
</D-Animation>


 全てのリピートでちょうど一回転するようにしてみました。弾幕シューティングっぽい何かです。
 例によって全体に数値をかければ、それだけ回転数も増加します。

 >DynamicAnimationMZプラグインに戻る
 >DynamicAnimationプラグインに戻る
 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 21:10 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする