キャラクターの浮遊プラグイン 【ツクールMV プラグイン導入解説】

huyuu032

RPGでは定番のダメージ床。毒沼などを歩いてしまうとHPが減ってしまうようなステージは物語の中盤以降に配置したい、定番のトラップかと思います。

そんなダメージ床の無効化機能を搭載する機能を演出付きで導入でき、かつ設定自体では通常は歩けないような移動もできる「浮遊」を導入できるプラグイン『キャラクターの浮遊プラグイン』の概要と導入方法を紹介していきます。

キャラクターの浮遊プラグインとは?


キャラクターの浮遊プラグインは、ダメージ床の無効化・特定の地形などを通行できる「浮遊」を導入できるシステムです。様々なプラグインを開発されているトリアコンタンさん制作のプラグインになっています。

■プラグイン公開ページ
キャラクターの浮遊プラグイン(Delusional Field)

浮遊状態になると、操作キャラが浮いているような移動演出になり、ダメージ床の上を歩いてもダメージが無効化されます。また、設定を行うと通常は侵入できないエリアを浮遊中は移動できるような機能を搭載することができます。

キャラクターの浮遊プラグイン導入に必要なもの


キャラクターの浮遊プラグインを導入するにあたり、必要なものは以下の通りです。

  • プラグイン本体(上記公開ページでDLできるFloatingCharacter.js)

プラグイン本体をゲームのプロジェクトデータに組み込み、プラグイン管理画面で有効化。プラグインの管理画面とデータベース・マップ作成画面を使って設定を行っていきます。

特殊な画像などを用意する必要はありません。

キャラクターの浮遊プラグインの使い方


キャラクターの浮遊プラグインは制作中のゲームプロジェクトデータにプラグインデータを移動して有効化を行い、ツクール内の機能で設定を行うことで利用可能になります。

キャラクターの浮遊プラグインを有効化しよう


『キャラクターの浮遊プラグイン』は一般的なプラグイン同様、制作中のゲームプロジェクトをRPGツクールMVで開いた状態で、プラグイン管理より有効化していきます。詳しく手順を確認していきましょう。

1.制作中のゲームプロジェクトフォルダを開く

pictbottom012

2.DLしたプラグイン本体(FloatingCharacter.js)を「plugins」フォルダに入れる
pictbottom015

3.ツクールMV画面に戻り、『ツール』→『プラグイン管理』を押します。
pictbottom006

4.プラグイン画面管理の空白部分し、基本設定画面より今回使用する「FloatingCharacter」を選び、OKを押します。

浮遊プラグイン解説

5.プラグイン管理画面に下記のような「FloatingCharacter」が追加されれば有効化完了です。
huyuu002

有効化した時点では、『浮遊システムを実装』しただけになります。実際に使用する場合は「浮遊状態」になるような魔法やイベントを実行しなければ浮遊状態にはなりません。(設定方法は後述の『浮遊を実行するイベントを作る』『浮遊を解除するイベントを作る』を参照)

また、初期設定では「浮遊状態中はダメージ床を回避」できるだけの設定になっているので、特定の地形を浮遊中には移動できるようにする場合には、追加して設定を行っていく必要があります。

浮遊を実行するイベントを作る


「キャラクターの浮遊プラグイン」は浮遊する命令をイベントで作成することで浮遊状態になり、ダメージ床のダメージ回避や後述する通過できる地形・エリア移動ができるようになるプラグインです。

浮遊を実行するイベントはイベントコマンドの「移動ルートの設定」項目にある「スクリプト」項目を使って「this.float」という独自コマンドを利用することで浮遊状態になる設定が可能です。

* this.float([ウェイトフラグ], [高度(省略時はタイルサイズの半分)]);
* キャラクターを[高度]のピクセル分、浮遊させます。
* [ウェイトフラグ]に[true]を設定すると、浮遊完了まで次の命令に移行しません。
* 例:this.float(true, 48);

キャラクターの浮遊プラグイン(Delusional Field)より引用

実際に特定のキャラクターに話しかけると浮遊状態になるイベントを作成する方法を紹介していきます。

1.話しかけると浮遊するキャラクターをマップ上に作る
huyuu004

2.実行内容をクリックし、イベントコマンドより「移動ルートの設定」をクリック
huyuu005

3.移動ルートの設定ウィンドウより「スクリプト」を選択
huyuu006

4.スクリプトのウィンドウの入力項目に「this.float(true, 48);」を記述
huyuu007
▲「48」という数字は後述の通過できる地形の設定で利用します

5.左側にスクリプト処理が追加されていることを確認して、OKを押し確定する
huyuu008

上記設定が完了したら、実際にキャラクターに話しかけてみましょう。

huyuu009

huyuu010

話しかけると浮遊状態になり、初期設定の状態だと浮遊中はダメージ床でダメージを受けないで移動ができるようになります。演出付きのダメージ床回避だけを行いたい場合は、これで設定終了です。

浮遊を解除するイベントを作る


浮遊を解除したい場合は、実行時と同じようにイベントコマンドの「移動ルートの設定」を使います。移動ルートの設定で解除用のスクリプトを実行していきます。

* this.landing([ウェイトフラグ]);
* キャラクターを着地させます。
* [ウェイトフラグ]に[true]を設定すると、着地完了まで次の命令に移行しません。

キャラクターの浮遊プラグイン(Delusional Field)より引用

実行時と同じように、「イベントコマンド」→「移動ルートの設定」→「スクリプト」を選びます。

huyuu006

huyuu033

スクリプト入力画面が現れたら、半角で「this.landing(true);」と記述を行い、OKで確定していきます。
これで浮遊を解除する着地のコマンドが完成です。

通過できる地形の設定を行う


浮遊プラグインでは、「地形タグ」もしくは「リージョン」を利用して、浮遊中のみ通過できる歩くことができるような機能も作成できます。

地形タグ・リージョンそれぞれを利用した、浮遊中に歩くことができるエリアの作成を解説していきます。

地形タグを使った浮遊中に通過できる地形の設定を行う


huyuu003

プラグイン管理画面より「FloatingCharacter」を選び、パラメーター項目の「通行可能地形タグ」「高度通行地形タグ」の二箇所の設定を行うと、特定の地形タグで設定されたエリアを浮遊中に通過できるようになります。

ここでは、地形タグを使った浮遊中に通過できるエリアの作成・設定方法を紹介していきます。

まず、マップがどのような形で歩行できるか判定しているかという基本的な設定について紹介していきます。

huyuu011

「ツール」→「データベース」→「タイルセット」を開き、右上の通行という項目を選択します。
すると、選択しているタイルセットのそれぞれのタイルに「◯」と「☓」という表示が現れます。「歩行できるかどうか」という大まかな設定をこの項目で行っており、「◯」の場合は歩行可能、「☓」の場合は歩行できないというような設定になっています。

huyuu019

試しに、「近未来外観」のタイルチップ一番下にある床でマップを作ってみます。
左側の普通の床は「◯」なので歩行可能。右側の穴が空いたような床は「☓」なので補講不可能になっているはずです。

huyuu012
▲ツクールの編集画面

huyuu013
▲テストプレイ画面

「◯」に設定した普通の床は歩行可能。「☓」に設定した穴の空いた床はテストプレイで歩くことができませんでした。

huyuu014

浮遊状態でも、「☓」に設定した穴の空いた床は歩けません。
ですが、「FloatingCharacter」の「通行可能地形タグ」「高度通行地形タグ」を設定すると通行が可能になります。

huyuu015

まずは歩行可能となるタイルに地形タグを設定していきます。「ツール」→「データベース」→「タイルセット」でタイルセットの画面を開いたら、右側にある「地形タグ」をクリックします。するとタイル一つ一つに数字が表示されます。

1回クリックすると1ずつ数字が増えていきます。この数字が地形タグです。
今回は浮遊中のみ通行可能になる「壊れた床(右側)」を5に設定してみます。

huyuu016

次に、プラグイン管理画面から「FloatingCharacter」のパラメーター画面を表示させ「通行可能地形タグ」を先ほど設定した数字と同じ「5」にしてOKを押します。これで、「浮遊中は地形タグが5に設定したタイルが置かれたところを歩けるようになる」という設定になりました。

実際にテストプレイしてみます。

huyuu017

まずは浮遊状態ではない状態です。浮遊状態ではない場合は「☓」のままなので、通過することはできません。

huyuu018

ですが、「通行可能地形タグ」を5に設定したため、「浮遊中は地形タグが5に設定したタイルが置かれたところを歩けるようになる」という設定が優先され、普通に歩いている時は☓設定により歩行できないけど、浮遊中は地形タグ5を通過できることが優先されて歩けるようになりました。

なお、「高度地形地形タグ」は浮遊する時のコマンド「this.float(true, 数字);」で設定した浮遊の高さを表す数字部分がパラメーターの「高度敷居値」よりも超えている場合のみ通過できるというような設定になります。

huyuu020

例えば「高度敷居値」を48に設定し、「高度通行地形タグ」を5、浮遊実行時のイベントを「this.float(true, 40);」にした場合を見ていきましょう。
浮遊実行のコマンドの数字を40にしているので、浮遊時の高さが40。高度敷居値を48なので、高度敷居値を超えていない浮遊と判断されます。そのため、浮遊状態でも高度敷居値を満たしていないので、「高度通行地形タグ」で設定した地形タグ5のエリアは高さ不足で通過できないという判定になってしまいます。

地形タグを使って行う浮遊時の歩行判定は浮遊できるエリアが多い場合に活用できる設定方法です。

huyuu021

ただし、注意しなければいけないのが浮遊エリアから出る時です。地形タグで設定されているエリアに入ってしまうと、歩行の「◯」「☓」よりも全て「地形タグ」が優先されてしまうようです。

上記の場合、普通の床部分は通行「◯」地形タグ「0」にしてしまっています。そのため一度地形タグ「5」のエリアに入ってしまうと「地形タグ:5のみ通過可能」という命令が優先されてしまい、地形タグ「0」の普通の床は通れなくなってしまいます。

広範囲で設定する時は、通常の歩行エリアにも地形タグを振り分け、「通行可能地形タグ」でも設定してあげましょう。

リージョンを使った浮遊中に通過できる地形の設定を行う


地形タグを使った浮遊状態時のみ歩行できるエリアの設定は地形タグを使用している全ての歩行可能タイルに地形タグを割り振らなければ、上記記載の通り「地形タグが優先して出ればい!」状態になってしまいます。

ただ、特定のダンジョンだけ浮遊を導入するような場合は「リージョン」を使って浮遊中に通行できるエリアを設定してあげるほうが楽ちんです。

リージョンとはRPGツクールVX Aceから導入された、マップの特定のエリアを番号でタイルごとに分ける事が可能な機能です。VX Aceでは1~63の設定が出来ましたが、今回は1~255までの設定が可能です。

マップ作成に関する便利な新機能(RPGツクールMV公式HP新機能活用講座)より引用

huyuu022

ツクールのマップ作成画面でマップチップなどを選択する項目を「R」(上記画像左下の赤枠)にすると、マップに数字(リージョン)を割り振ることができます。今回は通行を可能にしたい穴の空いた床全てに「1」を設定していきます。

huyuu023

プラグインの管理画面で飛行中に歩けるようになるリージョンの設定を行っていきます。
プラグイン管理画面から「FloatingCharacter」のパラメーター画面を表示させ「通行可能リージョン」を先ほどマップで割り当てた数字(リージョン)と同じ「1」にしてOKを押します。これで、「浮遊中はリージョンが1に設定したエリアを歩けるようになる」という設定になりました。

huyuu024

テストプレイしてみますと、浮遊中はリージョン1にした穴の空いた床も歩けるようになりました。

ただし、これも一度リージョンで許可したエリアに入ってしまうと、通行判定よりもリージョンが優先されてしまいます。

huyuu025

上記画像のように、通常歩行できるエリアにリージョン「2」を設定。

huyuu026

「通行可能リージョン」で「1」に加えて「2」も設定してあげることで、通常歩行エリアも歩けるようになります。

なお、リージョン設定するのは大変ですので、複数マップで浮遊を使う場合は前述の「地形タグ」を使って設定を行うほうがおすすめです。地形タグを設定する場合は、使用しているマップタイルに地形タグ漏れがないように気をつけましょう。
(もし、地形タグの割当ミスがあると進行不能バグになる可能性があります)

浮遊プラグインを活用したイベント作成応用


ここまで、浮遊プラグインの基本的な使い方を紹介してきました。最後に、このプラグインを活用したアイテムの作成例やプラグインに設定されている特殊判定の機能を使ったイベント作成例を紹介したいと思います。

浮遊発動アイテムを作る


浮遊プラグインは特殊アイテムや魔法として導入することも可能です。
コモンイベントとアイテムの使用効果を使うことで簡単に作成ができます。

huyuu028

データベースより、コモンイベントを開きます。
実行内容部分に「浮遊を実行するイベントを作る」で紹介した「移動ルートの設定」→「スクリプト」→「this.float(true, 48);の記述」という浮遊状態になるイベントを作っておきます。

huyuu029

次に、浮遊状態を発動させるアイテムを「データベース」→「アイテム」項目で作成して、「使用効果」というところをクリック。「その他」→「コモンイベント」で浮遊状態が発動するコモンイベントを選びます。

すると、このアイテムを使うと、「浮遊状態が発動するコモンイベントが発動」というような設定になります。浮遊状態になるアイテムの完成です。

同じような手順で魔法にも設定できます。補助魔法やアイテムが不足している場合に役立ちます。

浮遊中・浮遊していないで条件分岐を作る


浮遊プラグインでは、浮遊しているか条件分岐を作る機能が付随されています。

* Script
* 「条件分岐」の「スクリプト」から以下を実行します。
*
* this.isFloating([キャラクターID]);
* 指定したキャラクターが浮遊中の場合に、分岐を実行します。
* キャラクターIDは以下の通り指定してください。
*
* -1 : プレイヤー
* 0 : 実行中のイベント
* 1… : 指定したIDのイベント

キャラクターの浮遊プラグイン(Delusional Field)より引用

huyuu030

イベントコマンドのフロー制御にある「条件分岐」を選び、「スクリプト」項目に「this.isFloating(-1);」と書くことで、浮遊中の場合と浮遊中でない場合の条件分岐が可能です。

huyuu031

上記は「this.isFloating(-1);」で浮遊中の場合は浮遊解除、浮遊していない場合は浮遊するようなイベントの作成例です。浮遊解除と浮遊発動を同じイベントで制作する場合などは、条件分岐をうまく活用することで、プレイヤーの状態に合わせて浮遊発動・解除してくれるイベントなども作れます。

条件分岐は色々と活用方法があるので、イベントの展開に合わせて活用していきましょう。

まとめ


浮遊プラグインはダメージ床の回避に演出を加え、設定次第では浮遊中のみ通過ができるエリアを設定できる汎用性の広いプラグインです。

商業RPG「新桃太郎伝説」を始め、浮遊のようなシステムは実際のRPGでも見かける機能です。本格派の演出を行いたい方や、特殊なアイテム・魔法を作りたいツクラーさんにお勧めのプラグインです。

*本記事は『FloatingCharacter.js Version1.1.1』を元に作成しております』
*プラグインの利用は各自の責任のもとご利用下さい。(プラグイン導入で問題が起きた場合は責任を負えません。バックアップしてからテスト導入をしてご利用下さい。)
*作成画像はRPGツクールMVを利用し作成しております。
 RPGツクールMV→(c)2015 KADOKAWA CORPORATION./YOJI OJIMA

RGC オリジナルゲーム制作支援記事 一覧

スポンサードリンク

コメントをどうぞ

メールアドレスが公開されることはありません。