開発日誌

すべての記事

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 画像・音声・アニメーションのラグを改善

2026-01-12 22:08:29

RPGツクールMZにおいて、画像・音声・アニメーションを先読み(プリロード)し、表示・再生時のラグ(遅延)を軽減するプラグインを公開しました。

キャッシュの仕組みがMZとMVとで異なるため、本プラグインはRPGツクールMZ専用となります。

過去に「画像先読み改善プラグイン(PANDA_ImagePreLoad.js)」として似たようなプラグインを公開していますが、画像だけでなく音声(BGM/BGS/ME/SE)やアニメーションの先読みにも対応した、拡張版となります。

キャッシュと遅延

テストプレイ時やダウンロード版の場合はローカルから読み込むため、特にラグ(遅延)が気になるということはありません。

一方、PLiCyなどブラウザ版でプレイする場合は、画像や音声ファイルをサーバーからダウンロードしてくる必要があります。そのため、ファイルサイズが大きい場合やサーバーが混雑している場合は、表示・再生時のラグが顕著に発生します。

一度読み込んだファイルはブラウザの機能としてキャッシュされるため、次からは遅延なく表示・再生されますが、最初は一定のラグが生じます。特にサーバーが重い場合は、かなりの遅延になることもあります。

RPGツクールMZの先読みの仕組み

RPGツクールMZのコアスクリプトには、ラグを軽減するための仕組みが標準で備わっています。

過去の記事でも詳しく書いていますが、RPGツクールMZのデフォルトシステムでは、イベントの開始時にイベントコマンドの先頭から200行目までを走査して、その中に登場する「文章の表示」の顔グラフィック画像と「ピクチャの表示」のピクチャ画像を、先に読み込むようになっています。

事前にファイルを読み込んでキャッシュしておくことにより、実際に画像を表示する際に素早く表示できる仕組みになっています。

しかしながら、イベントコマンドが200行を超えるような場合、途中で200行目以降を追加で先読みするといったことはないため、長いイベントの場合は途中からラグが目立つようになってしまいます。

また先読みされるのは「文章の表示」の顔グラフィックと「ピクチャの表示」のピクチャ画像だけなので、それ以外の画像や音声、アニメーションなどは別の方法で事前に読み込むしかありません。

画像先読み改善プラグイン(PANDA_ImagePreLoad.js)の限界

過去に公開した「画像先読み改善プラグイン(PANDA_ImagePreLoad.js)」は、デフォルトの仕組みを改善し、任意の行数(イベントコマンド全行も可)を対象に先読みできるようになり、また先読み対象のイベントコマンドも「遠景の変更」と、「移動ルートの設定」の中の「画像の変更」に対応しました。

これはかなり画期的なプラグインでしたが、「アクター画像の変更」や「タイルセットの変更」など、全ての画像ファイルには対応していなかったのと、音声ファイルやアニメーションにも未対応だったため、これで万事解決というわけには行きませんでした。

リソース先読みプラグイン(PANDA_ResourcePreLoad.js)

そこで今回、画像ファイルのダウンロードを要するほぼ全てのイベントコマンドと、音声・アニメーションの先読みにも対応した拡張版を、作成・公開しました。

具体的には以下のイベントコマンドに対応しています。

頭に*が付いているのが今回新たに追加されたコマンドです。旧プラグインにあった機能は全て、今回の新プラグインにも含まれています。

  • 「文章の表示」で使用される顔グラフィック
  • *「メンバーの入れ替え」で加えられたアクターの各種画像ファイル
  • 「移動ルートの設定」中の「画像の変更」で使用される画像ファイル
  • *「移動ルートの設定」中の「SEの演奏」で使用される音声ファイル
  • *「アニメーションの表示」で使用されるアニメーション
  • 「ピクチャの表示」で使用される画像ファイル
  • *「BGM/BGS/ME/SEの演奏」で使用される音声ファイル
  • *「戦闘BGM/勝利ME/敗北ME/乗り物BGMの変更」で使用される音声ファイル
  • *「アクターの画像変更」で使用される各種画像ファイル
  • *「乗り物の画像変更」で使用される画像ファイル
  • *「タイルセットの変更」で使用される画像ファイル
  • *「戦闘背景の変更」で使用される画像ファイル
  • 「遠景の変更」で使用される画像ファイル
  • *「敵キャラの変身」で変身後の敵キャラの画像ファイル
  • *「戦闘アニメーションの表示」で使用されるアニメーション

先日の記事「ブラウザプレイでBGMと演出のズレをなくす方法」の時はまだ本プラグインがなかったので、「タイルセットの変更」など一部機能は工夫して対処が必要でしたが、今回のこのプラグインで「タイルセットの変更」にも対応しました。遅延対策がより簡単にできるようになったので、ぜひご利用ください。

プラグインコマンド

また、イベント開始時の自動的な先読み以外にも、任意のタイミングで任意の画像・音声・アニメーションを個別に先読みできるよう、プラグインコマンドも各種用意しました。

イベント開始時の先読みだけでは対応できないケースなど、必要に応じてお使いください。

プラグインコマンドはそれぞれ以下のようになっています。

画像先読み
/img/フォルダ以下の任意の画像ファイルを先読みします
タイルセット先読み
指定したタイルセットの画像ファイルを先読みします
音声先読み
/audio/フォルダ以下の任意の音声ファイルを先読みします
アニメーション先読み
任意のアニメーションを先読みします
先読み行数指定の廃止

以前のプラグインは、先読み対象の行数をデフォルトの200行から、プラグインパラメータで指定した任意の行数に変更するという仕様で、行数を0と指定すると全ての行が対象になるというものでした。

あまりに長いイベントの場合は全行読み込みにすると、イベント開始時に先読みの時間がかかりすぎてしまうための仕様でしたが、実際にこの制約に引っかかることは稀で、ほとんどの場合が全行先読みにしていると考えられることから、行数の指定は廃止し、常にイベントコマンドの全行を開始時に走査する仕様に改めました。

これによってプラグインパラメータの指定が不要になり、単純に導入するだけで使えるようになりました。

ただし、本当に膨大なイベントであったり、大量のリソース先読みを必要とするイベントの場合には、事前読み込みの処理に時間がかかってしまう可能性もありますので、ご注意ください。

プラグイン更新の際の注意点

もともとは「PANDA_ImagePreLoad.js」というプラグイン名でしたが、画像だけでなく音声やアニメーションにも対応したことで「Image」では誤解を招くため、プラグイン名を「PANDA_ResourcePreLoad.js」に変更しました。

プラグイン名の変更により、「画像先読み」のプラグインコマンドを使用している場合は、プラグインコマンドの再設定が必要になります。

「画像先読み」のプラグインコマンドを使用していない場合は、そのまま今回の新プラグインに置き換えが可能です。

プラグインコマンドの使用が数カ所の場合も、今回の新プラグインの方が高機能なため、なるべく置き換えをお勧めします。その場合、お手数ですがプラグインコマンドは新しいプラグインのもので再設定をお願いします。

「画像先読み」のプラグインコマンドを大量に使用しており、全て修正するのが現実的でない場合は、旧プラグインと新プラグインの併用も可能です。併用による実害はないはずですが、イベントコマンドの走査や画像の読み込みを二度行うことになるため、多少重くなることがあり得ます。なお、併用する場合は必ず今回の新プラグインの方を後にしてください。

未対応事項とまとめ

前提としてそのイベント内のリソースを先読みするものであるため、戦闘で出現する敵キャラの画像や、戦闘行動で使用するスキルのアニメーションなどを先読みする機能はありません。

またキャッシュの仕様上、移動先のマップデータを先に読み込むとか、次に起動するイベントの内容を事前に読み込んだりといった機能もありません。

デフォルト機能以外の、立ち絵の自動表示やUI関連の表示なども特に対応していないので、プラグインコマンドによる先読みを適宜利用して工夫してください。

イベントコマンドの「ムービーの再生」も、動画ファイルはファイルサイズが大きく、先読みするとかえって重くなる可能性があるため、対応していません。

このように未対応の機能はいくつかありますが、現実的なラグ対策としては十分な機能を備えていると考えています。ぜひ導入していただき、快適なプレイ体験を提供してください。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ サイト情報 ] [ その他の雑記 ] 2025年総括

2025-12-31 12:21:12

早いもので2025年ももう大晦日。

21世紀ももう四半世紀が過ぎるということで、時の流れの速さに恐れおののきつつ、年末恒例の総括のお時間です。

長編大河RPG『王国の英雄』完成!

まず今年は何と言っても長編大河RPG『王国の英雄』の完成・公開です。

2020年の9月から制作を開始し、毎年のように来年には完成を目指していますと言ってきた本作ですが、丸5年の歳月をかけて2025年8月末に完成しました。

6月にβテスト版として先行公開した時から多くの方にプレイいただき、8月末にPLiCyで正式リリースしてからは、現在までに1万を超えるプレイ数を記録しています。

けっこうな長編であり、同じ人が数十回はプレイするため、他の作品と単純に比較できるものではないですが、かなり多い部類には違いなく、嬉しい限りです。

9月末に出したダウンロード版も通算で約1500回となりました。これも何度かアップデートをしているため、単純なプレイ人数とは異なりますが、大勢の方にプレイしていただけたものと思っています。

お陰様でPLiCyの「ゲームコンテスト2025」では敢闘賞を受賞しました。自作品の受賞は初めてで、スタッフからのコメントも「攻略のヒントが幅広く散りばめられている」「ボス戦がなるべく強制突入にならない」など、意識した点を的確に評価していただきました。ありがとうございます!

プレイ動画やプレイレポート、感想やレビューなど、数多くいただいており、ありがたい限りです。引き続きよろしくお願いいたします。

ツクラーショウケース

上記に関連して、6月にはshinさん主催の「ツクラーショウケース」にサプライズツクラーとして出演させていただきました(ただし当該回は出演者全員がサプライズツクラー枠)。

3月頃に出演オファーをいただき、6月中頃ならば『王国の英雄』も完成……が見えている頃で、作品のプロモーションにもちょうど良いよいうことで、引き受けさせていただきました。

詳しくは「ツクラーショウケースに出演しました」の記事をご覧ください。

PV制作は苦労した点も多かったですが、根気強く修正を続けた結果、満足のいく出来になりました。何より当日、とても盛り上がったのが嬉しかったです。

こちらが当日放送したPVです。

このツクラーショウケースの翌日に先述のβテスト版を公開することにしました。まさに作品完成のきっかけを作ってくれたと、感謝しています。

イベント参加

去年の総括で、来年はイベント参加やイベント出展も視野に入れていると述べた通り、2月に「東京ゲームダンジョン」に顔を出して以来、リアルのインディーゲームイベントにちょくちょく参加し、同じツクラー、ゲーム制作者さんと交流させていただきました。

出展の方は、11月の「クリエイターズ文化祭」と12月の「マイゲームフェス」に出展参加させていただき、『王国の英雄 モブキャラファンブック』という謎の本を配布しました。普段は見過ごされがちなモブキャラについて、設置コンセプトや台詞の裏の意味、制作時の苦労話などを余すところなく書けたので、作っていてとても楽しかったです。

イベントの出展については、前述のツクラーショウケース出演も含めていずれもオンラインイベントばかりでしたが、来年はリアルイベントへの出展も視野に入れようかと思っています。

プラグイン

プラグインは今年もいくつか公開しました。

既に重要なプラグインは昨年までに開発してしまったので、今年は比較的小規模なプラグインが多かったですが、それでも『王国の英雄』の正式リリースを控えて作品の仕上げで作成したプラグインを、7~8月頃に立て続けに公開しました。

ステート重複付与無効プラグイン(PANDA_NoDuplicateStates.js)」や「混乱時行動改善プラグイン(PANDA_FixedConfusionAction.js)」など、地味な機能が多いですが、どれもデフォルトの仕様の今イチな点を修正するプラグインなので、戦闘や演出の調整にこだわりたい方には役に立つものだと思います。

反響の多かったものとしては、11月に公開した「ターゲット条件指定プラグイン(PANDA_ActionTargetCondition.js)」です。2月頃に仮組みしてからずっと温めていたもので、『王国の英雄』に組み込んでみて特に問題が出なかったことから、ようやく公開したものです。メモ欄を使わずに設定ができる点と、賢い敵の行動が簡単に実装できるため、自分でも気に入っているプラグインです。

また、9月公開の「ダミータイル非表示プラグイン(PANDA_EditorOnlyTiles.js)」は、来年に予告されているRPGツクールMZのアップデートで通行可不可の可視化機能が実装されると不要になりますが、MVでは引き続き必要になるのと、カウンター属性や四方向通行設定など単純な通行可不可以外の設定はおそらく可視化してくれないので、MZにおいても引き続き有効なプラグインなのではないかと思っています。

他にも、『王国の英雄』で作成したもののまだ公開していないプラグインなどもいくつかあるので、来年はそういったものも整備して公開していければと思います。

その他の活動

SSL対応になりました」で述べたように、8月に当サイト「werepanda.jp」が開設15周年を迎え、それと同時にサイトがSSL対応となりました。

ただの個人サイトでそこまでするのは……と思って保留していましたが、プラグイン等をダウンロードする際にブラウザで警告が出てしまうという実害が出ていたのと、先述のリアルイベント参加に向けて名刺を作る(名刺にサイトのURLを掲載する)ため、SSL対応するなら今だとなりました。

また12月には毎年恒例の「アドベントカレンダー」に参加して、「ブラウザプレイでBGMと演出のズレをなくす方法」という記事を投稿しました。

特にPLiCyなどのブラウザ版で顕著な遅延対策をいくつか記述しました。どれもやっておくに越したことはない対策ばかりで、ブラウザ版に限らずダウンロード版でも若干の遅延は発生するので、ぜひ参考にしていただければと思います。

2026年の抱負

さて、来年2026年に向けて。

12月の頭頃から、新作の制作に取り掛かっています。

その名も中華風探索RPG『蟠桃会(ばんとうえ)異聞~仙界の宴』(仮題)。

過去作である和風探索RPG『天下御免!からくり屋敷』のEXボスとして登場した西王母・麻姑・百花仙子・嫦娥を主人公パーティーに据えて、『天下御免!からくり屋敷』と同様のハクスラ系ダンジョン探索RPGを、今度は舞台を中華世界に置き換えた作品です。

構想自体は5年前に『王国の英雄』を制作開始する際に、別の作品案として浮かんでいたものですが、5年の歳月を経て新作として制作開始することになりました。

今回はストーリーも特にないハクスラ系で、『天下御免!からくり屋敷』の時のような続編ダンジョンなども特に予定しておらず、かつこれまでの作品を通じて制作ノウハウはかなり溜まっているので、1年半程度での完成を目標にしています(ホントかな)。

さすがに来年中の完成は考えていませんが、完成の目途が立っている程度にはなっていることを目標に頑張ります。進捗はX(旧twitter)でも上げていきますので、楽しみにしていてください。

本年はどうもありがとうございました。

また来年もどうぞよろしくお願い申し上げます。

[ テクニック ] ブラウザプレイでBGMと演出のズレをなくす方法

2025-12-09 00:00:06

本記事は「ゲーム制作アドベントカレンダー(旧ツクールアドベントカレンダー)Advent Calendar 2025」12月9日分の投稿記事です。

今年2025年はついに、5年にわたって制作してきた長編大河RPG『王国の英雄』を完成させ、公開しました。

今回は、その時にエンディングのイベントを作った経験から、エンディングの演出でよくある、画面上のキャラの動きとBGMとをシンクロさせる時の注意点とその対処法について解説します。

エンディングに限らず、BGMと演出を同期させるようなシーンで役立ちます。

またブラウザプレイで顕著ですが、ダウンロード版でも多少の遅延は発生しうるので、対策するに越したことはありません。

BGMと演出の同期

エンディングでよくある演出が、メッセージを表示せずキャラの動きだけでシーンを連続して見せるような演出。これまでの冒険の回想や主人公たちのその後の様子などが、いわゆる「人形劇」で次々と流れていく演出です。

この時、BGMの盛り上がりや転調のタイミングが演出とシンクロしていると、とても印象的に映ります。

しかし、どんなにタイミングをバッチリ合わせたとしても、バックグラウンド処理の影響や画像等の読み込みの遅延により、微妙にズレが発生します。

制作時は自分のPCのローカル環境でテストプレイするためなかなか気付きませんが、スペックの低いPCでプレイした場合や、特にPLiCyなどブラウザプレイの場合には、顕著な遅れが出てしまいます。

そういうのを「気にしない」というのも一つの方法ですが、せっかくBGMと演出とを合わせたのなら、その状態で見てほしいものです。それにBGMが微妙にズレていると、遅延のせいとは知らないプレイヤーには「残念」と映ってしまうでしょう。せっかくの苦労が水の泡になってしまいます。

ではどうすればいいのか? 可能な限りズレを解消する方法について解説します。

エンディングでよくある演出と言っていますが、それ以外でもオープニングやその他、BGMと動きがシンクロするようなシーン全般で使えるテクニックです。拙作『王国の英雄』でもエンディングのほか、オープニングムービーや三人娘のダンスショーのシーンなどで用いています。

▲『王国の英雄』のダンスショーシーン、BGMとダンスを合わせている

なお、通常の「文章の表示」で台詞を表示させる場合、制御文字の\^で自動メッセージ送りをしていない限りは、プレイヤーの操作によってタイミングは全く変わってくるので、そもそもBGMとの同期には合いません。ご注意ください。

早送りの禁止

まず忘れてはならないのが、RPGツクールに標準機能として備わっている、早送り機能の無効化です。

イベント中に決定キーを押しっぱなしにしていると、メッセージが早送りされるのはもちろん、各キャラの動きも倍速になります。しかしBGMまでは倍速では流れないため、どんどんズレていってしまいます。

そこで、決定キー押しっぱなしによる倍速化機能を、該当シーン中は無効化しておく必要があります。

この早送りの無効化は、イベントコマンドではできないので、プラグインに頼ることになります。

同様の機能を持つプラグインは多数ありますが、拙作プラグイン「イベント早送り無効化プラグイン(PANDA_DisableFastForward.js)」でも高速化のON/OFFが簡単に切り替えられます。

スイッチを一つ用意してプラグインパラメータで指定し、該当シーンの直前でそのスイッチをONにし、終わったらOFFにすれば、該当シーン中は早送りができなくなります。

画像の先読み

次に必要なのは、画像の先読み(プリロード)です。

ローカルの環境ではほとんど気にはなりませんが、ブラウザプレイ環境の場合、サーバーやネットワークに起因する画像の読み込みの遅延は顕著に起こります。

ツクールには使用する画像ファイルをキャッシュしておく仕組みがあります。過去記事「画像の先読みを改善して画像表示のラグ解消」で紹介したように、RPGツクールMZではイベントの開始時にそのイベントで使用される画像をあらかじめ読み込んでキャッシュする仕組みになっています。

しかし、キャッシュが効くのはイベントコマンドの200行目までに登場する画像となっており、長いイベントだと途中からキャッシュが効かなくなってしまいます。エンディングのイベントなどは長くなりがちなので、この影響を顕著に受けます。

それを改善するのが、上記の記事で紹介している拙作「画像先読み改善プラグイン(PANDA_ImagePreLoad.js)」です。

このプラグインを導入すると、200行という制限が解除されるほか、通常では先読み対象にならない「遠景の変更」や「移動ルートの設定」中の「画像の変更」も対象になります。

1つのマップに全て収める

意外と盲点なのが、マップ間の移動を行うと、マップの読み込みが走って遅延が生じる点です。

連続で回想シーンを流すような演出の場合、各回想シーンごとに1つのマップで構成し、場所移動と自動実行イベントでシーンを繋いでいくことが多いですが、そのような構成にすると、マップ移動の際にマップの読み込みが行われ、そこで遅延が発生します。

▲『王国の英雄』エンディングのマップ、1マップに全シーンを詰め込んでいる

それを防ぐためには力業ですが、そのシーンで使用するマップを、全て1つのマップに収める方法です。

同一マップ内の場所移動であればマップの読み込みは発生しないので、1つのマップ、1つの自動実行イベントに全てのシーンを収めます。そうすれば解決します。

次のマップをプリロードするプラグインなども存在しますが、さらにその先のイベント内での画像の先読みなどもあるため、1つのマップに押し込めてしまうのが最も手っ取り早いです。

ただその場合、タイルセットの異なるマップを1マップに統合する際は、場所移動時の暗転中にイベントコマンドの「タイルセットの変更」で切り替えてやる必要があります。

先述の「画像先読み改善プラグイン」は「タイルセットの変更」によるタイルセット画像のプリロードには対応していないため、イベント冒頭でフェードアウト中に「タイルセットの変更」を行って、キャッシュに保存しておく必要があります。

ウェイトで時間調整

そして、ここが最大のポイントです。

上記の対策を行っても、PCのバックグラウンドでの処理などの影響により、秒単位以下の遅延は生じます。これはブラウザプレイに限らず、ローカルの環境でも起こりえます。

1~2フレーム(1フレーム=1/60秒)の遅れならまだしも、それが累積して数フレーム以上の遅れになると、BGMとの同期に明らかなズレが見られます。

その時の対策として有効なのが、ウェイトで時間調整をする方法です。

この手の演出を作る場合、たいてい数十フレームから2~3秒程度のウェイトが入ります。このウェイトの長さが数フレーム短くなったところで、基本的に演出には影響がありません。

そこで、ウェイトの時間を調整してBGMのタイミングを合わせるのです。そうすれば、数フレームのズレが起きていたとしても、ウェイトのところでズレが解消されるため、結果としてズレを最小限に抑えることができます。

RPGツクールのコアスクリプトでは、AudioManager.saveBgm().posで現在のBGMの再生位置を秒数で取得することができます。この値が一定値になるまで、1フレームずつのウェイトをループ処理で繰り返し、一定値になったらループを抜けるようにすれば、ウェイトで時間調整が可能です。

具体的には、まず以下のようにして、ちょうど良いタイミングにおけるBGMの再生位置を取得します。

◆ウェイト:90フレーム
◆変数の操作:変数A = AudioManager.saveBgm().pos * 1000
◆文章:なし, なし, ウィンドウ, 下
:  :\V[1]

再生位置の数値の単位は秒ですが、実際の値はフレーム単位まで取得されるため、返される値は小数点以下の値になります。そのままだとイベントコマンドで扱いにくいので、1000倍して整数で扱えるようにしています。

ちょうど良いタイミングにおけるBGMの再生位置が取得できたら今度は以下のようにして、その位置になるまでループするようにします。

◆ウェイト:45フレーム
◆ループ
 ◆変数の操作:変数A = AudioManager.saveBgm().pos * 1000
 ◆条件分岐:変数A < 57500
  ◆ループの中断
 :分岐終了
 ◆条件分岐:変数A >= 58650
  ◆ループの中断
 :分岐終了
 ◆ウェイト:1フレーム
:以上繰り返し

全体のウェイトが90フレームとして、半分の45フレームは必ず入れるようにします。これがないと、遅延が激しかった時にウェイトがなくなってしまうため、それはそれで演出として違和感が出てしまいます。どのくらい強制ウェイトを入れるかは、半分くらいを目安に感覚で構いません。

再生位置の値は1/60フレーム単位=16.66…と端数が出るため、適当にキリの良い値に切り捨てて、その値よりも現在の再生位置が大きければ、ループを抜けてウェイトを終了するようにしています。ぴったりの値にすると、誤差で1フレームズレる可能性があります。

また、BGMがループすると再生位置は0にリセットされます。そのため、何らかの理由で大幅に遅延し、BGMが周回遅れになっていると、BGM1周分に近いウェイトが発生することになります。しばらく動きが止まることになって、それはBGMとのズレ以上に不自然なため、そういう場合は同期を諦めて、再生位置が一定値以下だった時も即座にループを抜けるようにしています。

こういった調整を、ある程度の長さのウェイトがあるところで何カ所か仕込んでおけば、途中で遅延が発生してもすぐに解消されます。

フォーカス喪失対策

RPGツクールの、というかPCアプリケーション全般の仕様として、そのアプリ(ゲーム)のウィンドウがフォーカスを失ってアクティブでなくなると、画面の更新は停止する一方、BGMは再生され続けます。そのため画面の動きとBGMに著しいズレが生じます。

これは特に、全画面表示をせずにマウスで操作をしていると、弾みでウィンドウ外のところをクリックしてしまったりして起こりがちです。そのほか、スクリーンショットを撮ろうとして別のアプリを立ち上げたりすると起こります。

それへの対策プラグインも存在します。

mattuup様の「音声強制停止プラグイン(MAT_AudioFocusResume.js)」を導入すると、ウィンドウがアクティブでない時にBGMの再生を停止できるようです。

また逆に、はどはど様の「H2A_DontPauseWhenBlur」を導入すると、ウィンドウがフォーカスを失っても動きが停止しないようにできるようです。

『王国の英雄』ではここまでは導入していないのですが、気になる場合は導入すると完璧でしょう。

最後に

重要なシーンでキャラの動きとBGMとをシンクロさせるのは、かなり労力がかかりますが、きれいにハマると印象に残ります。

しかし、それが環境によってズレてしまうとなると、せっかくの労力がもったいないばかりか、ズレのせいで逆に残念な演出になってしまいます。

特にPLiCyをはじめとするブラウザプレイでは遅延によるズレが顕著なため、今回挙げた対策は非常に有効に働きます。また、ダウンロード版でも多少のズレは発生するため、対策しておいて損はないはずです。

せっかくの手間が無駄にならないよう、さらにもう一手間加えることで、完璧なシーンに仕上げましょう!

では、最後まで読んでいただき、ありがとうございました。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 対象が無条件のスキルを正しく使わせる

2025-11-30 17:20:25

対象範囲が「味方単体(無条件)」のスキルを敵キャラや自動戦闘のアクターが使うと、ツクールのコアスクリプトの不具合のせいで正常に動作しない問題を解決するプラグインを公開しました。

「無条件」の設定自体がRPGツクールMZからの登場なので、MZ専用のプラグインとなります。

RPGツクールMVまでは、スキルの対象範囲に生存者か戦闘不能者(死亡者)のどちらかしか選べませんでした。しかし、RPGツクールMZで範囲指定のUIが改良され、対象陣営が味方の場合に限り、生死にかかわらず対象にできる「無条件」の指定ができるようになりました。

これにより、戦闘不能なら蘇生、生きていれば回復といった、便利なスキルが作れるようになりました。

しかし、こうしたスキルを通常のプレイヤーキャラクターが使う分には問題ないものの、敵キャラや自動戦闘のアクターに使わせようとすると正常に動作しません。

自動戦闘のアクターが使った場合は、生存中の味方しか対象候補にならず、戦闘不能の味方に使うことはありません。また敵キャラが使った場合は、ターゲットを取得できず何も起こりません。

これはRPGツクールMZのコアスクリプトで、こうしたケースが想定されていないことによる不具合のようです。

過去記事「敵の蘇生対象がランダムにならない不具合修正」でもそうでしたが、どうもツクールのコアスクリプトは敵が蘇生を使うという想定がされていないようで、これもそれと似たような現象です。自動戦闘についても、無条件ターゲットがMZからの追加機能であるため、おそらく対応が漏れているものと思われます。

公式フォーラムでこの問題が投稿されていたため、それに合わせて修正プラグインを作成しました。本プラグインを導入するだけでこれらの不具合が解消し、敵キャラや自動戦闘キャラも意図通りにスキルを使用できるようになります。

確かに「全体無条件」ならともかく、「単体無条件」のスキルは作る機会が多くないかもしれません。しかもそれを敵キャラや自動戦闘キャラに使わせることは、さらに例が少ないでしょう。

しかし、そのような設定が可能である以上、コアスクリプト側もそれに対応しておかなければならないはずで、仕様策定の難しさを改めて感じさせられます。

なお、プラグインに関する質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] イベントの早送りを無効化する

2025-11-23 18:36:13

指定したスイッチがONの時は、決定キーの押しっぱなしによるイベントの早送り(倍速化)が無効になるプラグインを公開しました。

RPGツクールMV/MZ両対応です。

RPGツクールには、決定キーを押しっぱなしにしていると、イベントが倍速で進む早送り機能があります。

メッセージが瞬間表示されるほか、キャラクターやピクチャの移動なども倍速で処理されるようになるため、テストプレイ時や一度見たイベントをもう一回見ることになった時などに便利です。

しかし一方で、エンディングなどでクレジットを表示している時や、キャラの動きとBGMとをシンクロさせている時など、早送りされては困るケースも存在します。

そのような時に、このプラグインが役立ちます。

使い方は簡単で、まずスイッチを1つ用意します。

次にプラグインパラメータでこのスイッチを「(早送り)禁止スイッチ」として指定します。

そして、早送りされたくないイベントの開始前にこのスイッチをONにし、終了後にOFFにします。

これだけでOKです。

なお「文章のスクロール表示」だけは、標準で「早送りなし」の機能があるため、本プラグインの対象外です。スクロール表示で早送りを禁止したい場合は、「早送りなし」のチェックを入れてください。

それ以外の全てのイベントコマンドおよび戦闘ログは、このプラグインによって高速化が無効になります。

プラグインに関する質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。