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

2020年01月27日

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

20200126_claw.JPG

初めに


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

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

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

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

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

    導入方法


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

     NRP_EnemyAttackAnimation.js ver1.01(2020/03/10)

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

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

    20200126_enemyAttackAnimation.JPG

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

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

    更新履歴


    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ツクールMV | このブログの読者になる | 更新情報をチェックする

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

    2020年01月26日

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

    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ツクールMV | このブログの読者になる | 更新情報をチェックする

    【RPGツクールMVプラグイン】敵行動ルーチンの改善

    2020年01月24日

     敵の行動ルーチン(AI)を改善するプラグインを作成しました。

    初めに


     ツクールMVの初期状態では、敵キャラはあまり賢く行動してくれません。

     例えば、回復魔法を使わせても対象は完全ランダムです。
     高確率で無駄撃ちするので、怖さや鬱陶しさがありません。ドラクエがファミコン時代から実現していたホイミスライムのようなモンスターすら作成が困難です。

     また、蘇生魔法を使わせれば、戦闘不能者がいようがいまいが無駄撃ちする始末。ドラクエ4のブラックマージ(マイナーかも……)のような蘇生を使ってくる敵もまともに作れません。

     一応、HPを行動の条件に使えますが、参照できるのは自分のHPのみ。
     そもそも、ツクールMVの仕様では行動を決定するタイミングがターンの最初だけです。ターンの途中で自分が瀕死になっても、次のターンまで回復行動は取りません。その隙に、プレイヤーは容赦なく敵を葬ってしまうでしょう。
     
     そんなこんなを改善するのが、このプラグインです。

    • HP&MP回復時に最も減っている対象を選択する。
    • 有効な対象が存在しない場合、回復や治療、蘇生を行わない。
    • ターン開始時だけでなく行動直前にも行動再選択を行う。
    • 既にかかっているステートを重ねがけしない。
    • 既に限界となっている能力変化を重ねがけしない。

     以上のような修正によって、賢く個性的な敵を実現します。

     この動画はその例です。敵は意味のない行動を取らず、的確に回復やステートを使ってきます。
    ※画面が小さい場合は右下の全画面表示をクリックしてください。

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

    導入方法


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

     NRP_EnemyRoutineKai.js ver1.01(2020/01/27)

    更新履歴


    2020/01/27(ver1.01)

    • ツクールMVの本体verが古い場合でも動作するよう修正。

    2020/01/24(ver1.00)

    • 公開開始!

    パラメータ


     以下のプラグインパラメータで、敵全体の初期値を設定します。
     基本的にはほとんどONでいいと思いますが、CTBプラグインと併用する場合『行動直前の再設定』『行動判定の実行』はOFFにしてください。
     また『対アクターの使用効果制御』をONにすると、わりと嫌らしくなるので取り扱い注意です。

     個別の敵キャラごとに設定したい場合は、メモ欄に記述することで切替可能です。

    パラメータ(基本設定)


    行動直前の再設定(resetAction)

     ONならば、行動直前にも再度の行動決定を行います。
     一人ずつ行動するCTBでは無意味なので、OFF推奨です。

     ターン制かつターン開始時に速度補正技が選ばれた場合、行動再選択を行いません。また、行動再選択時に速度補正技を選ぶこともありません。速度補正の処理はターン開始時に行われるため、整合性が取れないためです。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineReset:[true or false]>

     <RoutineReset:true>でON、<RoutineReset:false>でOFFという意味です。
     ちなみに、<RoutineReset>と省略しても、trueと同じ扱いになるみたいです。

    行動判定の実行(testApply)

     ONならば効果の得られないスキルは使用しなくなります。
     例えば、HPの減った仲間が存在しなければ回復を行いません。
     戦闘不能の仲間がいなければ、蘇生を行いません。
     既に仲間の全員がステートにかかっていれば、同一のステートをかけません。

     この設定がOFFの場合、以下の回復関連や使用効果関連の制御がONでも優先されます。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineTest:[true or false]>

    パラメータ(回復関連)


    回復系行動の制御(controlRecover)

     ONならば回復系スキルの制御を行います。
     HP(MP)が最も減った仲間に対して回復スキルを使います。また、減った仲間がいなければ、優先度によらずスキルを使いません。

     タイプが『HP回復』『MP回復』のスキルが対象となります。使用効果などに回復値を設定するだけでは、制御を行いませんので注意してください。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineRecover:[true or false]>

    HP回復行動の条件(ifHpRecover)

     指定した条件式でHP回復を行います。『回復系行動の制御』がONの時のみ有効です。
     初期値の『b.hpRate() < 1.0』は、誰かのHPが100%未満になった時を意味します。
     例えば、50%以下に変更したい場合は、『b.hpRate() <= 0.5』にしてください。

     参照できる値はスキルの計算式と同じで、aは行動主体、bは対象者を意味します。基本的には『b.hpRate()』以外を使う必要はありません。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineIfHp:[条件式]>

    MP回復行動の条件(ifMpRecover)

     指定した条件式でMP回復を行います。『回復系行動の制御』がONの時のみ有効です。
     初期値の『b.mpRate() < 1.0』は、誰かのMPが100%未満になった時を意味します。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineIfMp:[条件式]>

    蘇生系行動の制御(controlForDead)

     ONならば戦闘不能者を対象にしたスキルの制御を行います。
     行動の優先度を高めに設定しておけば、戦闘不能者が出るなり即座に蘇生を行う厄介な敵も作れます。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineForDead:[true or false]>

    パラメータ(使用効果関連)


    対エネミーの使用効果制御(controlEnemyEffect)

     ONならば仲間(エネミー)サイドに対する使用効果系スキルの制御を行います。
     例えば、支援系ステートの無意味な重ねがけをせず、かかっていない対象を選ぶようになります。

     タイプが『なし』のスキルが対象となります。タイプが『HP回復』などの使用効果にステートを設定しても、制御を行いませんので注意してください。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineEnemyEffect:[true or false]>

    対アクターの使用効果制御(controlActorEffect)

     ONならば相手(アクター)サイドに対する使用効果系スキルの制御を行います。

     例えば、異常系ステートの無意味な重ねがけをせず、かかっていない対象を選ぶようになります。
     つまり、一人ずつ着実に異常スキルをしかけてきます。行動異常の場合、必然的にハメ殺しが発生しやすくなります。取り扱いには若干の注意が必要です。

     タイプが『なし』のスキルが対象となります。タイプが『HPダメージ』などの使用効果にステートを設定しても、制御を行いませんので注意してください。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineActorEffect:[true or false]>

    ステート耐性を見るか(watchResist)

     ONならば対象の耐性を確認し、無効なステートを使用しなくなります。

     ちなみにツクールMVの仕様では、命中タイプが『必中』だと、有効度が0%の相手にまでステートがかかります。
     必中スキルを無効化したい場合は、ステート無効化を設定する必要があります。

     個別設定時は以下をメモ欄に記入してください。
    <RoutineWatchResist:[true or false]>


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