開発日誌

テクニック

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 画面外のイベントをカスタム移動させる

2023-11-07 22:15:24

表示画面範囲外のイベントでも、自律移動が「カスタム」に指定されているイベントは、自律移動を行うようにするプラグインを作成しました。

RPGツクールMV/MZ、どちらにも対応しています。

ツクールの標準機能では、画面に表示されている範囲内またはその近くにあるイベントのみ自律移動を行い、遠く離れた位置にあるイベントは自律移動が「固定」以外に設定されていても、自動的には動かないようになっています。

これは負荷軽減のための仕組みです。

イベントを自律移動させるには、移動先のタイルが動けるかどうか、他の全てのイベントと重なっていないかどうかを調べる必要があります。広いマップで100以上のイベントが設置されているような場合、これを全てのイベントについて逐一処理すると、非常に重くなってしまいます。

そこで、画面表示に関わらないイベントは自律移動を行わないようにして、負荷を軽減しているわけです。

具体的には、標準画面サイズである17x13マスの場合、プレイヤーから横17マス、縦13マスよりも遠くにあるイベントは、自律移動を行わないようです。プレイヤーが画面の隅にいても表示範囲のイベントはちゃんと自律移動するので、基本的にはこの仕様で問題はありません。

ただし、自律移動が「カスタム」のイベントで、ダンジョンギミックになっていたり、複数のイベントで動きを合わせているような場合は、問題が起こり得ます。

例えば、左右に移動する足場に乗って進むダンジョンギミックを作る場合、足場の初期位置が遠く離れた場所にあると、待っていても永遠に来ない足場となってしまいます。

また、複数のイベントを並べて動かしたい場合、プレイヤーに近い方のイベントが先に動き出してしまうため、各イベントの動きが揃わなくなってしまいます。

下の動画は、連動するモブキャラの代表とも言える、池の周りを回る子供たちのイベントですが、本来は2人がくっついて動くべきところ、先頭の男の子の方が先に動き出してしまうため、女の子との間が開いてしまいます。

これを解消するために、自律移動が「カスタム」であるイベントは、遠く離れた位置にいても強制的に自律移動させるプラグインを作成しました。

「ランダム」や「近づく」のイベントは従来通り動きません。「カスタム」のイベントのみを動かします。

カスタム移動のイベントが大量に置かれている場合は、重くなる可能性がありますので、注意してください。

イベント個別に自律移動の可否を設定するような機能はありません。全てのカスタム移動のイベントが対象となります。

個別のイベントについて自律移動を制御したい場合は、砂川赳さんの「画面外イベントの自律移動を許可」のご利用をお勧めします。

基本的に画面外のイベントの自律移動が問題となるのはカスタム移動の場合だけであり、カスタム移動のイベントを1つのマップに大量に置くことも少ないので、設定不要ですぐに使えるものがあると便利だと思い、作成しました。

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

コメント
お名前
コメント
※ 確認画面はありません。