衝突判定を簡単設定で広げられるプラグイン「NRP_EventCollisionEX.js」

どうも! Tuskです!

今回は、ツクールmz / mv 向けプラグイン「NRP_EventCollisionEX.js」についてを書かせて頂こうと思います。

「NRP_EventCollisionEX.js」は、砂川赳様が作成なされたプラグインです。
下記のリンク先にて配布、解説されています。
・New RPG project

また、当サイトの記事は、あくまで僕の初心者な目線からの情報共有です。
当サイトの情報の確認・精査は、自己責任にてお願い致します。

下記の記事を見て頂けますと幸いです。
・今後、書いていきたい記事について


さて、この「 NRP_EventCollisionEX.js」というプラグインがどの様なプラグインかと言いますと、名前そのままイベントの当たり判定を拡張してくれるというプラグインです。
しかも、イベントの起動範囲を広げてくれるだけではなく、衝突判定まで広げてくれるという優れもの!
起動範囲の広いイベント作成のみならず、大きな扉や大型モンスターなどの衝突判定も簡単に設定できてしまうというわけですね。

使い方としては簡単なプラグインですので、特にハマる要素は無いかと思いますが、実際に使っていて「おっと、こんな事になるか……」ってな事もありましたので、記事にしようと思った次第です。

スポンサーリンク

導入

同プラグインは、特に変わった導入を行う必要や、ライブラリの導入など必要はありません。
プラグイン管理画面からインポートし、プラグインを有効にするだけでOKです。
通常通り、プラグインを導入して下さい。

プラグインの設定

同プラグインの設定パラメータは二つのみです。
また、必ずしも設定する必要はありません。

・大型イベントの設定を考慮
大型イベントの移動を考慮するパラメータの様です。
これをtrueにしておけば、移動する大型モンスターなども作れますね。
しかし、このパラメータはfalseにしておいた方が動作は安定する模様。
……僕は常にtrueで使っているので違いはわかりませんw

・設定リスト
ピクチャーに衝突判定を設定し、登録しておけるパラメータ。
同じピクチャーで頻繁に呼び出すイベントを作る場合は、個別に設定する必要がなくなるので設定しておいた方が楽そうですね。
僕の場合はまだ使う機会はありませんでしたが、とてもありがたい機能ですな。

プラグインの使い方

全項目で書いた様にプラグインのパラメータでピクチャーに対して衝突判定を設定した場合を除き、イベントに衝突判定を設定する場合は、イベントのメモ欄に以下の様なタグを記載します。

タグ:<CollisionEX:上,左,右,下>
※上左右下の部分は、各方向へ衝突判定を広げたいマスの数を記入

そして、このプラグインで設定した衝突判定は、その範囲が広がるだけで、ドリガーやプライオリティは通常のイベントと変わりはありません。

例:調べるとイベントが発生する縦3、横3マスの四角いオブジェクト
タグ:<CollisionEX:2,1,1,0>
プライオリティ:通常キャラと同じ
トリガー:決定ボタン

例:範囲内に入ると自動で発生する縦1、横3の範囲イベント
タグ :<CollisionEX:0,0,2,0> もしくは <CollisionEX:0,2,0,0>
プライオリティ:通常キャラの下
トリガー:プレイヤーから触れた

僕は上記の様な設定でイベントを作っていますが、ここで一つ注意点を。
それは、ツクールのイベントのキャラ画像は、イベントの下と左右中心を基準に表示されるという事です。

そのため、縦3横3のイベントを作ろうとした場合にキャラ画像と衝突判定を合わせるためには、上に2マス、左右に1マスずつ広げる設定をしなくてはなりません。
タグ例: <CollisionEX:2,1,1,0>

そして、ここで少々困るのが、縦2横2のイベントを作るにはどうしたらいいの?という事です。
ツクールMZ/MVのデフォルトにおいて、キャラ画像は48pxのイベントを中心として表示されるため、横96pxのキャラ画像を使おうとした場合、プラグインの衝突判定とうまく合わせられません。
プラグインは左右どちらかに1マス単位でしか衝突判定を広げられないため、0.5マス分のズレが生じてしまいます。

理想としては、下記の画像の様な状態にしたいけど、この様に当たり判定を広げる設定はできないっぽい。

これに対処するにはおそらく、何か他のプラグインを使用するか、スクリプトでなんとかするか、画像を合わせて作成するしかないと思われます。
色々試してみましたが、どうやら「 NRP_EventCollisionEX.js 」で左右に0.5マスずつ衝突判定を広げるといった設定はできない様子。

手っ取り早いのは、下記の画像の様に、縦3横3という単位でキャラ画像を作成して、実際に表示したいキャラ画像を左右どちらかにズラして描くという方法。
こうすれば、画像をズラした方向に衝突判定を広げる事で、画像と衝突判定をぴったり合わせることはできます。
この場合のタグ: <CollisionEX:1,0,1,0>

しかしこれ、無駄に大きな画像を作る事になるわけですし、あまり良い方法とは言えないと思います。
……他に良い方法があったらごめんなさい。

プラグインの活用

前にもイベントのトリガーを広げるプラグインはありましたが、「 NRP_EventCollisionEX.js 」は衝突判定まで広げてくれるのが本当にありがたい。
僕の場合ですが、下記の様な場面でこの「 NRP_EventCollisionEX.js 」を活用させて頂いてます。

範囲の広い起動イベント

幅の広い出入口などで、プライオリティを「通常キャラクターの下」、トリガーを「プレイヤーから触れた」に設定して活用しています。
こうする事で、イベント数を増やすよりも動作を軽くすることができます。
下記のツイート動画の場合は、ダンジョンステーションの入口(横に3マス)と、ダンジョンステーション内からの出口(横に15マス)に範囲を指定し、プレイヤーが触れる事でマップを移動するイベントを起動しています。

サイズの大きい敵キャラ

このプラグイン・・、アクションRPGなどを作成する場合は特に重宝します。
もちろん、大きいオブジェクトや扉などを作成する事もできますし、下記のツイートの様にデカい衝突判定を持つキャラクターを動かす事も可能なわけで。
そもそもアクションを作成するモノではないRPGツクールにおいては当たり判定やぶつかり判定の作成に苦労するのですが、このプラグインのお陰で実現する事ができました。

使い方によっては、もっと色々な事ができるプラグインなのではないでしょうか。

砂川赳様は、何となく作ったっぽいプラグインの様ですけど、僕にとっては非常にありがたいプラグインでした。

こういうモノを思いついて実際に形にできる人って、本当に尊敬しちゃいますね。

コメント

タイトルとURLをコピーしました