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

2024年09月22日

 戦闘アニメを自動化&超強化するプラグインです。
 ※このプラグインはMZ版です。MV版はこちら!

 Click here for the English manual.(By Ryan Bram)

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

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

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

目次


導入方法(install)

更新履歴(history)

使用方法(usage)


テンプレートの解説(template)


その他情報(other information)


サンプル技(sample)


MV版との違い(difference from MV)

競合について(conflict)


導入方法(install)


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

 NRP_DynamicAnimationMZ.js ver1.222(2024/09/22)

 ※MV互換データの使用にはNRP_DynamicAnimationMV2MZ.jsが必要です。

オプション

戦闘モーションを自在に制御(詳細

 NRP_DynamicMotionMZ.js ver1.25(2024/07/05)

MV用アニメーションをMZで扱う(詳細

 NRP_DynamicAnimationMV2MZ.js ver1.052(2023/10/22)

DynamicAnimationMZをマップ上で起動(詳細

 NRP_DynamicAnimationMapMZ.js ver1.09(2021/04/24)

DynamicMotionをマップ上で起動(詳細

 NRP_DynamicMotionMap.js ver1.06(2021/05/07)

DynamicAnimation&Motionの定義をtxtから読み込む(詳細

 NRP_DynamicReadTxt.js ver1.06(2021/03/24)

MV用アニメーションの軽量化(詳細

 NRP_LightAnimationMZ.js ver1.00(2020/09/10)

 ※プラグイン同士の配置順に注意してください。上記の掲載順にそのまま配置すれば安全です。

更新履歴(history)


2024/09/11 -> 2024/09/22(ver1.22 -> 1.222)

  • ダメージ処理のセット機能(damageSet)を実装した。
    ※repeatが設定されている場合も一度だけダメージ処理を行います。
  • 放物線(arcX, arcY)の残像は本体を辿るようにした。これにより、放物線の高さをランダムにした場合も残像を使えるようになります。
    (2024/09/12 ver1.221)
  • NRP_SkillRangeEX.jsと併用時、条件次第ではアニメーションが不発に終わってしまうことがある不具合修正。(2024/09/22 ver1.222)

2024/07/05 -> 2024/07/15(ver1.21 -> 1.211)

  • 意図しない競合を引き起こす不具合を修正。
    マップ版DynamicAnimationにて戦闘時の並列アニメを使用した場合、不正なデータ状態になってエラー落ちしてしまうなど。
    ※DynamicMotionも同時に更新してください。
    NRP_Afterimage.jsを使用している場合はそちらも更新してください。

  • NRP_DynamicAnimationMapMZ.jsの<D-StartTiming>の指定がある状態でrateを変更していると適切にタイミング計算できない不具合修正。
    (2024/07/15 ver1.211)

2023/10/02 -> 2023/10/18(ver1.20 -> 1.202)

  • 放物線(ジャンプ)の最初の1フレームで宙に浮いていない不具合修正。
  • ver1.20にて放物線(ジャンプ)の到達後にアニメーションが下に移動してしまう不具合修正。(2023/10/18 ver1.201)
  • lookCourseテンプレート使用時に不透明度を指定すると、最初の1フレームがあらぬ方向を向いてしまう問題に対応。(2023/10/18 ver1.202)
    ※反映にはテンプレート定義の更新が必要です。
  • ver1.202にて、lookCourseテンプレート使用時にアニメーションが見えなくなる不具合修正。(2023/10/22 ver1.203)

2022/04/28 -> 2023/08/26(ver1.19 -> 1.195)

  • MVアニメのセルの部分描画機能を実装。
    詳しくはサンプルをご覧ください。
  • condition指定時、タイミング制御が不安定になる不具合修正。
    (2022/06/12 ver1.191)
  • NRP_DynamicAnimationMV2MZにてbreath型テンプレートが動作しない不具合修正。(2022/07/16 ver1.192)
    ※NRP_DynamicAnimationMV2MZも同時に更新してください。
  • playSeの後ろに注釈(//)を記述するとエラーになる不具合修正。
    (2023/02/17 ver1.193)
  • 残像の後にkeep型をつなげると、位置を引き継げない不具合修正。
    (2023/05/28 ver1.194)
  • ダメージ処理(damage)のフレーム指定が0〜1の場合に機能しない不具合修正。(2023/08/26 ver1.195)

2021/12/11 -> 2022/03/10(ver1.18 -> 1.181)

  • MZ1.4.0の更新に対応。MZエディタ上からMVアニメを設定した場合も表示できるようにした。
    ※引き続き再生にはNRP_DynamicAnimationMV2MZ.jsが必要です。プログラム自体の更新はありませんが、解説のみ更新しています。あちらもご確認ください。
    ※MZ1.4.0にはセルの合成方法を設定できない不具合がある模様です。
     MZにはデータを移さず、しばらく様子見をオススメします。

    ※MZ1.4.1にて解消されました!(2021/12/18追記)
  • condition指定時、条件を満たさなかった場合でもウェイトがかかってしまう不具合を修正。(2022/03/10 ver1.181)
  • ソース整理。(2022/03/10 ver1.181)

2021/08/06 -> 10/15(ver1.17 -> 1.173)

  • プラグインパラメータに『仲間向けは反転しない』を追加。
  • それに伴い、<D-Setting>にMirrorForFriend、NoMirrorForFriendを追加。
    ※NRP_DynamicMotionMZも最新に更新してください。
  • 動作対象を変更した場合、ミラーリングが逆方向に動作する不具合修正。
    ※DynamicMotion側の修正です。(08/07)
  • 途中のセーブデータに対して導入した場合、エラーになる不具合修正。(10/15 ver1.171)
  • ↑の修正が他のプラグインと競合する模様なので再修正。(10/15 ver1.173)

2021/04/24 -> 06/16(ver1.16 -> 1.162)

  • マップ版DynamicAnimationの『途中から再生』に対応。
    ※各関連プラグインも最新に更新してください。
  • 一つのアニメーションが消滅するまでに、プレイヤーがマップ全体の半分以上を移動するとアニメーションの表示が消える不具合修正。(04/28 ver1.161)
  • delay=0の場合、残像機能が動作しない不具合修正。(06/16 ver1.162)

2021/04/21(ver1.15)


2021/04/07 -> 04/14(ver1.14 -> 1.142)

  • システム2の『画面の幅/高さ』を初期値から変更した場合に、アニメーションの表示位置がズレる不具合修正。
  • マップ版DynamicAnimationにて、画面スクロール時に一瞬だけアニメーションの位置がズレる不具合修正。(04/14 ver1.141)
    ※NRP_DynamicAnimationMV2MZも同時に更新してください。
  • コモンイベントの呼び出しが機能しない不具合修正。(04/18 ver1.142)
    ※Motion側のみ動作していた模様です。

2020/11/20 -> 01/21(ver1.13 -> 1.131)

  • アニメーションの位置計算時、対象の拡大率(scale)を参照するように修正。
  • それに伴い『対象の拡大率を考慮』のプラグインパラメータを追加。
    ※DynamicMotionMZも最新に更新してください。
  • フロントビューでアクターの座標を参照するアニメーションが表示されない不具合を修正。(01/21 ver1.131)

2020/11/08(ver1.12)

  • 全体ダメージ(damageAll)のテンプレートを追加。
  • テンプレート一覧の表示情報を整理。テンプレートIDが収まるように調整。
    ※各関連プラグインも最新に更新してください。

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


2020/11/05(ver1.11)

  • 外部プラグインとの連携用に調整。
  • 全体ダメージ表示が作動しない不具合修正。
  • マップ版DynamicAnimationにて、アニメーションの位置が『画面』の場合もスクロールの影響を受けるように修正。
  • 中央(center)、全体(whole)のテンプレートを追加。
    ※各関連プラグインも最新に更新してください。

2020/10/31(ver1.10)

  • Motion側にあった全体ダメージ処理(damageAll)をこちらにも追加。さらに『damageAll = 10』というように数値指定すると、そのタイミングでダメージ処理を行います。

2020/10/29(ver1.09)

  • MZ v1.1.0で追加されたアニメーションの『下揃え』に対応。
  • アニメーションの頭上表示が反映されない不具合修正。

2020/10/17 -> 10/23(ver1.08 -> 1.082)

  • 戦闘中(ifBattle)、マップ中(ifMap)のテンプレートを追加。
  • マップ版にて複数の命令を組み合わせた場合、不要なウェイトが発生する不具合を修正。および処理軽量化。
  • マップ版にて戦闘時に使用すると、セーブに保存できなくなったり、次回の戦闘開始時にエラーになったりする不具合修正。(10/20 ver1.081)
  • lookCourseテンプレートでアクターを対象にした場合、アニメーションの向きが反対になる不具合修正。(noMirror処理が機能していなかったため)(10/20 ver1.082)

2020/10/15(ver1.07)


2020/10/07(ver1.06)


2020/10/05(ver1.05)

  • DynamicAnimationのマップ対応に伴い調整。
  • 外部プラグインからの変更を想定し、クラス構造を調整。
    ※NRP_DynamicMotionMZと合わせて最新版を取得してください。

2020/10/02(ver1.04 -> 1.041)

  • DynamicAnimationのマップ対応に伴い大幅改修。
    ※NRP_DynamicAnimationMV2MZ, NRP_DynamicMotionMZと合わせて最新版を取得してください。
  • 『limitSound=0』および『limitFlash=0』で効果音やフラッシュを消去できるようにした。
  • 並列処理でのwait指定時に想定した動作をしない不具合修正。(ver1.041)

2020/09/22(ver1.03)

  • 実行条件(condition)をリピート項目に変更。
    例:『condition = b.isStateAffected(10)』で睡眠中の対象のみアニメ表示。

2020/09/15(ver1.02 -> 1.021)

  • タイムプログレス(アクティブ)でアニメ終了前にダメージが表示されてしまう不具合修正。
  • 効果音の先読が失敗していた不具合修正。
  • コマンド中のアクターにアニメ表示のプラグインとMVアニメを合わせると、ダメージ処理のタイミングが乱れる不具合修正。(09/17 ver1.021)
    ※NRP_DynamicAnimationMV2MZも同時に更新してください。

2020/09/09(ver1.01 -> 1.013)

  • MVアニメーションに対応。
  • MVアニメの軽量化プラグインを公開。(09/10)
  • 他プラグインとの競合軽減のため微調整。(09/10 ver1.011)
  • 他プラグインとの競合軽減のため微調整。(09/13 ver1.012)
  • タイムプログレス(アクティブ)で動作が途中で止まる不具合修正。(09/14 ver1.013)

2020/09/05(ver1.00 -> 1.001)

  • ツクールMZ対応版を公開!
  • 対象が複数の際、余分なウェイトがかかる不具合修正。(09/07 ver1.001)

使用方法(usage)


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

 このように一行で完結する場合は『/』で閉じます。

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

 <D-Animation:shot>と</D-Animation>の間に記述を挟むイメージです。
 HTMLなどの経験がある人なら分かりやすいと思います。
 ※『/』の位置に注意してください。
 ※『//』から右は単なる注釈です。

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

 面倒なら『サンプル技』のページがオススメです。ほぼコピペでスキルが作れるので手っ取り早いです。

 ※ほとんどは元々、MV用に作ったページのままです。多くはそのまま使えると思いますが、合わない部分などは随時MZ用に修正していく予定です。


テンプレートの解説(template)


射撃系テンプレート

 射撃(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)

特殊系テンプレート

 ビーム(beam)、拡散ビーム(diffusionBeam)、継続(keep)
 ブーメラン(boomerang)、魔法発動(spell)

表示系テンプレート

 進路を向く(lookCourse)、回転(roll)、画面(screen)、頭上(head)
 中央(center)、足元(foot)、全体(whole)

制御系テンプレート

 追従(follow)、自分(self)、ウェイト(wait)、ディレイ(delay)
 ダメージ(damage)、戦闘中(ifBattle)、マップ中(ifMap)

その他情報(other information)



サンプル技(sample)



MV版との違い(difference from MV)


 MZではアニメーションの大幅な仕様変更が行われました。それによる当プラグインへの影響をまとめます。
 主にMVからのユーザ向けです。

Effekseerの採用

 MZではEffekseerで作成した3Dエフェクトを表示するようになりました。
 そのため、全体的にアニメーションが何倍も重いです。
 大量生成系のテンプレートをそのまま使用すると、よほどPCスペックが高くない限り処理落ちします。その場合、無理に当プラグインを使うよりも、最初からEffekseer側で編集したほうがよいかもしれません。

 旧来のMV用アニメーションにも対応(詳細)しているため、そちらを使う方法もあります。
 Effekseer側に対応を頂いた結果、大幅(4〜5倍程度)に軽くなった模様です。十分実用に耐えられるようになったのでご検討ください。(2021/02/14)
 https://github.com/effekseer/EffekseerForRPGMakerMZ_Ex

終了フレームが不確定に

 Effekseerのエフェクトは終了時間が一定ではありません。それにより、プラグイン側で終了フレームを予測するのが困難となりました。
 そのため、DynamicAnimationMZでは最後に設定されたフラッシュや効果音の設定位置を、終了フレームの代わりに使用している箇所があります。
 具体的にはshot型テンプレートで対象に到達するタイミングなどです。

パラメータの3D化

 3D化により、拡大率が『scaleX』『scaleY』『scaleZ』の3通りに分割されました。
 MV版では『scaleX』で横幅、『scaleY』で縦幅が変更されましたが、挙動が変わります。
 ※Effekseerへパラメータを渡しているだけなので、作者もよく分かりません。
 単純に全体を拡大したい場合は『scale』の値を変更すれば反映されます。

 また、回転率についても『rotationX』『rotationY』『rotationZ』の3通りに別れています。
 こちらも無印の『rotation』を使えば、MVと同じ用に時計回りに回転します。ただし、MVとはやはり挙動が異なるらしく、想定通りに動かない箇所がいくつかありました。
 『ビーム(beam)』および『拡散ビーム(diffusionBeam)』のテンプレートは思ったように動きませんでした。

1フレームの単位

 アニメーションのフレームが、MZでは1/60秒単位に変更されました。これはMVの4倍速となります。

 ただし、DynamicAnimationMZの初期状態では、4/60秒単位で処理を行っています。そのため、MVの記述をそのまま持ってきてもタイミングは保たれます。
 具体的には『frame』『interval』『motionFrame』『wait』『delay』『arrival』『nextDelay』『afterimageInterval』などの値が対象です。

 もし、変更したい場合は、プラグインパラメータにある『計算レート』の値を『1』に変えてください。
 あるいは個別に『rate』の値を変更することも可能です。

無効となる項目

 『透明度(opacity)』『描画レート(rate)』『色調(color)』の項目がそれぞれ無効となります。Effekseer側で変更を受け付けないっぽいです。(たぶん……)

競合について


 現在『VisuStella BatttleCore』と併用すると挙動がおかしくなることを確認しています。
 しかしながら、あちらのソースが難読化されていることもあり、対応は無理ゲーです。

 モーション系はDynamicMotionを使うか、VisuStella系でプラグインを統一するかを選んだほうがよいと思われます。

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