敵キャラの通常攻撃の戦闘アニメを設定する【RPGツクールMV&MZプラグイン】

2020年01月27日

 サイドビューにおける敵キャラの通常攻撃の戦闘アニメを設定するプラグインです。
 設定には特徴の『武器タイプ装備』を使います。

20200126_claw.JPG

初めに


 RPGツクールMVの初期状態(サイドビュー)では、敵の通常攻撃の戦闘アニメがありません。
 設定するには通常攻撃っぽく見せかけた個別のスキルを作ったり、YEP_BattleEngineCoreなど特定のプラグインを導入する必要があります。

 前者は打撃、斬撃など戦闘アニメ分のスキルが必要です。また、技名を非表示にしたければ、そのためのプラグインも必要となります。YEP_BattleEngineCoreは影響の大きいプラグインのため、必ずしも全てのユーザが使える方法ではありません。

 ……などなど、意外と初心者には敷居が高く、中上級者にとっても面倒です。

 そんなわけで、特徴の『武器タイプ装備』によって通常攻撃の戦闘アニメを判定させるのが、このプラグインです。
 敵の『武器タイプ装備』はデフォルトだと全く無意味な項目ですが、このプラグインを導入すれば剣なら剣、槍なら槍というように戦闘アニメを設定できるようになります。

  • 導入方法
  • 更新履歴
  • パラメータ
  • 個別設定

    導入方法


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

     NRP_EnemyAttackAnimation.js ver1.03(2020/08/22)

     プラグインパラメータに『武器タイプ装備』に対応するアニメーションを設定します。初期状態ではデフォルトの武器タイプに対応するそれっぽいアニメーションを設定しています。ただし、元が元なのでパターンが少ないです。
     打撃、斬撃、刺突、爪、銃撃の5種類しかないって少なすぎませんかね? 武器タイプは無駄に12種類もあるのに……。

     詳細は下記のパラメータを参照してください。

    20200126_enemyAttackAnimation.JPG

     こんな感じで敵の特徴欄に『武器タイプ装備』を設定すれば、通常攻撃にアニメーションが表示されるようになります。
     
     元々、アクター用の項目であるため、イメージに合うものがない可能性もあります。その場合はクチバシなら槍、触手ならムチというように近いものを使うか、追加で定義を増やすとよいでしょう。一応、個別に設定する機能(下参照)もあります。

     ちなみに武器タイプはデータベースのタイプで設定できます。

    更新履歴


    2020/08/22(ver1.03)

    • ツクールMZ向けにヘルプを修正。

    2020/06/18(ver1.02)

    • 英語対応。

    2020/03/10(ver1.01)

    • 作成中のモーションプラグイン用に処理修正。
    • 上に伴い再反転(reMirror)を削除。

    2020/01/27(ver1.00)

    • 公開開始!

    パラメータ


    各武器タイプ装備の設定(weapons)

     各武器タイプ装備ごとにアニメーションの設定を行います。
     リスト形式になっており、ダブルクリックで内容が表示されます。

     なお、敵の武器タイプ装備が未設定なら、リスト先頭のものが使用されます。(素手のアニメーションを想定)
     不要なら先頭のアニメーションは『0:なし』に設定してください。

     以下、リスト項目の内容です。
     リストに新しい項目を追加することも可能です。パターンを増やしたい場合はどうぞ。

    武器タイプ名(name)

     武器タイプ名です。
     プラグイン画面用のただのメモです。分かりやすいように名前をつけてください。

    アニメーションID(animationId)

     武器タイプに対応するアニメーションを指定します。

    再反転(reMirror) ver1.01で削除

     アニメーションをさらに左右反転するかどうかの設定です。
     ※敵のアニメは元々反転される仕様です。ONにするとさらに反転して、元の向きに戻ります。基本はOFFで問題ありません。


    個別設定


     以下のタグを敵キャラのメモ欄に記入すれば、個別設定も可能です。
     イメージの合う武器タイプがない。あるいはボス敵など固有の戦闘アニメを使いたいという場合はどうぞ。

    <AttackAnimation:[アニメーションID]>

     例:<AttackAnimation:10>で、10番のアニメーションを再生します。

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

    各種モーション時間(+歩行時間)の調整【RPGツクールMVプラグイン】

    2020年01月26日

     このプラグインは以下のプラグインに統合されました。
     今後はこちらをお使いください。
     http://newrpg.seesaa.net/article/475560242.html


     サイドビュー戦闘における各種モーション時間を調整するプラグインです。
     ついでに前進・後退時間も調整可能です。

    20200126_motionTime.jpg

    初めに


     RPGツクールMVの初期状態では、前進・武器振りなどのモーション時間が1パターン全て12/60秒(=0.2秒)に設定されています。3パターンあるので一巡までに36/60秒(0.6秒)です。
     対するデフォルトの斬撃のアニメーション20/60秒。わずかに武器を振り遅れた感があります。
     その程度なら気にならないと思いますが、これが10/60秒などの短いアニメだったら、はっきりと振り遅れが分かるかと思います。

     しかしながら、モーション時間は全て1パターン12/60秒に固定。そのため、武器振りだけ速くしたいといった調整が困難です。
     そこで18あるモーションそれぞれに対して、個別にモーション時間を調整できるようにしたのがこのプラグインです。

     ついでに行動時の前進・後退動作の時間も調整できるようにしました。
     デフォルトだとやや遅い感じを受けるので、初期値の12から8ぐらいまで短縮するのが個人的にはオススメです。

     歩行時間もモーションも、いずれも1/60秒単位でかかる時間を設定します。

  • 導入方法
  • 更新履歴
  • パラメータ

    導入方法


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

     NRP_MotionTime.js ver1.001(2020/03/07)

    更新履歴


    2020/03/07(ver1.001)

    • 説明の誤り修正。
      なぜか1/30秒単位と勘違いしていましたが、正しくは1/60単位です。

    2020/01/26(ver1.00)

    • 公開開始!

    パラメータ(基本設定)


    モーション時間の初期値(defaultTime)

     指定がない場合に適用される時間の初期値です。
     各モーション項目をブランクにすると、この値が適用されます。

    パラメータ(各種モーション時間)


    前進(コマンド待ち)(walk)

     前進時のモーション時間です。
     MVのヘルプでは『前進』となっていますが、実際にはコマンド待ちや後退時もこのモーションのようです。

    通常待機(wait)

     通常待機時のモーション時間です。
     正確にはコマンド入力後の待機状態を指します。

     ……後は大体そのまんまなので、解説を省略します。
     (すみません、面倒臭くなりました。)

    詠唱待機(chant)

    防御(guard)

    ダメージ(damage)

    回避(evade)

    突き(thrust)

    振り(swing)

    飛び道具(missile)

    汎用スキル(skill)

    魔法(spell)

    アイテム(item)

    逃げる(escape)

    勝利(victory)

    瀕死(dying)

    状態異常(abnormal)

    睡眠(sleep)

    戦闘不能(dead)


    パラメータ(移動時間)


    前進時間(stepForward)

     行動時に一歩前へ出る際の所要時間です。
     MVの初期値は12です。8ぐらいにしておくとオススメ。

    後退時間(stepBack)

     行動終了時に後ろへ戻る際の所要時間です。
     MVの初期値は12です。8ぐらいにしておくとオススメ。

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

    敵の行動を自在に制御する @導入編【RPGツクールMVプラグイン】

    2020年01月13日

     この記事はバトルイベント拡張プラグインの解説です。
     実施には該当のプラグインが必要となります。

    初めに


     ツクールMVの敵の行動パターンははっきりいって貧弱です。

    • ターンごとに行動回数を変えられない。
    • また1回目の行動で攻撃力アップ、2回目で攻撃といった制御もできない。
    • 回復魔法は対象が完全ランダム。HPの減った相手を狙ってくれない。
    • 蘇生魔法は死亡者がいなくとも空振りする。
      条件にステートもあるが、対象は自分のみ。
      つまり仲間が戦闘不能の時という条件は指定できない。
    • また、ステートの条件は「かかっている時」限定である。
      「自分がステートでない時に使用」というように重ねがけを避けるのが困難。
    • スイッチが条件にあるがONの場合だけ。OFFがなく融通が利かない。
    • 変数が条件にない。
    • 生存数が条件にない。
    • 行動後のスイッチ操作がない。2000にはあったので、なぜか劣化。
    • そもそも、パーティLV以外の味方側の情報を一切参照できない。

     ……などなど、多すぎて書ききれません。

     イベントコマンドで敵を制御することによって、そういった諸々の問題を一挙に解決します。
     また、その際には当然ながら全てのイベントコマンドが使い放題です。文章の表示もピクチャーもアニメーションもスクリプトも自由自在に挟めます。

     若干手間がかかることもあって、主にボス敵の行動を想定しています。……が、もちろん雑魚でも使えます。
     手間がかかるといっても、敵の行動パターン画面で複雑な制御を行うよりは遥かに楽です。

    設定方法


     まず、戦闘中にバトルイベント(コモンイベント)を呼び出す方法からです。

    ターン制、CTB共通の方法

     デフォルトのターン制でも、当サイトにあるCTB(およびCTTB)でも使える方法です。

    • コモンイベントを呼び出すスキルを作成します。
    • メモ欄に<NoStartAction>と記述すると、スキルの開始演出を省略できます。
    • 範囲はなしに設定してください。でないと余計なメッセージが表示されます。
    • 敵の行動パターンにこのスキルを設定してください。

    20200112_common.JPG

    20200112_common_enemy.JPG

     敵がこのスキルを実行したタイミングでコモンイベントが呼び出されます。

     そのままコモンイベントに処理を記述してもよいですし、スイッチを起動して敵グループのバトルイベントを呼び出すのも自由です。例えば、ボスの行動制御などはその敵グループ内に書いたほうが、管理しやすいかもしれません。

     ※敵グループのバトルイベントを使う場合、スパンはモーメントにしてください。
      どこかでスイッチをオフにしないとオンのままなので注意!


     なお、敵ごとに呼び出し用のスキルやコモンイベントを増やす必要はありません。

    • コモンイベント内で、敵IDを使って分岐させる。
    • スイッチで敵グループを呼び出し、別々の処理を記述する。

     といった方法でも対応できます。やりやすい方法でどうぞ。
     以下はコモンイベント内で分岐させた例です。

    20200112_enemy_pattern.JPG

    条件分岐:スクリプト:BattleManager._subject._enemyId == 4

     というように、敵IDを取得して分岐させています。
     スクリプトを使うので、ちょっと戸惑うかもしれませんが、コピペで数字だけ変えればOKです。
     また『=』ではなく『==』であることに注意です。

     このBattleManager._subjectというのに、行動者(MVでは行動主体という)の情報が詰まっています。この先、何度も出てきます。
    「長ったらしいんだよ!」という方はスクリプトで、
    a = BattleManager._subject;

     と、一度書いておけば以降はaと書くだけで省略できます。

    20200112_enemy_a.JPG

     aというのはスキルの計算式(例:a.atk * 4 - b.def * 2)でも使っていますが、あれと全く同じです。
     a.atkでもBattleManager._subject.atkでも、行動主体の攻撃力を取得できます。
     他にもスキルの計算式にa._enemyIdと記入すれば、敵IDと同じダメージを与えるスキルを作成できます。使い道は皆無ですが。

    CTB専用

     当サイトにあるCTB用プラグインを導入している場合、コモンイベントを使用しない方法も可能です。

     条件を毎ターン(スパン=ターン、ターン=0+1*X)にしたバトルイベントのページを作成します。
     その先頭で敵IDなどを条件にして、目当ての行動主体の時だけ処理を行うようにします。
     CTBではターン=1行動なので、こういう使い方もできるというわけですね。

    20200112_CTB_group.JPG

    条件分岐:スクリプト:BattleManager._subject._enemyId != 4

     にある『!=』というのは『==』の反対であり『≠』と同じ意味です。JavaScriptにおいて、『!』は否定を意味します。

     後は上と同じです。

     既に準備段階で結構長くなってしまいましたが、基本はコピペするだけなので大して時間はかかりません。
     それでは実際に、次の記事から敵の行動制御を記述していきましょう。

     >敵の行動を自在に制御する A実践編

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