武器の表示を拡張【RPGツクールMZ&MVプラグイン】

2024年08月05日

 サイドビュー戦闘における武器の表示を拡張します。


 上の動画では武器を『上に掲げる』『振り下ろす』『振り上げる』『突く』の順番で実行しています。


 他にも武器の色変えなどが可能です。

機能

  • 武器の表示位置を調整。
    ※標準とはサイズの異なるバトラーにも適応できます。
  • アクター毎の位置調整も可能。
  • 武器の1パターン当たりのサイズを変更可。
  • 31番目以降の武器画像に対応。
    ※デフォルトではWeapons3.pngの6番目(=30番目)までしか選択不可。
  • 武器の色調を変更。
  • 武器のアニメーションの色調を変更。
  • 武器タイプ毎に独自の画像を設定可能。
  • DynamicMotionとの組み合わせにより、同じ武器で振ったり突いたりといった動作も可能に。

 ※ちなみに武器画像は『img\system』にあります。

目次


導入方法(Install)

更新履歴(History)

DynamicMotionとの連携(For DynamicMotion) ver2.00

さらに高度な設定(インデックスリスト) ver2.06

アクターのメモ欄(Note of Actors)

武器のメモ欄(Note of Weapons)

武器、アクター、敵キャラのメモ欄(Note of Weapon~Enemy)

プラグインパラメータ(Plugin Parameter)

武器情報リスト(WeaponInfoList)

武器のX座標(WeaponX)

武器のY座標(WeaponY)

武器の横幅(WeaponWidth)

武器の縦幅(WeaponHeight)

31以降の画像に対応(SupportOver30Image)

アクターモーションに同期(SyncActorMotion) ver2.00

武器情報リストのパラメータ(Parameter Weapon) ver2.00

武器タイプ(WeaponType)

画像ファイル(WeaponImage)

画像インデックス(WeaponIndex)

武器のキー(WeaponKey)

モーション(Motion)

インデックスリスト(IndexList)

インデックスリストのパラメータ(Parameter Index) ver2.00

画像インデックス(WeaponIndex)

武器のX座標調整(AdjustX)

武器のY座標調整(AdjustY)

武器パターン(WeaponPatterns)

優先パターン(PriorityPatterns)

モーション(Motion)

モーションパターン(MotionPatterns)

モーション2(Motion2)

モーション2パターン(Motion2Patterns)


導入方法(install)


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

 NRP_WeaponSetting.js ver2.064(2024/08/05)

 ※冒頭の動画のように武器の色変えと二刀流を併用するためには、こちらのサンプルを参考に、二つ目の武器を振る際に武器IDを指定してください。

更新履歴(History)


2024/06/19 -> 2024/08/05(ver2.06 -> 2.064)

  • 4パターン以降のモーションを実行できるように各機能を実装。
    詳細についてはさらに高度な設定(インデックスリスト)をご覧ください。
  • それに伴い、武器パターンモーションパターンモーション2モーション2パターンを追加した。
    NRP_DynamicMotionMZ.jsを使用している場合はあちらも最新化してください。なお、MV版は未対応です。
  • 優先パターンを追加した。
    武器をアクターよりも上に表示することができます。
  • 武器のキーを追加した。
    画像インデックスが同一のデータも共存させることができるようになります。
  • 初出の武器画像が表示されない(読み込めていない)不具合を修正。
  • 優先パターンが機能していない不具合修正。(ver2.061)
  • 素手で攻撃するとエラーになる不具合修正。(2024/06/20 ver2.062)
  • 武器パターンおよびモーションパターンの指定を行った場合、アクターのモーションが固定されたままになってしまうことがある不具合修正。
    (2024/07/29 ver2.063)
  • 戦闘終了後、イベント上で武器と同じアニメーションを再生すると武器のアニメーションカラーが反映されてしまう不具合修正。(2024/08/05 ver2.064)

2024/06/17(ver2.05)


2024/06/05(ver2.04)

  • ver2.00以降、DynamicMotionによるweaponIdおよびweaponTypeの指定が反映されない不具合修正。
  • 一度、weaponIdおよびweaponTypeで<BlendColor>が設定された武器を使用すると、武器を切り替えても色が戻らない不具合修正。

2023/05/21 -> 2023/11/09(ver2.03 -> 2.033)


2023/05/21(ver2.02)


2023/04/22(ver2.01)


2023/03/19(ver2.00)


2021/11/18(ver1.00)

  • 公開!

DynamicMotionとの連携(For DynamicMotion)ver2.00


 いくらか手間はかかりますが、DynamicMotionと組み合わせることにより、同じ武器で振ったり突いたりといった複雑な動作も可能となります。


 まず、system/WeaponsX.pngを改造し、一つの画像内に『振り』『突き』など武器の複数の動作を作成します。
 以下のサンプルでは『振り』『突き』『振り下ろし』『上に掲げる』の順で作成しています。


 次に、プラグインパラメータの『武器情報リスト』に作成した画像を登録します。
 ここで設定できるモーションは通常攻撃に用いる標準のものです。

 さらに『インデックスリスト』にインデックス毎のモーションを定義します。
 これにより、DynamicMotion側でモーションを呼び出せるようになります。

 例えば、
<D-Motion:attack>
weaponIndex = 2
</D-Motion>

 と、記述した場合、WeaponsX.pngの2つ目のアニメーションを再生し、さらに上で定義したモーションを実行します。
 上でのサンプルでいうと『突き』になります。

 なお、DynamicMotion側で直接画像やモーションを指定することもできます。
 以下はWeapons2.pngを指定して、突きのモーションを実行した例です。
<D-Motion:attack>
weaponImage = Weapons2
weaponIndex = 2
motion = thrust
</D-Motion>

 モーションには通常使用する『振り』『突き』『飛び道具』以外も指定できます。
 例えば『アイテム』のモーションを使って、剣を上に掲げるなど、発想次第で様々な演出が可能です。

さらに高度な設定(インデックスリスト)ver2.06


 インデックスリストの設定によっては、さらに複雑な演出が可能です。
 こちらもDynamicMotionとの併用が前提になっています。

武器のキー

 武器の画像インデックスではなく特有のキーを設定することが可能です。
 同一のweaponIndexでも、異なる動作を設定したい場合に活用してください。
 値が「test」なら、以下のように呼び出せます。
<D-Motion:attack>
weaponKey = test
</D-Motion>


武器パターン

 実行する武器のパターンです。
 カンマ区切りで順番に指定してください。
 初期値は「0,1,2」です。
 例えば、「2,1,0」と設定すると、逆順で武器を振ります。

 さらに、3以上を指定すると次の画像インデックスを参照します。
 例えば、画像インデックスに1を指定した状態で「0,1,2,3,4」を指定すると、WeaponsX.pngの1つ目のアニメーションを順番に再生(3パターン)した上で、さらに2つ目のアニメーションを2番目まで再生します。


 これにより、通常は不可能な4パターン以上の動作が可能となります。例えば、上記の動画では剣を回転させる時に「左上」「右上」「右下」「左下」の4パターンの表示をしています。

 「モーション2」「モーション2パターン」と組み合わせる想定です。

優先パターン

 指定した武器パターンのプライオリティを変更します。
 つまり、イベントにおける「通常キャラより上」と同じように前面表示します。


 上の画像ではアクターより上に剣が表示されているのが分かると思います。
 例えば、「0,2」と指定した場合は1番目と3番目の武器パターンが、前面表示されるようになります。

 あくまで指定するのは武器パターンの順番です。
 武器パターンが「2,1,0」で優先パターンに「0,1」を指定した場合、前面表示されるのは、武器パターンの「2,1」の部分です。
 混同しないように注意してください。

モーションパターン

 実行するモーションのパターンです。
 カンマ区切りで順番に指定してください。

 要領は武器パターンと同じですが、3以上を指定しても無効となります。

モーション2

モーション2パターン

 追加で実行されるモーションとそのパターンです。
 上記のモーションパターンの後に続けて実行されます。

アクターのメモ欄(Note of Actors)


<WeaponX:?>

 武器のX座標を調整します。数式可。
 マイナスで左に移動します。

<WeaponY:?>

 武器のY座標を調整します。数式可。
 マイナスで上に移動します。

武器のメモ欄(Note of Weapons)


<WeaponImage:Weapons5>

 Weapons5.pngを武器画像として設定します。
 ※通常の武器画像と同じく、systemフォルダが対象です。

<WeaponIndex:2>

 WeaponImageで指定した中で、2番目の画像を武器画像として設定します。
 省略した場合は1番目の画像となります。

<AttackMotion:swing>

 攻撃時のモーションを『振り』にします。
 モーションの種類は以下を参考にしてください。
  • 突き:thrust
  • 振り:swing
  • 飛び道具:missile
  • 前進:walk
  • 通常待機:wait
  • 詠唱待機:chant
  • 防御:guard
  • ダメージ:damage
  • 回避:evade
  • 汎用スキル:skill
  • 魔法:spell
  • アイテム:item
  • 逃げる:escape
  • 勝利:victory
  • 瀕死:dying
  • 状態異常:abnormal
  • 睡眠:sleep
  • 戦闘不能:dead

 ※詳細はツクールのヘルプにある「資料集>サイドビューキャラ規格」をご覧ください。

<BlendColor:[255,255,255,255]>

 武器に色を合成します。
 0~255までの数値が有効です。
 赤、緑、青、強さの順で設定してください。

<ColorTone:[255,255,255,255]>

 武器の色調を変更します。
 <BlendColor>とは計算方法が異なります。
 また、こちらは-255~255までの数値が有効です。

<BlendMode:1>

 武器の合成方法を変更します。
 0:通常、1:加算、2:乗算、3:スクリーン

<Opacity:255>

 武器の不透明度を変更します。
 0~255までの数値が有効です。

武器、アクター、敵キャラのメモ欄(Note of Weapon~Enemy)


<AnimationColor:[255,255,255,255]>

 通常攻撃アニメーションに色を合成します。
 0~255までの数値が有効です。
 赤、緑、青、強さの順で設定してください。
 ※MVアニメーションのみ有効です。
 ※敵キャラの通常攻撃アニメーションには、NRP_EnemyAttackAnimation.jsなどのプラグインが必要です。


<AnimationTone:[255,255,255,255]>

 通常攻撃アニメーションの色調を変更します。
 <AnimationColor>とは計算方法が異なります。
 また、こちらは-255~255までの数値が有効です。

<AnimationBlendMode:1>

 通常攻撃アニメーションの合成方法を変更します。
 0:通常、1:加算、2:乗算、3:スクリーン

プラグインパラメータ(Plugin Parameter)


武器情報リスト(WeaponInfoList)

 武器タイプ毎の設定一覧です。
  詳細は武器情報リストのパラメータをご覧ください。

武器のX座標(WeaponX)

 武器のX座標を調整します。
 初期値は-16です。

武器のY座標(WeaponY)

 武器のY座標を調整します。
 初期値は0です。

武器の横幅(WeaponWidth)

 武器(1パターン)の横幅を調整します。数式可。
 初期値は96です。

 武器サイズを可変にしたい場合は、『画像横幅÷6』を指定してしまうと便利です。数式では『this.bitmap.width / 6』です。

武器の縦幅(WeaponHeight)

 武器(1パターン)の縦幅を調整します。数式可。
 初期値は64です。

 武器サイズを可変にしたい場合は、『画像縦幅÷6』を指定してしまうと便利です。数式では『this.bitmap.height / 6』です。

 ※横幅〜縦幅を変更した場合、Weapon?.pngの画像サイズも合わせて変更する必要があります。上記のように画像幅を参照してしまうのが楽です。


 例えば、上記の画像では剣を右上に振り上げていますが、そのために『武器の横幅』を160に変更し、画像サイズも576->976に拡張しています。その上で通常は不可能な右側に剣を寄せることで、振り上げる動作を実現しています。

 下がそのために編集した武器画像です。Weapon1.pngに上書きして使用することもできますが、Weapon2以降は作っていません。



31以降の画像に対応(SupportOver30Image)

 31以降の武器画像に対応させます。
 ※デフォルトではWeapons3.pngの6番目(=30番目)までしか選択できない仕様です。

 オンにすると画像をなしにした場合、武器タイプの番号に対応する画像が、自動で選択されるようになります。
 例えば、武器タイプが31番目の場合、Weapons3.pngの7番目の武器画像が選択されます。さらにWeapons4.png以降のファイルを追加すれば、37番目以降の武器画像として認識されます。

 ※ちなみに武器タイプの追加はデータベースの『タイプ』で設定。武器画像は『システム2』の『[SV]攻撃モーション』で設定します。

アクターモーションに同期(SyncActorMotion)ver2.00

 アクターのモーションに武器をなるべく同期させます。
 標準だと武器の振りとアクターのモーションが微妙にズレるのですが、それをなくすように調整します。ただし、完璧ではありません。

武器情報リストのパラメータ(Parameter Weapon)ver2.00


 武器情報リスト内のプラグインパラメータです。

武器タイプ(WeaponType)

 設定を行う武器タイプです。
 標準では1:短剣, 2:剣, 3:フレイル...12:槍となっています。

画像ファイル(WeaponImage)

 武器タイプに対応する画像ファイルです。

画像インデックス(WeaponIndex)

 画像のインデックス(1~12)です。
 武器の画像ファイル(Weapons1.pngなど)には一つ辺りに12の武器画像が収まっていますが、その番号のことです。
 標準のWeapons1.pngを例にすると、1:短剣, 2:剣, 3:フレイル...12:槍となります。

モーション(Motion)

 武器攻撃に用いる標準のモーションです。

インデックスリスト(IndexList)

 武器画像について、インデックス毎のモーションを定義できます。
 詳細はインデックスリストのパラメータをご覧ください。

インデックスリストのパラメータ(Parameter Index)ver2.00


 武器インデックスリスト内のプラグインパラメータです。

画像インデックス(WeaponIndex)

 画像のインデックス(1~12)です。

武器のキー(WeaponKey)

 DynamicMotionから武器パターンを呼び出すための値です。
 同一の画像インデックスでも武器パターンやモーションパターンが異なる動作を扱いたい場合に使えます。

武器のX座標調整(AdjustX)

 武器のX座標をさらに調整します。

武器のY座標調整(AdjustY)

 武器のY座標をさらに調整します。

武器パターン(WeaponPatterns)

 実行する武器のパターンです。
 例:0,2,1
 3以上を指定すると次のインデックスを参照します。

優先パターン(PriorityPatterns)

 武器を前面表示するパターンです。
 例:0,2なら1番目と3番目を前面表示します。

モーション(Motion)

 インデックスに対応するモーションです。

モーションパターン(MotionPatterns)

 実行するモーションのパターンです。
 例:0,2,1

モーション2(Motion2)

 モーションの後にさらに実行するモーションです。
 連結することで4パターン以上を実行できます。

モーション2パターン(Motion2Patterns)

 実行するモーション2のパターンです。
 例:0,2,1

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