茶ポーン

ゲーム作りめも。VR幻想郷いきたい。

UE4でLeapmotionつかってみるついでに指からびーむだす(パーティクル編)

こちらの記事の続きです~
UE4でLeapmotionつかってみるついでに指からびーむだす(後半)(その1) - toorsoo's diary



前回は指からパーティクルコンポーネントのついた弾発射するところまででした!


今回は引き続いてのビーム用のパーティクル説明です。
今度こそ指からビームでます。


今回出来るのはこんな感じのビームになります。

UE4 + Leapmotion + ビーム - YouTube



今回のビームに関して、ノリと勢いだけで作ったエフェクトになります。
これよりも処理の軽いロマンあふるるビームを作る方法は無限にあると思うので、
方法の一つとして流し見するくらいな感じで見ていただければちょうどいい感じかと思われます・・・!


パーティクルを作るメインの作業は、

必要な動きのモジュールを追加する
モジュールのパラメータを設定する

上2つの繰り返しになりますです。


例えば,
「毎フレーム3ずつパーティクルを動かしたい!」は、

パーティクルを動かしたい!」← Velocityモジュール追加
毎フレームZ値3づつ!」 ← VelocityモジュールのZ値に3を入れる

のような感じになります。


動かす以外にも, 大きさを変える, 色を変える, コリジョン, ライト... etc
など様々なモジュールが用意されているので、
これを組み合わせて理想のパーティクルの動きを組み立てていくとよさそうです!


使用できるモジュール一覧は、公式ドキュメントで網羅されています。
死ぬほど役にたちます。( ˘ω˘)人<ありがたや…
Unreal Engine | パーティクル システムのリファレンス





では実際に、ビームのパーティクルを作成していくです。

びーむ作成

 \         /
  \  ∧_∧  /
   |∩( ・ω・)∩|  
  / 丶    |/\
 /  ( ⌒つ´) \

今回のビームの構成要素としては2つになりました。

  1. ①ビーム本体、バチバチしてビムビムしてる部分
  2. ②軌跡用の光の粒
①ビーム本体


最初にパーティクルを作ると、こんな感じになっていると思います。
f:id:toorsoo:20141119223304p:plain
デフォルトで生成されるパーティクルには、既にいくつかのモジュールが設定されています。
なのでまずは不要なモジュールを削除しました。
f:id:toorsoo:20141119223747p:plain
今回作るパーティクルにはInitial Velocityは不要なのであります





では色々動きをつけていきます!
まずはエミットするパーティクルの見た目の変更



RequireのMaterialを「radial_lamp」に変更
f:id:toorsoo:20141119224430p:plain



現時点で小さい雪球みたいなのが飛んでいきます。

f:id:toorsoo:20141119224855p:plain



次は「Spawn PerUnit」というモジュールを使ってみます。
「Spawn PerUnit」は, 移動するパーティクルの間をパーティクルで埋めてくれる機能をもったモジュールです。
気をつけないとパーティクル数がとんでもない数になりそうなので注意が必要です…!


f:id:toorsoo:20141119225718p:plain

こうすると・・・



f:id:toorsoo:20141119225919p:plain



ちょっとだけビーム感出てきました!


ただ派手さが足りないです……
カラーを変更してみます。


f:id:toorsoo:20141119230655p:plain


Color Over Lifeのパラメータを設定。
Color Over Lifeの階層の下にあるPointsが実際のカラーになっていて、

X=R, Y=G, Z=B

でそれぞれの色を設定する事ができます。
気の向くままに1.0以上の値を設定すると、
上の図のようにUnrealEngineの圧倒的パワーでパーティクルが光り始めます。



この状態で実行すると……


f:id:toorsoo:20141119231607p:plain


ビーム感でてきました!
でももうちょっと遊んでこだわってみます。



バチバチさせます!


まずInilial Locationモジュールを追加して、発生位置を少しばらけさせました。
f:id:toorsoo:20141119233422p:plain

次にRibbon モジュールを追加します。

f:id:toorsoo:20141119233951p:plain

するといい感じにパーティクルが荒ぶりはじめます。

Ribbon」は、生成されたパーティクルの座標2点を結ぶ、
帯状のパーティクルを生成してくれるモジュールのようです!


実行!

f:id:toorsoo:20141119234307p:plain
キャーイクサーン


雷ビームっぽい感じになりました!


②軌跡用パーティクル

ちょっとしたアクセントに軌跡に残る感じのパーティクルを置いてみます。

新規パーティクルエミッターを追加します!

f:id:toorsoo:20141119235911p:plain



ビーム本体と同様、不要なコンポーネントを削除し、
今度は「Orbit」モジュールを置いてみます。

f:id:toorsoo:20141119235322p:plain

「Orbit」は生成されたパーティクルに渦巻くような動きを設定することができます。
デフォルトのパラメータは既にいい感じだったので、今回はパラメータの変更はしませんでした!


他のモジュールの設定についてはほぼビーム本体と同様になります。



あとはパーティクルの寿命や色を変えてみたり、
弾の速度を変えてみたりして自分好みに作っていく感じになります…!

f:id:toorsoo:20141120001932p:plain


という感じで指からビームを出す事が出来ました!




まだまだ探り探りでUE4を触っています…!
「それ間違ってるよ!」とか、
「ここもっとこうした方がいいよ!」などあれば、
容赦なくガンガンお願いします...! _(_ _)_


次はブループリントでLeapmotionのジェスチャを使ってみた辺りの事書いてみようと思いますー。