DynamicAnimation(戦闘アニメを自動化&超強化)【RPGツクールMVプラグイン】

2020年06月13日

 戦闘アニメを自動化&超強化するプラグインです。

 スキル(アイテム)から自在に戦闘アニメーションを呼び出せます。異なるIDのアニメーションを同時表示させたり、移動させたりすることが可能です。
 非常に自由度の高い仕様になっていますが、テンプレートを呼び出せばメモ欄に一行記述(例:<D-Animation:shot/>)するだけでも動作します。

 さらにDynamicMotionと連携すれば、バトラーの動作も自在に設定できます。

 以下は紹介動画です。
※画面が小さい場合は右下の全画面表示をクリックしてください。

目次


導入方法

更新履歴

使用方法


テンプレートの解説


その他情報


競合について


処理負荷について

今後の課題


導入方法


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールMVのプラグイン管理から機能をONにしてください。

 NRP_DynamicAnimation.js ver1.11(2020/06/13)

 アニメーション軽量化プラグイン(解説)も作りましたので、よければどうぞ。
 NRP_LightAnimation.js ver2.01(2020/04/11)

更新履歴


2020/06/13(ver1.11)

  • バラマキ調整機能を強化。
    設定した数値によって、ランダム座標のアニメをそれっぽくバラつかせます。
  • 外部プラグインからアニメを割り込ませた場合、再生が遅れる問題に対応。

2020/06/07(ver1.10 -> 1.101)

  • プラグインコマンドに対応。
    例:『plugin = hoge 100 200』という感じで呼び出せます。
  • ランダム座標のアニメで残像が正しく表示されない不具合修正。(ver1.101)

2020/05/18(ver1.09 -> 1.096)

  • コモンイベント&スクリプト機能を追加。
  • 参照先バトラー(a, b)の変更機能を追加。
  • それに伴い『水平(horizontal)』『貫通(pierce)』『魔法発動(spell)』型のテンプレートを修正。
    ※互換性があるため反映しなくとも動作上の差は出ません。(ver1.092で調整)
  • また『貫通(pierce)』型テンプレートで複数対象の際に複数アニメーションが表示される不具合を修正。
  • ダメージ機能を追加。
    アニメーションの終了に合わせてダメージ処理を実施してくれます。
  • それに伴い『ダメージ(damage)』型テンプレートを追加。
    参考にサンプルも修正しています。
  • 指定が<D-Motion>のみの場合、フリーズする不具合修正。
  • 開発中のダメージ一括表示プラグイン用に調整。(ver1.093)
  • ダメージ機能にフレーム指定を追加。(ver1.094)
  • 『damage=false』を指定した際にもダメージ処理がされてしまう不具合修正。(ver1.095)
  • 不要なデバッグ用処理を削除。(ver1.096)
  • 参照先バトラーの互換機能でindexが取得できない不具合修正。(ver1.096)

    ※テンプレートの追加・修正はプラグインを再登録しないと反映されません。
    ただし、再登録すると全ての設定変更が初期化されてしまいます。
    それを避けたい場合、テンプレート定義一覧からのコピペをオススメします。


2020/05/09(ver1.08)

  • 大量アニメーションの動作を大幅軽量化。
  • 継続(keep)型テンプレートの定義修正。
    delay値は最初のアニメーションの終点に合わせるようにした。

2020/05/06(ver1.07)


2020/04/20(ver1.06 -> 1.062)

  • 効果音を先読みして遅延を減らすようにした。
  • 画面(screen)型をテンプレートに追加。(詳細
  • 戦闘不能対象に空振りでエラーとなる不具合修正。(04/24 ver1.061)
  • animationBaseDelayが0だと再生されない不具合修正。(04/26 ver1.062)

2020/04/10(ver1.05)

  • タグ名のユーザ設定機能を追加。
    <D-Animation:shot/>→<da:shot/>みたいに書けます。
  • アニメーション軽量化プラグインに『対象のフラッシュ』の軽量化を実装。
    →4/11 アクターにフラッシュがかからない不具合があったため修正しました!
  • 色調(color)のパラメータを実装。
  • 『水平(horizontal)』『水平射撃(shotHorizontal)』『垂直(vertical)』テンプレートのアニメ表示位置の誤りを修正。
  • 回転(roll)型のテンプレートを追加。(詳細

2020/03/28(ver1.04 -> 1.041)

  • 進路を向く(lookCourse)型テンプレートの追加。(使用例
  • ↑に伴い貫通(pierce)型テンプレートの角度変更を削除。
  • 『通常攻撃』のアニメーションが表示されない不具合修正。(ver1.041)

2020/03/16(ver1.03)

  • 開発中のモーションプラグインとの連携機能をさらに追加。
  • delay=auto時に前回のウェイトを無視する不具合修正。
  • 対象ごとの時間差(delay)の値をアニメーションフレーム単位に修正。
  • ウェイト(wait)型、ディレイ(delay)型のテンプレートを追加。
  • shot, shotRandom, arc, arcRandom, horizontal, shotHorizontal, vertical, pierce, spell, followの各テンプレートについて、アニメーションに設定された『位置』を参照するように修正。
  • follow型の定義再修正
  • 自分(self)型のテンプレートを追加。(ver1.031)
    追加のテンプレートの解説はこちらをご覧ください。
  • noMirror属性が機能しない不具合修正。(ver1.032)

2020/02/29(ver1.02)

  • 『Y座標の反転後調整』『dx』『dy』のパラメータが機能しない不具合修正。
  • アニメーション同士をつなぐタイミングを微調整。
  • ウェイトが過剰にかかる不具合を修正。
  • テンプレートの&融合機能を実装。(詳細
  • 開発中のモーションプラグインとの連携処理を実装。
  • 追従(follow)型をテンプレートに追加。(詳細

2020/02/23(ver1.01)

  • ツクールMV1.5.Xでも動作するよう対応。

2020/02/20(ver1.00)

  • 公開!
  • 一部の数式でエラーとなる不具合修正。(ver1.001 02/22)

使用方法


 スキル(アイテム)のメモ欄からテンプレートを呼び出すことでアニメーションの動作が変化します。以下は射撃(shot)型のテンプレートを呼び出した例です。
<D-Animation:shot/>

 さらにテンプレートに対して、パラメータの追加・上書が可能です。
<D-Animation:shot>
repeat = 5 // 繰返し回数
</D-Animation>

 最低限の使用法は上記の通りですが、パラメータは非常に多くあります。
 まずは以下の『基本的な使用法』のページから見ると分かりやすいでしょう。
 その後、『テンプレートの解説』や『プラグインパラメータ一覧』を参照していくのがオススメです。


テンプレートの解説


射撃系テンプレート

└射撃(shot)└乱射(shotRandom)
└全乱射(shotRandomAll)└投射(arc)
└乱投射(arcRandom)└全乱投射(arcRandomAll)

ランダム系テンプレート

└ランダム(random)└全ランダム(randomAll)
└円ランダム(randomCircle)└雨(rain)

範囲系テンプレート

└水平(horizontal)└水平射撃(shotHorizontal)
└垂直(vertical)└貫通(pierce)

円系テンプレート

└円周(circle)└渦(vortex)
└発散渦(spreadVortex)└公転(revolve)
└移動渦(moveVortex)└発散移動渦(spreadMoveVortex)
└ブレス(breath)└FVブレス(fv_breath)
└収束(converge)└放射(radiate)

その他テンプレート

└ビーム(beem)└拡散ビーム(diffusionBeam)
└継続(keep)└ブーメラン(boomerang)
└魔法発動(spell)└追従(follow)
└自分(self)└進路を向く(lookCourse)
└ウェイト(wait)└ディレイ(delay)
└ダメージ(damage)

その他情報



競合について


YEP

 『YEP_CoreEngine.js』と共用する場合、NRP_DynamicAnimation.jsのほうを下に配置してください。同一の関数を上書きしているため、そうしないと動きません。

 また、『YEP_BattleEngineCore.js』と併用する場合は競合対策モード(詳細)を1に変更すると一応は動きます。
 YEP_BattleEngineCore v1.50でそれなりに安定していることを確認しています。MVの公式からDLできる古いバージョンだと、背景が消し飛んだりと挙動が怪しいです。

MOG

 『MOG_BattleHud.js』と共用する場合は、MOG側を下に配置してください。そうしないとアクターが対象のアニメーションが動作しません。
 
 ソースを触れる人なら『_alias_mog_bhud_sprt_actor_setupAnimation.call(this);』とある行を『Sprite_Battler.prototype.setupAnimation.call(this);』に修正してもOKです。これなら順番は影響しないはず……。

 非サイドビューの場合は同じくMOG_BattleHud側の『Sprite_Actor.prototype.setupAnimation』をまるまる消さないと動かないかも……。(未検証)

処理負荷について


 当プラグインでは大量のアニメーションを同時に呼び出せますが、必然的に動作も重くなります。
 特に注意が必要なのは『対象のフラッシュ』で、高い頻度で呼び出すとアニメーションそのものより遥かに負荷がかかります。

 以下、fuku様制作の『スプライト色変換効率化(fuku_OptSpriteTint.js)』プラグインで大幅に軽量化できるので超オススメです。
 http://www5f.biglobe.ne.jp/~fuku-labo/library/etc/
 ※『ツクールMV用プラグインの素』より一括DLできる中に含まれています。

今後の課題


  • 戦闘以外での使用(スキルIDから起動が現実的?)。

 >RPGツクールMV目次に戻る
posted by 砂川赳 at 10:00 | RPGツクールMV | このブログの読者になる | 更新情報をチェックする