【Roblox】ParticleEmitterで様々なエフェクトを作る

2024/08/09に公開

はじめに

このページでは、Robloxのエフェクト機能「ParticleEmitter」を使ったパーティクルエフェクトの様々な工夫を解説します。
エフェクト制作をする際に研究で得られたものも掲載しています。

こちらはRobloxのエフェクトを少し触ったことがある方向けのページとなっています。そのため、ParticleEmitterの基本的機能や全パラメータは解説していません。

Robloxバージョン:0.625.0.6250509

ParticleEmitter ~研究制作物~

Acceleration

「Acceleration」は、その名の通りパーティクルに加速がつくパラメータです。等速で移動する速度を変更する「Speed」のパラメータとは違い、パーティクルの速度が段階的に早くなっていく演出を付けることができます。

①放出方向に加速をつける

直線的で速度感のあるエフェクトになります。
アクションゲームのスピードアップエフェクトなどに使えそうです。

【放出方向にSpeed+10・Acceleration+150】

②放出方向と逆方向に加速をつける

一度放出方向に飛び出た後、帰ってくる動きをします。
ふわふわと飛び跳ねるような挙動をするので、ステージ演出などで広範囲に使えそうです。

【放出方向にSpeed+10・逆方向にAcceleration-5】

③放出方向と交わる方向に加速をつける

ある地点に向かって移動するような印象のエフェクトになります。
風で舞い上がる花びらなどの表現などに使えそうです。

【放出方向にSpeed+10・放出方向から垂直方向にAcceleration+5】

④他のパラメータと組み合わせる

AccelerationはX・Y・Z軸それぞれに設定できるため、斜め方向などにも入力することができます。
ここではほかの機能とも組み合わせたパーティクルを軽く紹介します。

・SpreadAngleと組み合わせた例

preadAngleはパーティクルを円錐状に広げることができるパラメータです。
上方向にSpreadAngleで広がりを付けた状態で放出し、下方向にAccelerationをつけると、噴水のように何かがあふれたり、噴き出しているような印象のエフェクトができます。

【お金がじゃらじゃら…】

【噴水】

Accelerationの解説は以上になります。

放射器の形状

「放射器の形状」は、パーティクルを放出している形状そのものを編集するタブになっています。
これを編集することで、放出形状を円形や円柱状にしたり、放出する方向を設定できたりします。

今回は「放射器の形状」タブの「Shape」「ShapeInOut」の設定項目を使ったパーティクルの例を紹介します。

・Shape

放射器の形状そのものを変更するパラメータです。Box・Cylinder・Disc・Sphereの4種があります。

・ShapeInOut

パーティクルの放射方向を設定します。InAndOut・Inward・Outwardの3種があり、それぞれ内側と外側・内側のみ・外側のみの放射設定ができます。
なお、上下左右方向の単純な放射方向の指定については「放射」タブの「EmissionDirection」で行うことができます。

①スノードーム


【Shape:Sphere・ShapeInOut:Inward】

Shapeを球形にし、ShapeInOutをInwardにすると球形の内側に向かってパーティクルを放出するようになります。その状態でParticleEmitterをくっつけているオブジェクトを半透明にすることで、スノードームのような演出ができます。

ShapeInOutの仕様として、内側に放出した後はそのまま外側に飛び出してしまうので、この場合はLifetime(パーティクルひとつひとつの存在時間)をちょうど球の中心あたりでなくなるように調整しています。

放射器の形状の解説は以上になります。

ParticleEmitter 制作物~

①財宝獲得時のエフェクト

他プレイヤーへの攻撃成功や、フィールドに落ちている財宝を拾うなど、プレイヤーが財宝を獲得した際のエフェクトです。プレイヤーの背負っているリュック上部から、コインが流れ込んでくるようなエフェクトとなっています。

【ゲーム内で実装されている財宝獲得エフェクト】

上記のエフェクトでは、プレイヤーの背負うリュックの真上に透明の四角パーツを置き、そこからリュックに向かってコインエフェクトを降らせています。

基本的にパーティクルは、そのパーティクルをセットしたパーツの中心からしか放出することができません。そのため、空中などの中心とは違う位置からパーティクル演出を出したい場合は、その位置に透明オブジェクトを置くことで実現することができます。

またリュックには小爆発のようなエフェクトを付け、降ってきたコインがリュックに当たっているような演出にしています。

【パーティクル制作時の見え方】

上記動画のリュック上部分にある白いキューブ状のパーツがコインエフェクトの生成元パーツになります。下のヒットエフェクトはリュック真ん中部分にエフェクトがついています。

また実際にゲーム内で挙動をさせる際には、PG側で、獲得した財宝の数量によってエフェクトの再生秒数が変わるように処理をしてもらっています。
獲得金額が多ければ多いほど、再生時間は長く、再生速度が速く再生されます。

制作のポイント

・リュックの幅とエフェクトの幅を合わせる

コインが落ちてくるエフェクトは、リュックの幅よりも大きくエフェクトが出てしまうと逆にコインが零れ落ちてしまっているような印象になってしまいました。パーティクルの放出範囲は、それがついている元パーツの大きさによって変わるため、コイン生成元のパーツとリュックの初期サイズの幅が一致するように作っています。

・LockedToPartをオンにする

LockedToPartは、エフェクトをオブジェクトに固定するパラメータになります。
今回はあくまで真下のリュックにコインが当たってほしいので、こちらのチェックをオンにしました。

【LockedToPart:オフ】

コインエフェクトがパーツに固定されておらず、動くとリュックのない位置にコインが降ってしまっています

【LockedToPart:オン】

エフェクトが固定され、必ず真下に落ちるようになりました

財宝獲得時のエフェクト解説は以上になります。

②一位継続エフェクト

ゲーム中に、現在一番財宝を持っている人をわかりやすくするため実装したエフェクトです。
リュックから大きな黄緑色の星のエフェクトが出ます。
この色は「一位継続時間最長」ボーナス付与時のゲージ色と対応しています。

         【ゲーム内で実装されている一位継続エフェクト】

制作のポイント

・パーティクルサイズの違うエフェクトを二つ重ねる

パーティクルサイズは「外見」タブの「Size」でもばらつきが出せますが、ばらつき加減を調整できないため放出のタイミングによっては大きい粒子が出すぎていたりと意図したばらつき感を安定して出すことができませんでした。そのため、ParticleEmitterを複製してサイズのみ変更し、小さい粒子用・大きい粒子用でパーティクルを分けています。

【左:Sizeの指定でばらつきを出したもの / 右:ParticleEmitterを2つに分けたもの】

上記の動画の通り、ParticleEmitterを分けた方が小さい粒子と大きい粒子のバランスが常に一定の見え方になります。

・LockedToPartをオフにする

「財宝獲得時のエフェクト」でも解説した項目です。
今回は現在一位のプレイヤーがわかるようにするためのエフェクトなので、LockedToPartの項目をオフにし、その場に軌跡を残すことで、一位プレイヤーを探しやすくしました。

【ゲーム中の一位継続エフェクト その場に軌跡が残るため、一位のプレイヤーが探しやすくなります】

一位継続エフェクトの解説は以上になります。

③攻撃時・防御時エフェクト

ゲーム中にプレイヤーの攻撃が他プレイヤーに当たった時のエフェクトです。
元となる2D画像素材は同じで、色や大きさで違いを出しています。

【攻撃時エフェクト】

赤い火花が大きく出ます

【防御時エフェクト】

青い火花が細かく出ます

制作のポイント

・攻撃・防御が明らかにわかる色にする

当たる場所で攻撃の可否が変わってしまうゲームなので、しっかり色分けして見た目にもわかりやすくしています。

・PG側で放出量を調整してもらう

今回のエフェクトは一度に粒子を放出する量を多くすることで、見た目上エフェクトが大きく強く見えるようになっています。
Roblox Studio側からは一度に放出する量の制御ができないため、PGの方に以下リンクのParticleEmitter:Emit()を使用して制御してもらっています。
https://create.roblox.com/docs/ja-jp/reference/engine/classes/ParticleEmitter#Emit

まとめ

攻撃時・防御時エフェクトの解説は以上になります。
他にもいろんな設定項目がありますので、また具体的な使用用途が思い浮かぶようなパーティクルが作成できましたら、都度追記したいと思います。

ランド・ホー Roblox開発チーム

Discussion