投稿記事

2020年 04月の記事 (12)

戦闘シーンでの表示【TRP_Particle】

←マニュアルトップへ戻る

戦闘シーンでパーティクルを表示する方法を解説していきます。
- スキルで表示させる
- 敵に永続的に表示する
- ステートに対応させて表示

戦闘中のイベントコマンドではパーティクルの「対象」にとしてparty,enemy,battle,battleWeatherが使用可能です。
詳しくは再生対象の種類とZ軸【パーティクルプラグイン】をご参照ください。

以下、スキルで表示させる場合と、敵に常時表示させる場合の解説をします。

スキルで表示させる

スキルで表示させるにはスキルのメモ欄にmetaタグを埋め込みます。

例えば以下のパーティクルコマンドを順に設定するには

  • particle play buff_b this
  • particle play attack_b target

メモ欄には次のmetaタグを埋め込みます。
<particle1:play buff_b this>
<particle2:play attack_b target>

particle1から順にparticle2,particle3のコ


敵に永続的に表示する

敵キャラのメモ欄にメタ設定を行うことでパーティクルを設定できます。
対象はthisに設定してください。アップデートenemy:1から変更されました。)

例えば以下のパーティクルコマンドを順に設定するには

  • particle set static_aura1 this def below
  • particle update static_aura1 pos -24 0

メモ欄には次のmetaタグを埋め込みます。
<particle1:set static_aura1 this def below>
<particle2:update static_aura1 pos -24 0>

コマンドの順番ごとに<particle1:〜〜>、<particle2:〜〜>、<particle3:〜〜>という形に書き換えてください。

注意点1:内部でのID変換

同じ敵が複数登場する場合に管理IDが被らないように、内部で自動的にIDに末尾がつけ加わります。
上記ではstatic_aura1というIDを指定していますが、自動的にstatic_aura1:enemy1、2番目の敵にはstatic_aura1:enemy2といった形に変更されるのでイベントコマンドなどでパーティクルを操作するときに管理IDの指定に注意してください。

注意点2:編集時にはイベントコマンドで

editコマンドで編集する場合はmetaタグに埋め込まずに、戦闘グループのイベントコマンド上で実行してください。(metaタグに埋め込んでも正しく編集開始できません)


マンドが実行されます。
particle1を飛ばしてparticle2を実行することはできないので注意。

また、対象としてthisは使用者、targetは攻撃対象となります。
(this、targetを含む設定ID、設定名は使用できないので注意)


ステートに対応させて表示

ステートのメモ欄にメタ設定を行うことでステートにかかったときだけ表示するパーティクルを設定できます。
設定方法は敵への永続的な表示と同じ方法です。

例えば以下のパーティクルコマンドを順に設定するには
particle set static_aura1 this def below
particle update static_aura1 pos -24 0
メモ欄には次のmetaタグを埋め込みます。
<particle1:set static_aura1 this def below>
<particle2:update static_aura1 pos -24 0>

注意点1:内部でのID変換

管理IDが被らないように、内部で自動的にIDに末尾がつけ加わります。
上記ではstatic_aura1というIDを指定していますが、1番目の敵の場合は:enemy:1が付け加わります。

注意点2:自動クリアの無効

アクターにステートで表示されるパーティクルは「戦闘終了時にキャラ対象クリア」設定をONにしてもクリアされません。ステートが切れたときのみ解除されます。

注意点3:設定での無効

設定「ステート表示の無効」がONになっているとステートでの表示が反映されません。
この設定はステート関連の他プラグインと競合時にONにして回避する際に設定します。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

その他コマンド【パーティクルプラグイン】

←MV版マニュアルトップ
←MZ版マニュアルトップ

その他のパラメータの解説です。

コマンド一覧

  • loop → 画面ループ設定
  • max → 最大量の制限設定
  • filter → フィルター設定(テスト段階の非公式コマンド)

loop → 画面ループ設定

▷パラメータ:「ID X方向の余白 Y方向の余白」
簡易例)『particle loop par1』
 → par1のIDのパーティクルを画面ループ有効化。

詳細例)『particle loop par1 96 48』
 → par1のIDのパーティクルをX方向余白96ピクセル、Y方向余白48ピクセルで画面ループ有効化。

▷補足
発生・移動が遅く画面上に長く残るフォグのようなパーティクルを対象weatherで表示している際に、画面外に移動するとパーティクルが途切れる場合に使用。
パーティクルの表示サイズに合わせてX方向、Y方向の余白量を調整してください。(最大で横に200、縦に100のサイズで表示されている場合はそれぞれ100,50の余白量を設定します)


※この設定は処理負荷がそこそこ高い処理です(画面外にも大量にパーティクルを生成するよりは負荷が低いです)。画面に長く残るフォグのような使い方をする場合は素直にフォグ用のプラグインを探して使うのも手かと思います。


max → 最大発生能力の制限設定

▷パラメータ:「パーティクル最大発生能力」
例)『particle max 1000』
 → 全体のパーティクル発生能力を1000に設定

▷補足
画面上に発生するパーティクルの発生能力個数を制限するコマンドです。
プラグイン設定にも同様の設定項目がありますが、maxコマンドでゲーム内で変更することができます。

パーティクル発生能力が100の設定と200の設定を同時に再生した状態で発生制限数を100に設定すると、それぞれの発生能力の比率に応じておおよそ33と66の発生能力に抑えられます。

あくまで発生能力をおおよその計算で自動で制限する設定であり、常に表示数が設定した数に抑えられない場合もありますのでその際はupdateコマンドなどで個別に表示能力を調整してください。


filter フィルター設定(テスト段階の非公式コマンド)

パーティクルに一部の種類のフィルターをかけられる設定コマンドです。
試験段階の機能のため、正しく動作しない場合もありますのでご了承ください。

利用するにはプラグインコマンドの「pixi-filtersインポート」をONにするか独自にpixi-filters.jsを導入してください。
また、blendModeを0(NORMAL)以外にすると正しく反映されないので注意。

フィルターごとにパラメータは異なりますので、それぞれのパラメータについてはpixi公式のフィルターデモページを参考にしてください。


▷パラメータ:「ID フィルター種類 パラメータ...」
例:グロー)『particle filter par1 glow 0 3 10 255 100 100』
パラメータは順にinnerStrength、outerStrength、distance、赤(0~255)、緑(0~255)、青(0~255)
上の例はinnerStrength:0、outerStrength:3、distance:10、赤:255、緑:100、青:100で外側にのみ赤みがかったグローをかけてます。


例:ブラー)『particle filter par1 blur 20 def』
パラメータは順にblur(強さ)、qualityです。
上の例はblur:20、quality:def(デフォルト)で強めのブラーをかけています。


例:RGBスプリット)『paricle filter rgbsplit 2 0 -2 0 0 -2』
パラメータは順に、赤Xずれ、赤Yずれ、緑Xずれ、緑Yずれ、青Xずれ、青Yずれ
上の例は赤色を右に2ピクセル(x=2、y=0)、緑色を左に2ピクセル(x=-2、y=0)、青色を上に2ピクセル(x=0、y=-2)ずらしています。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

パラメータ変更系コマンド【パーティクルプラグイン】

←MV版マニュアルトップ
←MZ版マニュアルトップ

再生中のパーティクルのパラメータを変更するコマンドの解説です。

パラメータの種類については↓の解説ページを参照ください。
パラメータ一覧【パーティクルプラグイン】


コマンド一覧

  • update → パラメータ設定を変更
  • animate → パラメータ設定を徐々に変更

update → パラメータ設定を変更

▷パラメータ:「ID パラメータ名 設定値1 設定値2 …」
簡易例)『particle update par1 pos 24 -12』
 → IDがpar1のパーティクルの発生位置(pos)をx=24,y=-12に変更
詳細例)『particle update par1 scale 0 1@0.5 0』(パラメータは下部の表参照)
 → IDがpar1のパーティクルの拡大率(scale)を時間0のとき0、中間のとき(時間0.5)のとき1、最後(時間1)のとき0に変更

▷補足
updateやanimateで変更したパラメータは内部の再生情報が残っている限り反映されます。
clearコマンドで削除した場合や、playコマンドで再生完了後に再度playで再生する場合にはupdateで更新した内容は失われています。
(繰り返し使う場合はsetコマンドを使うと良いでしょう)


animate → パラメータ設定を徐々に変更

▷パラメータ:「ID 所要時間 パラメータ名 設定値1 設定値2 … <coeff:変化係数>」
簡易例)『particle animate par1 30 pos 24 -12』
 → IDがpar1のパーティクルの発生位置(pos)を30フレームかけてx=24,y=-12に変更
詳細例)『particle animate par1 30 frequency 0.01 coeff:0.5』(パラメータは下部の表参照)
 → IDがpar1のパーティクルの発生間隔を30フレームかけて0.01に変更。変化の係数を0.5でイージング気味に(1以下でイージングアウト、1以上でイージングイン気味)

▷補足:ノード系パラメータの変更について
ノード系パラメータ(@を使って細かくタイミングごとの値を指定できるパラメータ。alpha、scale、speed、color)をanimteコマンドで変化させる際には、項目数とタイミングの値が変更前と同じ必要があります。

たとえば、scale(拡大率)が「0 1@0.5 0」という値だったとします。
これはパーティクル出現時(@0)に0、中間地点(@0.5)で1、消滅時(@1.0)に0を表します。
(最初の@0と最後@1は省略可能)

ここからanimateコマンドで「1 0」といったように項目数を減らしたり、「0 1@0.3 0」といったようにタイミングの値が変わるような値に変化させることはできません。

「3 2@0.5 1」のように項目数、タイミングの値がともに変更前と同じ場合のみ正しく変化させることができます。

どうしても項目数、タイミングを変えたい場合はanimate直前にupdateコマンドで項目数・タイミングの値を変えておく必要があります。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

再生制御系コマンド【パーティクルプラグイン】

←MV版マニュアルトップ
←MZ版マニュアルトップ

パーティクルの表示や演出に関するコマンドです。
(※補足以外のパラメータ解説はチートシートと同じ内容です。)

コマンド一覧

  • set → 再生
  • play → 1度再生して削除
  • edit → 設定を編集
  • on → 再生を再開
  • off → 再生を停止
  • clear → 再生を停止して削除
  • exceed → 指定時間だけ進める
  • repeat → 繰り返し設定

set → 再生

▷パラメータ:「ID 対象 設定名 Z軸値」
簡易例)『particle set par1 this』
 → ID(かつ設定名)par1のパーティクルをこの(this)イベントを対象に再生開始
詳細例)『particle set par1 weather setting1 2』(設定名省略で設定名=ID)
 → IDをpar1、対象は天候(weathr)、使用する設定名はsetting1、Z軸は通常より2だけ下に配置して再生

▷補足:IDと設定名について
IDを設定名と同じにする場合は設定名を省略できます。
例えば煙を発生させるsmokeという設定を使ってパーティクルを発生させたい場合に、『particle set smoke this』とすればこのイベントに対してパーティクルを発生させられます。
ただし、他のイベントにも同時に煙を発生させたい場合は、異なるIDを設定しなければなりません。2つ目のイベントに対しては『particle set smoke2 this smoke』といったようにID部分の名前を変更して異なる対象に同じIDが被らないようにしましょう。



play → 1度再生して削除

▷パラメータ:「ID 対象 設定名 Z軸値」
簡易例)『particle play par1 this』
 → ID(かつ設定名)par1のパーティクルをこの(this)イベントを対象に一度再生して削除
詳細例)『particle set par1 weather setting1 2』(設定名省略で設定名=ID)
 → IDをpar1、対象は天候(weathr)、使用する設定名はsetting1、Z軸は通常より2だけ下に配置して一度再生して削除

▷補足:setとplayの使い分け
基本的には「永続して発生するもの(emitterLifetimeが-1)」や「繰り返し使うもの」はset、emitterLifetimeを0以上に設定して「寿命があるもり1回だけ再生したいもの」にはplayを使うと良いでしょう。

playは再生完了後にupdateコマンドなどで設定した設定データなども削除されます。
セーブ時の容量や、動作負荷にもわずかに影響がありますので再生していないパーティクル設定は残り続けさせない方が良いでしょう。


edit → 設定を編集

▷パラメータ:「ID 対象 設定名 Z軸値」
簡易例)『particle edit par1 this』
 → ID(かつ設定名)par1のパーティクルをこの(this)イベントを対象に編集開始
詳細例)『particle set par1 weather setting1 2』(設定名省略で設定名=ID)
 → IDをpar1、対象は天候(weather)、使用する設定名はsetting1、Z軸は通常より2だけ下に配置して編集開始

▷補足
playやsetの再生コマンドをeditに置き換えることで編集画面を呼び出すことができます。
(このコマンドを使うにはTRP_ParticleEditorのプラグインも導入されている必要があります)


on → 再生を再開

▷パラメータ:「ID」
簡易例)『particle on par1』
 → 停止中のIDがpar1ののパーティクルの再生を再開


off → 再生を停止

▷パラメータ:「ID」
例)『particle off par1』
 → par1のIDのパーティクルを再生停止

▷補足
再生を停止して再度再生させることがない場合は代わりにclearコマンド推奨です。


clear → 再生を停止して削除

▷パラメータ:「ID 即座に削除フラグ」
例)『particle clear par1』
 → par1のIDのパーティクルを停止して削除
例2)『particle clear par1 true』
 → par1のIDのパーティクルを直ちに削除

▷補足
claerコマンドはパーティクルの再生を停止した後に再生情報を削除します。
最後に即座に削除フラグとしてtrueを追加した場合は、画面上に残っているパーティクルの消滅をまたずに直ちに削除します。(画面上のパーティクルは即座に消えます)


exceed → 指定時間だけ進める

▷パラメータ:「ID 時間(秒)」
例)『particle exceed par1 10』
 → par1のIDを10秒だけ進める。(出始めから定常状態まで時間がかかる場合などに使用)


repeat → 繰り返し設定(play用)

▷パラメータ:「ID インターバルフレーム」
例)『particle repeat par1 10』
 → par1のIDをの再生完了後、10フレーム待ってから再生を繰り返す

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

パラメータ一覧【パーティクルプラグイン】

←MV版マニュアルトップ
←MZ版マニュアルトップ

ノード系パラメータ

  • alpha → 不透明度
  • scale → 拡大率(1で等倍)
  • speed → 速度
  • color → 色

一般パラメータ

  • minimumScaleMultiplier → 最小スケール倍率
  • minimumSpeedMultiplier → 最小スピード倍率
  • colorMode → カラーモード
  • acceleration → 加速度
  • startRotation → 発生時の射出角度
  • rotationSpeed → 画像の回転速度
  • imageOption → 画像表示設定
  • lifetime → パーティクル寿命
  • blendMode → ブレンドモード(色の重ね方)
  • frequency → 発生間隔
  • spawnChance → 発生確率
  • particlesPerWave → 1回での発生個数
  • emitterLifetime → エミッター寿命
  • maxParticles → 最大表示数の制限
  • fluctuation → (進行角度の)ゆらぎ

発生形状パラメータ

  • pos → 指定座標から発生
  • rect → 指定した四角形内から発生
  • circle → 指定した円の中から発生
  • ring → 指定したリング内から発生

解説動画

各パラメータの解説や注意点、応用の仕方などを動画にまとめてます。

  • alpha

  • scale

  • minimumScaleMultiplier

  • speed / minimumSpeedMultiplier

  • color / colorMode / blendMode

  • acceleration

  • startRotation / rotationSpeed / imageOption

ノード系パラメータ

ノードパラメータの中間値の設定方法はスタートアップ記事に書かれてますので参考にしてください。
基本の使い方②〜エディタ編【TRP_Particle】

alpha → 不透明度

▷パラメータ:「発生時の値 (中間値の値, …) 消滅時の値」
例)『particle update par1 alpha 0 1@0.5 0』
 → ID:par1の不透明度を発生時に0、中間(時間0.5)で1、消滅時に0となるように変更

▷補足
パーティクルが突然現れて・突然消えて不自然に見える場合は、時間0の値・時間1の値を0にして自然にフェードするようにしましょう。(拡大率のscaleかalphaのどちらかが0であると自然に出現・消滅するようにみえます

また、alphaの値を細かく0と1で変動させると点滅するような演出が作れるのでアイデアの参考に。


scale → 拡大率(1で等倍)

▷パラメータ:「発生時の値 (中間値の値, …) 消滅時の値」
例)『particle update par1 scale 0 1@0.1 1.2@0.8 0』
 → ID:par1の拡大率を発生時に0、発生してすぐ(時間0.1)に1、消滅間際(時間0.8)までに1.2まで徐々に拡大して、消滅時に0まで縮小



speed → 速度

▷パラメータ:「発生時の値 (中間値の値, …) 消滅時の値」
例)『particle update par1 speed 500 200@0.1 0 』
 → ID:par1のスピードを初速500、発生してすぐ(時間0.1)までに200まで減速し、消滅までに速度0までゆるやかに減速
(初速は0としないこと)

▷補足


color → 色

▷パラメータ:「発生時の値 (中間値の値, …) 消滅時の値」
例)『particle update par1 color #ff0000 #ff8800@0.5 #ffffff』
 → ID:par1の色を発生時に赤(#ff0000)、中間の時間でオレンジ(#ff8800)、消滅時に白(#ffffff)に変化させる

▷補足










一般パラメータ

minimumScaleMultiplier → 最小スケール倍率

▷パラメータ:「最小スケール倍率」
例)『particle update par1 minimumScaleMultiplier 0.5』
 → 最小スケール倍率を0.5に設定。例)発生時の拡大率が2の場合、1.0~2.0の拡大率のパーティクルがランダムに発生

▷補足


minimumSpeedMultiplier → 最小スピード倍率

▷パラメータ:「最小スピード倍率」
例)『particle update par1 minimumSpeedMultiplier 0.5』
 → 最小スピード倍率を0.5に設定。例)発生時のスピードが200の場合、100~200のスピードのパーティクルがランダムに発生

▷補足


colorMode → カラーモード

▷パラメータ:「カラーモード(0か1)」
例)『particle update par1 colorMode 1』
 "→ カラーモードを1に設定。(0とすると色の設定は発生からの時間経過で変化(デフォルト)。 1とすると発生時の色分布が時間として設定した比率で発生し、時間経過での変化は無し。)"

▷補足


acceleration → 加速度

▷パラメータ:「x方向加速度 y方向加速度」
例)『particle update par1 acceleration 100 200』
 "→ 加速度の大きさを右方向に100、下方向に200に変更。"

▷補足


startRotation → 発生時の射出角度

▷パラメータ:「最小角度 最大角度」
例)『particle update par1 startRotation -120 -60』
 "→ 発生時の射出角度を-120度から-60度の上方向に60度の広さの扇形に設定。(画像の角度も射出角度と連動)"

▷補足


rotationSpeed → 画像の回転速度

▷パラメータ:「最小回転速度 最大回転速度」
例)『particle update par1 rotationSpeed -120 120』
 → パーティクル発生後の画像の回転速度を最小120、最大120のランダムな速度に設定。

▷補足


imageOption → 画像表示設定

▷パラメータ:「画像角度 反転設定」
例)『particle update par1 imageOption 90 2』
 "→ 画像の角度を90度、反転設定を2に設定。(画像角度は進行方向に影響なし。-1でランダムな角度で表示。 反転設定は0で通常、1で反転、2で通常か反転かランダムで表示)"
(動きには影響なし)

▷補足


lifetime → パーティクル寿命

▷パラメータ:「最小秒数 最大秒数」
例)『particle update par1 lifetime 1 2』
 → 個々のパーティクル消滅までの寿命を最小1秒、最大2秒のランダムな秒数で設定。

▷補足


blendMode → ブレンドモード(色の重ね方)

▷パラメータ:「ブレンドモード」
例)『particle update par1 blendMode 1』
 "→ ブレンドモードを1(加算)に設定。(主なブレンドモードは0で通常、1で加算<明るく>、 2で乗算<暗く>、3でスクリーン<白っぽく>、4でオーバーレイ<加算と乗算合わせた感じ>)"
"(動作環境によって有効な モードが異なるので注意)"

▷補足


frequency → 発生間隔

▷パラメータ:「間隔秒数」
例)『particle update par1 frequency 0.01』
 → パーティクルの発生間隔を0.01秒に1回に変更(1秒で100回)

▷補足


spawnChance → 発生確率

▷パラメータ:「発生確率(0~1)」
例)『particle update par1 spawnChange 0.5』
 → パーティクル発生タイミングで発生する確率を0.5(50%)に設定

▷補足


particlesPerWave → 1回での発生個数

▷パラメータ:「発生個数」
例)『particle update par1 particlesPerWave 10』
 → パーティクル発生タイミングごとに発生する個数を10個に設定。(同時に発生するもののlifetimeは同じなので注意)

▷補足


emitterLifetime → エミッター寿命

▷パラメータ:「寿命秒数」
例)『particle update par1 emitterLifetime 1』
 → エミッターの寿命を1秒に設定。(playコマンドで再生時は寿命終了後に自動で消滅(繰り返さない場合はplay推奨)
(-1とすると永続)

▷補足


maxParticles → 最大表示数の制限

▷パラメータ:「最大数」
例)『particle update par1 maxParticles 100』
 → このエミッターから発生する最大数を100に制限
(0とすると制限なし)

▷補足


fluctuation → (進行角度の)ゆらぎ

▷パラメータ:「強さの最大値 鋭敏さ(0~1)」
例)『particle update par1 fluctuation 2 0.01』
 "→ ゆらぎの強さの最大値を2、鋭敏さを0.01に設定。(強さは1フレームで変化する角度の最大値、 鋭敏さは大きいほど激しい頻度でゆらぐ。両方ともこの例の値くらいのオーダー推奨)"

▷補足



発生形状パラメータ

pos → 指定座標から発生

▷パラメータ:「x座標 y座標」
例)『particle update par1 pos 24 -12』
 → パーティクル発生位置をx=24、y=-12の点に設定

▷補足


rect → 指定した四角形内から発生

▷パラメータ:「x座標 y座標 幅 高さ」
例)『particle update par1 rect 24 -12 48 24』
 → パーティクル発生位置を左上の点のx=24、y=-12、幅48、高さ24pixelの長方形に設定

▷補足


circle → 指定した円の中から発生

▷パラメータ:「x座標 y座標 半径」
例)『particle update par1 pos 24 -12 36』
 → パーティクル発生位置をx=24、y=-12を中心とした半径36pixelの円に設定

▷補足


ring → 指定したリング内から発生

▷パラメータ:「x座標 y座標 半径 最小の半径」
例)『particle update par1 pos 24 -12 36 24』
 → パーティクル発生位置をx=24、y=-12を中心とした外側の半径36、内側の半径を24pixelとしたドーナツ状のリングに設定

▷補足



burst → 放射状に発生(particlesPerWaveと併用)

MV版

▷パラメータ:「角度の間隔 開始角」
例)『particle update par1 burst 36 0』
 → 開始角度0から36度ずつの間隔で放射状に射出。
(maxParticlesと角度の間隔をかけたときに360とする値にすると全方位にきれいに射出)

▷補足

MZ版

▷パラメータ:「角度の間隔 開始角 時間差 開始角タイプ 半径 半径差 X差 Y差」
例)『particle update par1 burst 36 0 0.1 1 100 10 20 30』
 → 開始角度0から36度ずつの間隔で時間差0.1秒でそれぞれ射出。射出時の向きはstartRotation優先(開始角タイプ1)、半径は100。それぞれの半径差10、X差20、Y差30
(maxParticlesと角度の間隔をかけたときに360とする値にすると全方位にきれいに射出)


▷補足
開始角のタイプは0が放射状、1がstartRotationの向き優先(全てのパーティクルが同じ方向に射出)、2が放射状の角度+開始角の合成角度。

MZ版のburstの新規パラメータについてはMZ版の新機能にて紹介動画があります。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

« 1 2 3

月別アーカイブ

記事を検索