DynamicAnimation&Motion サンプル技(魔法)【RPGツクールMZ&MVプラグイン】

2021年06月16日

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

 魔法系のサンプル技を紹介していきます。

 処理負荷の現実性から、基本的にはMV用アニメを使っています。MVを持ってない人はごめんなさい。
 MZでの利用は、DynamicAnimationMZからMVアニメを呼び出すプラグインを参照してください。

目次



召喚(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目次に戻る
posted by 砂川赳 at 19:27 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする