UE4では銃で撃った弾の弾道や、キャラクターが移動した軌跡を
RibbonDataというタイプのパーティクルエフェクトで表現することができます。
こんな感じの軌跡をつけていきます。
手順としてはこんな感じ
- セットアップ
- RibbonDataのパーティクルを作る
- 軌跡を出したいキャラクターでパーティクルをスポーン(生み出す)させる。
- パーティクルを整える
1.セットアップ
UE4 のバージョンは 4.24 、サードパーソンのテンプレートを使っています。
2. RibbonDataのパーティクルを作る
まず新規でパーティクルデータを作ります。
作ったパーティクルを開いて、
下図のようにエミッタのタイプデータをRibbonDataに変えます。
3.軌跡を出したいキャラクターから作ったパーティクルを生み出す。
今回はブループリントで生み出してみます。
ThirdPersonCharacterのブループリントを開きます。
テンプレートそのままならここにあるはず↓
コンテンツ>ThirdPersonBP>Blueprints
イベントグラフのBeginPlayでSpawnEmitterAttachedを呼び出して
EmitterTemplateの欄には先ほど作ったパーティクルを指定。
AttatchToComponentにはキャラクターのMeshを渡します。
これだけですでに
こんな感じで軌跡っぽいものが出るはず。
デフォルトのテクスチャだし、もにょもにょしてるけど…
4.パーティクルを整える
さすがに見た目がひどすぎるので整えていきます。
でも面倒なのでテクスチャは使いません。
では、まずマテリアルを作ります。
パーティクルの時と同じように、新規でマテリアルを作ります。
マテリアルの設定画面はこんな感じ。
ここの詳細タブで下図のように
BlendModeとShadingModelを変更します。
※ひとつだけある茶色いノードをクリックすると下図の設定を編集できます。
カスケード(パーティクルエディタ)でパーティクルの色を変えられるように
ParticleColorを下図のようにつなぎます。
できたらこのマテリアルをパーティクルに設定していきます。
・パーティクルの設定を変更していきます。
まず色が気になるので
ColorOverLifeの値を変えます。僕は紫にしてみました。
サイズも大きすぎたのでInitialSizeを変更します。
ふにゃふにゃしちゃうのをやめたいので、InitialVelocityを全部ゼロにします。
で、試してみるとこんなSFちっくなトレイルエフェクトがいい感じにできました。
これを利用すれば、FPSの弾の軌跡やキャラクターの動きを表現できると思います。
おしまい。