(執筆途中)基本の使い方①〜導入とパーティクル表示【TRP_Particle】
この記事ではパーティクルプラグイン「TRP_Particle」の導入方法から、パーティクルの表示・編集といった基本操作のごくさわりの部分を解説していきます。
少し長いですが、なるべく分かりやすいように画像をたくさん用意してますので、サクサクと読み進められると思います。
ぜひ、実際に解説内容をツクールで試しながら読んでみてください!
(メモ:途中に挟まれるメモ書きは少し進んだ内容となっています。腕に覚えのある方か、一通りこのチュートリアルをこなした後で読み返してみてください。)
プラグインの導入
通常のプラグインと同様に、RPGツクールMVにプラグインを導入しましょう。
解凍したフォルダの中のmaterials→pluginsフォルダ内の「TRP_ParticlePreset.js」「TRP_Particle.js」「TRP_ParticleEditor.js」「TRP_ParticleList.js」の4つのプラグインファイルをプロジェクトフォルダ内のjs→pluginsフォルダ内にコピペします。
ツクールMVを立ち上げてプラグイン管理から「TRP_ParticlePreset.js」「TRP_Particle.js」と「TRP_ParticleEditor.js」「TRP_ParticleList」を順にインポートしましょう。
このとき、上から順に「TRP_ParticlePreset.js」「TRP_Particle」「TRP_ParticleEditor」となるように配置して下さい。
(メモ:TRP_ParticlePresetとTRP_ParticleListはプラグインコマンドの入力中に右クリックまたはF1から呼び出せるプラグインヘルプで設定名を確認するのに便利です。他のプラグインとの競合も少ないのでリストの一番上に配置することをおすすめします!)
※MadeWithMVと併用する場合は、MadeWithMVより下にTRP_Particleを配置してください。
画像ファイルのインポート
パーティクルとして表示する画像をプロジェクトにインポートします。
materialsフォルダ内のparticlesフォルダをコピーし、プロジェクトフォルダのimgフォルダ内にペーストしてください。
これでプラグインの準備は整いました。
さっそくパーティクルを表示してみましょう!
パーティクルの再生
適当なイベントを作成してイベントコマンドのプラグインコマンドで、次のコマンドを実行してみましょう。
「particle play fireworks_c this」
(メモ:「このイベント(this)にfireworks_cというIDでパーティクル(particle)を再生(play)」という意味になります。)
実行してみると・・・?
イベントを実行するたびに花火っぽいパーティクルエフェクトが再生されました!
表示位置の調整
さて、どうせなら画面上の夜空に表示させたいところです。
パーティクルの発生位置を調整してみましょう。
先程のプラグインコマンドの直後に次のコマンドを打ち込んでみましょう。
「particle update fireworks_c pos 0 -350」
(メモ:「fireworks_cというIDのパーティクルのパラメータを更新(update)。位置(pos)をx=0、y=-350に変更」という意味になります。)
もう1度再生すると、イベントの頭上(350ピクセル上)に表示されました!
このように、updateコマンドを使って様々なパラメータを変更させることができます。
(メモ:細かな設定は設定データの編集で行いますが、位置の調整などはイベントごとにupdateコマンドで細かく調整することが多いです)
管理IDについて
さて、画面の左右にも同じ花火を打ち上げようと思います。
先程のコマンドをコピペでしたに2回複製し、updateコマンドでの位置調整でそれぞれxを-300と+300に変更します
パーティクルが1つしか再生されてません!
ここで、一度再生コマンド(playやset)のパラメータについて説明します。
playコマンドのパラメータは↓のような順番になっています。
「particle play 内部管理ID 対象 設定データ名 Z軸値」
「particle play fireworks_c this」というコマンドはでそれぞれのパラメータは↓
- 内部管理ID:fireworks_c
- 対象:this(このイベント)
- 設定データ名:省略
- Z軸値:省略
初めのうちは、内部管理IDと設定データ名がどう違うのか少し戸惑うかもしれません。
内部管理IDは自由な名前をつけることができますが、表示対象ごとに異なる名前をつけなければなりません。
今回はfireworks_cというIDを設定しており、パラメータを変更するupdateコマンドでもfireworks_cというIDに対して位置(pos)の変更を行っております。
このように、このパーティクル発生源(エミッターと言います)に対する操作はすべて、fireworks_cというIDを指定して命令することになります。
(メモ:パーティクル(particle)とは日本語で微粒子=小さい粒のことを指します。そして、このパーティクルを発生させる発生源をエミッター(emitter)と呼びます。同じ対象であっても、異なる種類のパーティクルを発生させるには複数のエミッターが設定されて、エミッターごとにIDを名付ける必要があります。また、同じ対象に同じ種類のエミッターを複数設定することもでき、その場合もIDを変える必要があります。)
設定名について
さて、次に設定名についてですが、これはパーティクルの発生の仕方や動き方の設定データの名前を指します。
ここでもう1度設定名を見直すと、
「particle play fireworks_c this」
- 内部管理ID:fireworks_c
- 対象:this(このイベント)
- 設定データ名:省略
- Z軸値:省略
設定名が省略されてますね!
どういうことかというと、設定データ名を省略すると内部管理IDがそのまま設定名として使用されます。(というより、内部管理IDを設定名と同じにすることで設定データ名を省略できます。)
なので、「particle play fireworks_c this fireworks_c」と同じコマンドということにまります。
ちなみに設定名fireworks_cは予め収録されているプリセットデータのうちの1つです。
プリセットに登録されている設定はプラグインヘルプから確認できます。
(プリセットデータはTRP_ParticlePreset、自作したデータはTRP_ParticleListから確認できます)
さて、先程の花火を複数表示するにはどこを修正すればよいか気づいでしょうか?
- 同じIDを使ってはいけない
- 設定名と違うIDを使うときは設定名(fireworks_c)は省略できない
という2点を抑えてプラグインコマンドをそれぞれ修正しましょう。
今回はfireworks_c_2、fireworks_c_3というIDに変更してみます。
(updateコマンドでの対象IDの変更も忘れずに!)
テストプレイで実行すると・・・↓
3つ並んで表示できました!めでたし!
ずっと表示するタイプのパーティクル
さて、先程の花火のパーティクルは1度再生するとそれっきりでした。
パーティクル設定にはこのように寿命(lifetime)が終わるとパーティクルの発生を終えて止まるものと、寿命がなくてずっと表示されるタイプのものがあります。
マップ右側にイベントを新しく作り、このイベントに吹き出し花火のパーティクルを表示させてみましょう!
このイベントを自動実行にしてパーティクル表示コマンドを打ち込んでも良いのですが、今回は解説のために先程のイベントの一番下に新しいコマンドを付け足します。
まずはそのコマンドを見てみましょう。
「particle set fireworks_dragon_c1 event:3」
今ままでの再生コマンドと2つ違う部分があります。
まず1つめ、サブコマンドのplayがsetに変わってます。
基本的には寿命があって1度表示させるだけの場合はplay、それ以外の場合はsetと使い分けて下さい。
今回はずっと表示されるタイプなのでsetコマンドを使っています。
そして、もう1つの異なる点は、対象をthisではなくevent:3と指定していることです。
実行しているイベント以外のイベントにパーティクルを表示するにはこのように、「event:イベントID」の形で指定することができます。
(メモ:この他にもpleyerでプレイヤーに、region:リージョンIDで指定のリージョンタイルから表示、walk:player:1でプレイヤーがリージョンID1を歩いたときに表示、などなど様々な対象を設定できます。詳しくは
再生対象の種類とZ軸【パーティクルプラグイン】](https://ci-en.net/creator/2170/article/230025)を読んでみてください)
さて、実行してみますと・・・
終わり無く延々とパーティクルが吹き出し続けてますね!
(メモ:一時的に止めるにはparticle offコマンド。再開するにはparitcle onコマンド。完全に止めて削除するにはparticle clearコマンドを使いましょう)
ついでに魔法陣の中央から吹き出るように、updateコマンドで位置(pos)を調整してみましょう。
バッチリです!
画面全体に表示するパーティクル
さて、続けてもう1つパーティクルをサクッと表示させてみます。
今度は特定のイベントに対してではなく、画面固定で表示するタイプのものです。
中央のイベントに次のコマンドを追加してください。
(常時表示するタイプなのでsetコマンドを使います)
「particle set light_leak_s screen」
- ID:light_leak_s
- 対象:screen
- 設定名:省略(IDと同じlight_leak2)
画面全体に淡い光の演出が表示されました!
表示対象として今回はscreen(スクリーン)を使いました。これは画面に固定表示させて表示する対象設定です。
screenをweather<天候>に変えると発生したパーティクルがマップスクロールに連動して移動するようになります。
(メモ:他にも特定のリージョンのタイル上に表示するregionや、歩行時に表示するwalkなど様々な対象があります。)
パーティクル再生方法について慣れてきたでしょうか?
次は、いよいよエディタを使って設定データを自作してみましょう!
演出を仕上げる(おまけ)
今回作った花火会場にもう少しだけ演出を付け加えて見ましょう!
(早く自作パーティクル設定を作りたい方はスキップして↑のエディタ編を読んで大丈夫です!)
打ち上げ花火をリピートさせる
寿命が設定されているパーティクルは再生後に再度コマンドで命令しないと繰り返し再生されませんが、repeatコマンドを使うことで自動で繰り返すことができます。
ID:fireworks_cをplayコマンドで再生後に↓のrepeatコマンドを付け加えてみましょう。
「particle repeat fireworks_c 120」
最後の120は待機フレーム数を指します。
再生終了後に120フレーム(2秒)の間隔をあけて自動で再生されるよになります!
続けて夜っぽさを出すために色調変更コマンドで全体を少し暗くしてみましょう。
花火の見え具合をチェックしてみると・・・
よく見ると全体が暗くなってるのに引きづられて花火の見え方も暗くなってます。
つまり、花火のパーティクルも色調変更の影響を受けてしまってます。
パーティクルの重なり順を変更
さて、打ち上げ花火のパーティクル表示コマンドをおさらいしましょう。
「particle play fireworks_c this」
- 内部管理ID:fireworks_c
- 対象:this(このイベント)
- 設定データ名:省略
- Z軸値:省略
今まで説明を省いてきましたが、一番最後の省略されたZ軸値というのが画面上の重なり順を設定するパラメータとなります。
(キャラクターが対象の場合には)省略された状態だとZ軸値にはaboveという値が適用されます。
aboveは「〜〜より上」という意味の単語であり、対象の上に重ねて表示させる設定です。
逆にキャラクターの下(裏側)に表示したいときは「〜〜より下」という意味のbelowという値を設定します。
さて、キャラクターに表示させる場合は基本的にはこのaboveとbelowを使い分けるのですが、今回は色調変更の影響を受けないようにaboveよりさらに上側(手前側)に表示しなければならず、spritesetという値を設定します。
(メモ:spriteset<スプライトセット>とはシステム上でキャラクター画像が表示されるtilemap<タイルマップ>の更に上の階層、マップ上の画像表示の基盤部分を指します。)
playコマンドを↓のように修正してみてください。
パラメータの順番に気をつけて、省略していた設定名の指定も忘れずに!
「particle play fireworks_c this def spriteset」
(defとはデフォルト値を使うという意味で、設定名を省略してIDのfireworks1を設定名に使用しています。)
同じように左右の打ち上げ花火についてもZ軸値をspritesetに設定します。
変更前(右側)と比べて色調の影響を受けずに花火が明るく輝いて見えますね!
(吹き出し花火もZ軸値を変更してます)
お疲れさまでした!
これで、パーティクルプラグインの使い方基礎〜操作編が終わりました。
エディタ編がまだの方はぜひ、続けて挑戦してみて下さい!