画面外イベントの自律移動を許可【RPGツクールMZ&MVプラグイン】

2021年10月15日

 通常、イベントの自律移動に設定された動作は、イベントの位置が画面からある程度外れると停止する仕様になっています。

 この仕様は処理を軽減するための措置だと思われますが、場合によっては困ることがあります。

 例えば……

  • 画面外を含む複数のイベントで動作タイミングを合わせたい場合
  • 画面外でも動作するイベントを作成したい場合

 などです。


 上記は戦争イベントを想定した例です。兵士と魔物がぶつかり合っています。
 ところが、右側のイベントの動作タイミングがズレてチグハグになっています。これは画面内に入るタイミング(=動作開始するタイミング)がイベントによって異なるために起こる現象です。

 こういった状況に対処するため、このプラグインではイベントの自律移動を画面外でも実行できるようにします。
 設定方法は以下の三通りです。お好きな方法をお使いください。

  • イベント単位でメモ欄に設定
  • プラグインコマンドで一時的に有効化
  • プラグインパラメータで常に有効化

目次


導入方法(Install)

更新履歴(History)

イベントのメモ欄(Note of Events)

MZ用プラグインコマンド(PluginCommandMZ)

MV用プラグインコマンド(PluginCommandMV)

プラグインパラメータ

常に自律移動を有効(AlwaysSelfMovement)


導入方法(install)


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

 NRP_EventNearScreen.js ver1.00(2021/10/15)

更新履歴(History)


2021/10/15(ver1.00)

  • 公開!

イベントのメモ欄(Note of Events)


<ExceptNearScreen>

 イベントの自律移動を常に有効にします。

MZ用プラグインコマンド(PluginCommandMZ)


画面外の自律移動

 イベントに対して画面外の自律移動を有効にします。
 オフにすることも可能です。
 全てのイベントが対象となります。

 設定は画面を切り替えても有効なままです。
 ただし、セーブデータには引き継がれません。

MV用プラグインコマンド(PluginCommandMV)


NRP.ExceptNearScreen [true/false]

 処理内容はMZ版と同じです。
 ※大文字小文字は不問。[]は含めないでください。

プラグインパラメータ


常に自律移動を有効(AlwaysSelfMovement)

 画面外のイベントに対しても常に自律移動を有効にします。

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

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

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

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

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

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

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

目次


導入方法(install)

更新履歴(history)

使用方法(usage)


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


その他情報(other information)


MV版との違い(difference from MV)

競合について(conflict)


導入方法(install)


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

 NRP_DynamicAnimationMZ.js ver1.173(2021/10/15)

オプション

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

 NRP_DynamicMotionMZ.js ver1.131(2021/08/07)

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

 NRP_DynamicAnimationMV2MZ.js ver1.022(2021/04/14)

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)


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)



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』に変えてください。

無効となる項目

 『透明度(opacity)』『描画レート(rate)』『色調(color)』の項目がそれぞれ無効となります。Effekseer側で変更を受け付けないっぽいです。(たぶん……)
 これらの項目はMVアニメーション向け(実装予定)となります。

競合について


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

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

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

茂み属性の機能を拡張【RPGツクールMZ&MVプラグイン】

2021年10月14日

 茂み属性の機能を拡張します。

 通常、茂み属性を付加されたタイルの上に立つと、キャラクターの下半身が半透明になって表示されます。
 この機能は茂みだけでなく、水場などの表現にも利用されます。

 しかしながら、困ったことに茂み属性は全てのレイヤーに適用されてしまいます。
 例えば、水の上に架かる橋を設置した場合、橋の上に立っているのに、水中にいるかのようにキャラが半透明になってしまいます。


 そこで、茂みの上のレイヤーに他のタイルがある場合、茂み属性を適用しないようにします。


 その他にも、不透明度や茂みの深さ、おまけに色を調整できます。
 地形タグやリージョンID、タイルIDやオートタイルタイプを条件にして細かく設定することも可能です。
 作成した設定に『設定ID』を付加すれば、タイルセット毎に設定を呼び出すことも可能です。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

タイルセットのメモ欄(Note)

プラグインパラメータ(基本)

茂みレイヤーの限定(LimitBushLayer)

除外する地形タグ(ExcludedTerrain)ver1.01

茂みの深さ(BushDepth)

茂みでの不透明度(BushOpacity)

設定リスト(SettingList)


プラグインパラメータ(設定リスト)

設定ID(SettingId)

全タイルセットで有効(ValidAllTilesets)

茂みを強制適用(ForceBush)


プラグインパラメータ(設定リスト:条件)

地形タグ(TerrainTag)

リージョンID(RegionId)

オートタイルタイプ(AutotileType)

タイルID(TileId)


プラグインパラメータ(設定リスト:不透明度設定)

茂みの深さ(BushDepth)

茂みでの不透明度(BushOpacity)


プラグインパラメータ(設定リスト:おまけ)

茂みでの色(BushColor)

浮遊効果の振幅(FloatAmplitude)ver1.02

浮遊効果の周期(FloatPeriodicTime)ver1.02


導入方法(install)


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

 NRP_BushEX.js ver1.02(2021/10/14)

 ※OverpassTile.js(立体交差プラグイン)と併用する場合は、当プラグインを上に配置してください。

オプション

タイル情報をデバッグ表示する(詳細

 NRP_DebugTile.js ver1.01(2021/08/15)

 ※F2を押すだけで、足元のオートタイルタイプやタイルIDを確認できるようにするプラグインです。NRP_BushEXの補助用に使えます。

更新履歴(History)


2021/10/14(ver1.02)

  • おまけに浮遊効果を追加。水に浮かんでいるような演出にどうぞ。
  • 不透明度が0の時に無効となる不具合修正。
  • 画面初期表示時に茂み属性が機能しない不具合修正。
  • 小数点座標上でも茂み属性を適用するよう対応。

2021/06/26(ver1.01)


2021/04/16 -> 06/02(ver1.00 -> 1.002)

  • 公開!
  • 設定リストにて全体の初期値が有効になっていない不具合を修正。
    (05/13 ver1.001)
  • OverpassTile.js(立体交差プラグイン)との併用について注記。(06/02 ver1.002)

使用方法(Usage)


 プラグインを適用すると初期状態で『茂みレイヤーの限定』機能がオンとなります。
 茂みの深さや不透明度もパラメータで設定可能です。

 さらに、設定リストによって細かい調整が可能となります。
 全タイルセットで有効とするか、タイルセット毎に呼び出すかを、リスト内のパラメータによって切り替え可能です。

タイルセットのメモ欄(Note)


 タイルセット毎に設定する場合はメモ欄に以下を指定してください。
<BushSetting:?>

 ?の部分が設定リストに登録した『設定ID』となります。

 また、カンマ区切りによって複数指定も可能です。
<BushSetting:A,B,C>


プラグインパラメータ(基本)


茂みレイヤーの限定(LimitBushLayer)

 茂みの上のレイヤーに他のタイルがある場合、茂み属性を無効化します。

除外する地形タグ(ExcludedTerrain)ver1.01

 『茂みレイヤーの限定』について除外する地形タグ(1~7)を指定します。
 複数指定可。(例:1,3)

 例えば、茂みタイルの上に半透明の影のようなタイルを配置した場合、影を無視して茂み属性を参照するといった調整ができます。

茂みの深さ(BushDepth)

 茂み上でキャラクターの下半身に半透明効果を適用する高さです。
 初期値は12。デフォルトのちびキャラを想定した値になっているので、大きなキャラを使いたい場合は変更すると吉です。

茂みでの不透明度(BushOpacity)

 茂み上でキャラクターの下半身に適用する不透明度です。
 255で完全な不透明。0で完全な透明。初期値は128です。

設定リスト(SettingList)

 茂み設定の一覧です。
 細かい条件を指定したい場合に有効です。

 以下、その詳細設定のパラメータです。

プラグインパラメータ(設定リスト)


設定ID(SettingId)

 タイルセットのメモ欄からの呼び出しに使う識別子です。
 『全タイルセットで有効』がオンの場合は不要です。

全タイルセットで有効(ValidAllTilesets)

 設定を全てのタイルセットで有効にします。
 特定のタイルセットにのみ設定を反映したい場合は、オフにしてください。

茂みを強制適用(ForceBush)

 条件を満たした場合、茂み以外のタイルでも常に茂み状態を適用します。
 オフにした場合は通常通り、タイルセット側にも茂み属性が必要となります。

プラグインパラメータ(設定リスト:条件)


地形タグ(TerrainTag)

 対象とする地形タグ(1~7)を指定します。
 複数指定も可能です。(例:1,3~5)

 7つまでしか設定できないのでご利用は計画的に。

リージョンID(RegionId)

 対象とするリージョン(1~255)を指定します。
 複数指定も可能です。(例:1,3~5)

オートタイルタイプ(AutotileType)

 対象とするオートタイルタイプを指定します。
 複数指定も可能です。(例:1,3~5)

 オートタイルタイプとはオートタイル毎に割り当てられる番号です。デフォルトでは戦闘背景の判定に用いられています。
 地形タグと異なり数の制限がないため、自由に設定が可能です。

 ただし、この値は通常確認できません。
 オプションにある「タイル情報をデバッグ表示する」プラグインで確認ができます。

タイルID(TileId)

 対象とするタイルIDを指定します。
 複数指定も可能です。(例:1,3~5)

 こちらはエディタの機能で普通に取得できますが、面倒です。
 こちらも「タイル情報をデバッグ表示する」プラグインでの確認をオススメします。

プラグインパラメータ(設定リスト:不透明度設定)


茂みの深さ(BushDepth)

 茂み上でキャラクターの下半身に半透明効果を適用する高さです。
 値を設定しない場合は、全体の初期値が適用されます。

茂みでの不透明度(BushOpacity)

 茂み上でキャラクターの下半身に適用する不透明度です。
 値を設定しない場合は、全体の初期値が適用されます。

プラグインパラメータ(設定リスト:おまけ)


茂みでの色(BushColor)

 茂み上でキャラクターの下半身に適用する色です。
 例:[255,255,255,255]
 順番に[赤、緑、青、強さ]です。

浮遊効果の振幅(FloatAmplitude)ver1.02

 茂み上での浮遊効果の振幅です。数式可。
 水に浮かぶような演出にどうぞ。


浮遊効果の周期(FloatPeriodicTime)ver1.02

 茂み上での浮遊効果の振幅の周期です。数式可。
 60が1秒に相当します。空白の場合は120になります。
 なお、浮遊効果の振幅に値がある場合のみ機能します。

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