音声ファイルの管理を行う【RPGツクールMZ&MVプラグイン】

2024年10月08日

 音声ファイルの管理を行います。

現在のBGM設定を変更(MZ用プラグインコマンド)

 現在演奏中のBGMの音量やピッチ、位相をプラグインコマンドによって変更できます。

 ツクールのコマンドと異なりファイル名を指定する必要がないため、自由度のある操作が可能になります。
 例えば、大技の発動時にBGMの音量を下げるなどの演出が可能です。

 また、ピッチ変更時も現在の演奏位置が維持されます。

音声置換機能

 例えば、ツクールでボス戦曲を設定する場合、『戦闘BGMの変更』コマンドによってボス戦曲を設定し、戦闘後に通常戦闘曲に戻すというような操作を行うかと思います。


 問題はその後、ボス戦曲や通常戦闘曲を変更したくなった場合です。
 全てのボス戦イベントに対して変更を行う必要があります。

 このプラグインではあらかじめダミーのファイルを設定しておけば、その曲を設定したファイルへ置換して演奏することが可能です。
 いちいち全てのイベントを変更する必要がなくなります。

 また、「ゲーム後半は通常戦闘曲を変更したい」という場合は、スイッチによって分岐させることもできます。

音声調整機能

 例えば、素材として取り込んだoggファイルを演奏する場合、他の素材と音量の釣り合いが取れてないことが時々あります。
 演奏時にいちいち音量を調整する方法もありますが、後で変更したくなった場合が大変です。


 そんな時にこのプラグインで音量を設定してしまえば、演奏毎に設定する必要がなくなります。
 特に通常は不可能な100以上の音量も設定可能です。

 また、BGMやBGSの開始時点を変更できます。
 先頭に長めの空白が含まれているoggの開始時点を後ろにすれば、不自然な空白をなくすことができます。

 ※音声置換機能と併用する場合は、置換後のファイルに対して設定してください。

目次


導入方法(Install)

更新履歴(History)

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

BGM設定(BgmSettings)

BGM置換設定(BgmAliases)

BGS設定(BgsSettings)

BGS置換設定(BgsAliases)

ME設定(MeSettings)

ME置換設定(MeAliases)

SE設定(SeSettings)

SE置換設定(SeAliases)

自動演奏禁止スイッチ(DisabledAutoplaySwitch)

音声調整用プラグインパラメータ(Plugin Parameter Audio)

ファイル名(Name)

音量(Volume)

ピッチ(Pitch)

位相(Pan)

開始位置(Pos)

音声置換用プラグインパラメータ(Plugin Parameter Alias)

置換元のファイル名(FromFileName)

置換先のファイル名(ToFileName)

スイッチ(Switch)


導入方法(install)


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

 NRP_AudioManager.js ver1.051(2024/12/04)

ダミーファイル

 _Test.ogg

 ファイル置換機能用に作成した空のoggです。右クリックで保存してaudio以下のフォルダに放り込んでください。
 戦闘曲なら@Battle.oggというように、分かりやすい名前にすると吉です。

更新履歴(History)


2024/10/08 -> 2024/12/04(ver1.05 -> 1.051)

  • マップ切替時および乗物乗降時の自動演奏を停止するスイッチを追加した。
  • 自動演奏禁止スイッチがオンの場合、乗り物から降りた際、BGMを変更しないように修正。(2024/12/04 ver1.051)

2024/02/17 -> 2024/10/02(ver1.04 -> 1.043)

  • FootstepSoundなど外部プラグインとの競合対策用に調整。
  • BGMが停止した状態で『現在のBGM設定を変更』のプラグインコマンドを使うとエラーになる不具合修正。(2024/06/05 ver1.041)
  • 『現在のBGM設定を変更』を使用した際に演奏位置が変化してしまうことがある不具合に対処。(2024/09/02 ver1.042)
    ※ただし、ピッチ変更時については対処できていません。どうも演奏時間の長い曲で起きやすいようですが、よく分かりません……。
  • ver1.042の修正について、ピッチの入力がある場合、値に変化がなくてもピッチ変更時として処理されてしまう不具合を修正。(2024/10/02 ver1.043)

2024/01/08(ver1.03)

  • 置換先のファイルが空欄の場合、エラーにならないように変更した。
    BGM、BGSは演奏停止、SE、MEは演奏無視します。

2023/10/17(ver1.02)

  • 演奏中のBGMの音量、ピッチ、位相を変更するプラグインコマンド(MZ用)を追加。

2021/11/17(ver1.01)

  • 演奏中の曲と戦闘曲を同一にした場合、音楽が継続して演奏されない不具合を修正。

2021/10/22(ver1.00)

  • 公開!

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


BGM設定(BgmSettings)

 BGMファイル毎に音量などの設定を行います。

BGM置換設定(BgmAliases)

 BGMファイルを置換して演奏します。
 上の設定ほど優先されます。

BGS設定(BgsSettings)

 BGSファイル毎に音量などの設定を行います。

BGS置換設定(BgsAliases)

 BGSファイルを置換して演奏します。
 上の設定ほど優先されます。

ME設定(MeSettings)

 MEファイル毎に音量などの設定を行います。

ME置換設定(MeAliases)

 MEファイルを置換して演奏します。
 上の設定ほど優先されます。

SE設定(SeSettings)

 SEファイル毎に音量などの設定を行います。

SE置換設定(SeAliases)

 SEファイルを置換して演奏します。
 上の設定ほど優先されます。

自動演奏禁止スイッチ(DisabledAutoplaySwitch)

 スイッチがオンの間、マップ切替や乗物の自動演奏を無効化します。
 場所移動を伴う演出時に、現在演奏中のBGMを継続させるための機能です。

音声設定用プラグインパラメータ(Plugin Parameter Audio)


 項目はBGM、BGS、ME、SEで共通ですが、開始位置のみ例外です。

ファイル名(Name)

 音声のファイル名です。

音量(Volume)

 音声の音量です。
 100を基準に設定してください。

ピッチ(Pitch)

 音声のピッチです。
 100を基準に設定してください。

位相(Pan)

 音声の位相です。
 0を基準に設定してください。

開始位置(Pos)

 音声の開始位置(秒)です。
 ※この項目のみBGMおよびBGSにしか存在しません。

音声置換用プラグインパラメータ(Plugin Parameter Alias)


 項目はBGM、BGS、ME、SEで共通です。

置換元のファイル名(FromFileName)

 置換元のファイル名です。

置換先のファイル名(ToFileName)

 置換先のファイル名です。

スイッチ(Switch)

 置換設定を有効にするスイッチです。

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

DynamicAnimationMZからMVアニメを呼び出す【RPGツクールMZプラグイン】

2024年10月05日

 旧来のMV用アニメーションをDynamicAnimationMZから呼び出せるようにします。単純な2Dアニメーションであるため、動作が軽いなどの利点があります。
 ※MZの場合、MV用の2Dアニメーション素材を用意する必要があります。MVを購入してしまうのが一番簡単です。


目次


導入方法(install)

更新履歴(history)

使用方法(usage)

使用方法(旧)

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

旧形式のファイルを使用(useMvAnimationFile)ver1.04

表示優先度を下端で判定(sortPriorityByBottom)


導入方法(install)


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

 NRP_DynamicAnimationMZ.js ver1.211(2024/07/15)
 NRP_DynamicAnimationMV2MZ.js ver1.063(2024/10/05)

オプション

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

 NRP_LightAnimationMZ.js

更新履歴(history)


2024/06/10 -> 2024/10/05(ver1.06 -> 1.063)

  • repeat = 2以上の場合のフラッシュ処理がチラつかないように安定化。
  • limitFlashの指定によってアニメーションのフラッシュを飛ばした場合、色が戻らなくなることがある不具合を修正。(ver1.061)
  • 対象のフラッシュによる色調変化が稀にクリアされないことがある不具合を修正。(2024/08/19 ver1.062)
  • ブーメラン(boomerang)型テンプレートが動作しない不具合修正。
    (2024/10/05 ver1.063)

2023/10/18 -> 2024/03/18(ver1.05 -> 1.053)

  • 放物線(ジャンプ)の最初の1フレームで宙に浮いていない不具合修正。
  • lookCourseテンプレート使用時に不透明度を指定すると、最初の1フレームがあらぬ方向を向いてしまう問題に対応。(2023/10/18 ver1.051)
  • ver1.051にて、lookCourseテンプレート使用時にアニメーションが見えなくなる不具合修正。(2023/10/22 ver1.052)
  • lookCourse型と残像を組み合わせると、アニメーションの初期角度が正しく表示されない不具合修正。(2024/03/18 ver1.053)

2022/05/18 -> 2022/07/16(ver1.04 -> 1.041)

  • 『data/mv/Animations.json』がないとエラーになる重大な不具合を修正。
  • それに伴い、旧形式のファイルを使用のパラメータを追加。
    ※標準では『data/mv/Animations.json』を参照しなくなります。ご注意ください!
  • breath型テンプレートが動作しない不具合修正。(2022/07/16 ver1.041)
    ※NRP_DynamicAnimationMZも同時に更新してください。

2022/04/28(ver1.03 -> 1.031)

  • MVアニメの部分描画機能を実装。
    ※NRP_DynamicAnimationMZも同時に更新してください。
  • プラグインパラメータに『表示優先度を下端で判定』を追加。(ver1.031)
    NRP_DynamicMotionMZも同時に更新してください。

2021/12/18(ver1.023)

  • MZ1.4の更新に伴い、解説を追加。
    ※プログラムの修正は『NRP_DynamicAnimationMZ.js』だけなので、NRP_DynamicAnimationMV2MZ.jsの更新は不要です。

2020/10/21 -> 2021/04/14(ver1.02 -> 1.022)

  • マップ版DynamicAnimationにて、MVアニメが表示されない不具合を修正。
  • 色調変更すると合成方法が一瞬『通常』になる不具合修正(11/10 ver1.021)
  • マップ版DynamicAnimationにて、画面スクロール時に一瞬だけアニメーションの位置がズレる不具合修正。(2021/04/14 ver1.022)
    ※NRP_DynamicAnimationMZも同時に更新してください。

2020/10/02(ver1.01)

  • DynamicAnimationのマップ対応に伴い大幅改修。
  • scaleを有効化。scaleXとscaleYが同時に変更できます。
    ※NRP_DynamicAnimationMZ, NRP_DynamicMotionMZと合わせて最新版を取得するようにしてください。

2020/09/09(ver1.00 -> 1.002)


使用方法(usage)


MVアニメーションの導入手順(2021/12〜)

 MZ ver1.4.0の更新により、MZエディタ上でMVアニメを使用できるようになりました。

  • MVの『img/animations』以下の画像をMZの同フォルダにコピー。
    当然ながら、必要な効果音があればコピーが必要です。
  • MZのアニメーションエディタ上で右クリックし、『MV互換データの作成』を選択。
  • MZエディタ上でMV用アニメーションを作成。


 これだけでOKです。
 後はごく普通にDynamicAnimationを呼び出せば有効になります。

 また、MVで既に作成したデータをMZへ移行したい場合は『data/Animation.json』の中身を直接コピペすれば可能です。
 ※念のため先にAnimation.jsonのバックアップを取るようにしてください。

使用方法(旧)


 ※こちらの手順は不要になりましたが、互換のため残しておきます。機能自体は引き続き有効です。

 公式のAnimationMv.jsに従って、以下の通りMVのアニメーションデータをコピーします。

  • MV上でアニメーションを作成。
  • MVのdata/Animation.jsonをMZのdata/mvフォルダへコピー。
    ※mvフォルダは新規作成してください。
  • MVのimg/animations以下の画像をMZの同フォルダにコピー。
    当然ながら、必要な効果音があればコピーが必要です。

 ※当プラグインはAnimationMv.js(トリアコンタン様)のソースを流用しています。そのため、AnimationMv.jsを登録しなくとも動作するようになっています。
 とはいえ、最新版のAnimationMvには必要ファイルを自動コピーできる機能が追加されています。便利なのでDLと登録をオススメします。

スキルのメモ欄への記述方法

 以下のように一度記述すれば、該当スキルの全アニメがMV化します。
<D-Setting:mv>

 ※D-Setting機能についてはこちらを参照してください。

 個別のアニメ毎にも設定できます。
<D-Animation:mv/>

 あるいは、
<D-Animation>
mv = true
id = XXX
</D-Animation>

 のように記述します。

 AnimationMv.jsとは異なり同一IDでの併用も可能です。
 また、AnimationMv.jsと同じくアニメーションの『パーティクルエフェクト』『効果音』『フラッシュ』を空にしても、MVアニメの再生が行われます。
 お好みの方法を選んでください。

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


旧形式のファイルを使用(useMvAnimationFile)ver1.04

 MVアニメーションを別ファイル(data/mv/Animations.json)から読み込みます。
 MZ ver1.4以降は不要となった機能ですが、引き続き別ファイルで管理したい場合はオンにしてください。新方式との併用も可能です。
 ※該当のファイルが存在しない状態でオンにすると、エラーとなります。

表示優先度を下端で判定(sortPriorityByBottom)

 Z座標が同じアニメーションの表示優先度を判定する際、下端のY座標を基準にします。
 ※この項目はDynamicMotionの『表示優先度の有効化』がオンの場合のみ機能します。

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

経験値曲線の数式を設定する【RPGツクールMZ&MVプラグイン】

2024年10月02日

 経験値曲線に独自の数式を適用できるようにします。

 RPGツクールMZおよびMVでは、職業の経験値曲線を調整できますが、細かい制御はできません。
 特に高レベル帯の曲線の上昇がゆるやかなのが悩みのタネです。
 最も急な設定にしたとしても、

  • レベル30 -> 31の必要経験値が30612
  • レベル40 -> 41の必要経験値が51736
  • 変化倍率は約1.69倍

 ……が精一杯です。


 ドラクエシリーズならこの期間で3〜4倍に変化することを考えると、かなりゆるやかなのが分かると思います。

 そのため、レベルの上昇速度を一定に保とうとすると、長編の後半では「強敵と戦うよりも弱い敵をたくさん倒したほうが楽」「強敵を倒しても経験値が低く達成感がない」なんて状況になってしまいがちです。

 このプラグインでは自由に数式を設定することで、製作者の望むバランスを実現できます。

 なお、基準とするのは「指定のレベルに必要な経験値」です。
 「次のレベルに必要な経験値」を基準に設定することはできません。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

数式のサンプル

プラグインパラメータ

必要経験値(既定)(DefaultExpForLevel)


導入方法(install)


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

 NRP_ExpCurve.js ver1.01(2024/10/02)

更新履歴(History)


2024/10/02(ver1.01)

  • レベル1の時の経験値に初期値が設定されてしまう不具合修正。
  • 経験値を引き継がずに職業を変更した場合、レベルが0になってしまう不具合修正。

2023/03/22(ver1.00)

  • 公開!

使用方法(Usage)


 職業のメモ欄に以下のように記入してください。
<ExpForLevel:[数式]>

 例えば、以下のようになります。
<ExpForLevel:5*level**3>

 これはあるレベルに必要な累計経験値が「5 × レベルの3乗」であることを意味しています。

 いきなり数式を考えようにもイメージが湧きにくいと思うので、EXCELなどの表計算ソフトで実際に試してみることをオススメします。
 自分が作成したサンプルを置いておきますので参考にどうぞ。

 20230322_EXP_Sample.xlsx

 なお、EXCELの数式では2の3乗は2^3と表記しますが、ツクール(JavaScript)の数式では2**3という表記になります。
 基本的には累乗を使った数式を作るといい感じになると思います。
 上記のxlsxでは、4次関数の式をツクール用に変換して出力する機能があるのでオススメです。

 全ての職業で共通で構わないという場合は、プラグインパラメータで既定値を指定することもできます。

数式のサンプル


<ExpForLevel:5*level**3>

 上記でも紹介した数式です。
 かなりシンプルな式ですが、それっぽい経験値曲線になります。

<ExpForLevel:0.2*level**4 + 15*level - 15>

 4乗を使った数式です。
 ドラクエっぽい経験値曲線になります。

プラグインパラメータ


必要経験値(既定)(DefaultExpForLevel)

 レベルに必要な経験値の既定値です。
 例:5*level**3

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