魔法系のサンプル技を紹介していきます。
処理負荷の現実性から、基本的にはMV用アニメを使っています。MVを持ってない人はごめんなさい。
MZでの利用は、DynamicAnimationMZからMVアニメを呼び出すプラグインを参照してください。
目次
- 召喚 DynamicAnimation ver1.06(2020/09/08更新)
- 炎の渦 DynamicMotion ver1.04(2020/05/09)
- 渦潮 DynamicMotion ver1.04(2020/05/12)
- サイコキネシス(2020/05/25)
- 炎の帯(2021/06/16)
召喚(2020/09/08更新)
※要screen型テンプレートです。(DynamicAnimation ver1.06で追加)
アクターを消去して全体アニメを表示します。

// 全員透明化
<D-Motion:invisible>
performer = a.friendsUnit().members()
</D-Motion>
// 画面全体にアニメーション
<D-Animation:screen&wait/>
// 透明化解除
<D-Motion:visible>
performer = a.friendsUnit().members()
</D-Motion
『performer = a.friendsUnit().members()』によって、アクター全体を対象にしています。
※『$gameParty.members()』でも有効ですが『a.friendsUnit().members()』なら、使用者がエネミーでも動作します。
炎の渦 DynamicMotion ver1.04(2020/05/09)
対象の周囲に回り込む炎を起こします。
DynamicMotion ver1.04(DynamicAnimation ver1.07)以降で可能な表示優先度の変更機能を用いています。
アニメーションは『67:炎/単体2』ですが、好きなものに変えてください。

<D-Setting:MV>
<D-Animation:vortex> // 渦型
position = 2
repeat = 100
interval = 1/4
scaleX = 0.5
scaleY = 0.5
radiusX *= 2 + b.width/2 // X半径
radiusY *= 1 // Y半径
radX *= 5 // 回転角度X
radY *= 5 // 回転角度Y
z = this.y < b.y ? b.z - 1 : this.z // Z座標
</D-Animation>
X半径(radiusX)に『b.width/2』を足しているのは、最終的な半径を対象の横幅に合わせるためです。そっちのほうが炎に包まれた感じがしてカッコいいからですが、その辺はお好みで調整してください。
『z = this.y < b.y ? b.z - 1 : this.z』はZ座標(=表示優先度)の変更処理です。「アニメーションの位置が対象より上の時はZ座標−1、それ以外は元の値」を設定することで背面表示しています。
※『z = b.z』でよさそうな気がしますが、なぜかアニメーションの一部描画が止まるバグが発生しました。解決できそうにないのでこれを使ってください。
渦潮 DynamicMotion ver1.04(2020/05/12)
敵陣の中心を基準に敵をグルグル回します。
単純な円周運動のサンプルは既にありますが、こちらは全体攻撃向けです。
スキルのアニメーションは『Darkness2』のパターンを繰り返しているだけです。位置は『画面』にしています。

<D-Setting:MV>
<D-Animation>
sy = defaultY + 50 // 位置を下寄りに
z = 0 // 対象より下に表示
</D-Animation>
<D-Motion:target&revolve>
frame = 40
performerDelay = 2 // 時間差
radiusX *= 2 // X半径
radiusY *= 1 // Y半径
radX *= 4 // X回転角度
radY *= 4 // Y回転角度
dx = sx + (screenX - sx) * (Math.sin(t/et * Math.PI))
dy = sy + (screenY + a.height/2 - sy) * (Math.sin(t/et * Math.PI))
</D-Motion>
公転(revolve)型の機能によって、対象をグルグル回しています。
『performerDelay 』に時間差の値を指定しないと敵キャラが重なってしまいます。
最も難解なのは『dx, dy』の数式ですが……。これは敵キャラが敵陣中央に向かって移動し、また元の位置へと戻ってくるという式です。
sinは90度毎に値を0->1->0と変化させるので、その性質を利用して行ったり来たりさせています。
この数式へさらに回転成分を加算することで、全体の動作を実現しています。
サイコキネシス(2020/05/25)
ランダム位置に出現した岩石を、さらにランダム位置に移動。そこから対象へぶつけます。
ランダム位置を保持するためには継続(keep)型のテンプレートを用います。
なお、継続型の定義は2020/05/09に更新していますので、反映していないとうまくいかない可能性があります。

<D-Setting:MV>
// 術者前方にランダムで砂煙
<D-Animation>
id = XX // 砂煙のアニメ
position = 1
repeat = 15
sx = a.x - 100
sy = a.y - 60
sxRandom = 50
syRandom = 20
</D-Animation>
// 砂煙の発生位置を引き継いで岩石登場→対象の上空へ移動
<D-Animation:keep>
id = XX // 岩石の停止アニメ
delay = 1
ex = b.x
ey = 50
exRandom = 200
eyRandom = 50
arrival = 8 // 対空地点に到達するフレーム
</D-Animation>
// 対象の上空から対象へ岩石が殺到
<D-Animation:shotRandom&keep>
id = XX // 岩石の衝突アニメ
arrival = 5
</D-Animation>
継続(keep)型には、前の<D-Animation>の終点座標を始点にコピーする効果があります。また、繰り返し回数などの情報も自動で引き継ぎます。
ポイントは<D-Animation:shotRandom&keep>というように、&で後ろ側に結合することです。これはshotRandom自体が情報を持っているためです。この場合、後ろ側のテンプレートの設定が優先されます。
また、このスキルには3つのアニメーションが必要です。
- 砂煙のアニメ:Earh1で作成した単純な砂煙です。
スライディングで使用しているものと同じです。
- 岩石の停止アニメ:Earth3の岩石を25フレーム分コピーしたものです。
合成方法を『通常』にする以外は一切の変更不要です。
- 岩石の衝突アニメ:↑の岩石が6フレーム目から砕けるアニメです。
炎の帯(2021/06/16)
※DynamicAnimationを最新(2021/06/16〜)へ更新してください。残像機能が正常動作しない不具合を修正しています。
尾を引く放物線を対象に放ちます。

必要なアニメーションは二つあります。
一つ目は帯を構成するアニメーションです。左を向いた固定パターンのアニメーションを指定します。円形などでも構いません。
このサンプルでは『Fire2』の2パターン目を90度回転させて配置しています。
設定したフレーム数がそのまま放物線が着弾するまでの時間になります。

二つ目は着弾のアニメーションです。こちらは特筆すべき点はありません。
このサンプルでは『Fire1』のパターンを使用していますが、そのまま『67:炎/単体2』などでもよいと思います。
<D-Setting:MV>
// 炎の帯
<D-Animation:arc&lookCourse>
id = X
position = 2 // 位置を足元に
ey -= 48 // 位置を少し上に調整
arcY = -150 // 放物線の高さ
scaleX = 2 // 横幅
scaleY = 1 // 縦幅
afterimage = 10 // 残像の数
afterimageInterval = 1 // 残像の間隔
</D-Animation>
// 着弾
<D-Animation:keep>
id = X
</D-Animation>
赤字部分には2つのアニメーションをそれぞれ指定してください。
『lookCourse』テンプレートによりアニメーションに進路を向かせています。これに残像を加えることで、尾を引く放物線のように見せています。残像の数や間隔を好きなように調整してください。
『scaleX = 2』によりアニメーションを横に引き伸ばしています。放物線を自然に見せるための調整です。
>DynamicAnimationMZプラグインに戻る
>DynamicAnimationプラグインに戻る
>DynamicMotionMZプラグインに戻る
>DynamicMotionプラグインに戻る
>RPGツクールMZ&MV目次に戻る