Unityで疾走感が出るエフェクト作ってみたかった

細長い粒子をカメラに向かってぶつけることで疾走感を表現できないかテスト

疾走感のイメージ

使用例+制作風景

www.youtube.com

以下説明

まずパーティクルシステムを使う。順序は

1.レンダラーのビルボードを伸縮ビルボードにして粒子を引き伸ばす。

2.レンダーモードの長さスケールを負の値にする。(とりあえず‐10とか)

伸縮ビルボードにして長さスケール-6ぐらいにしたとき

3.パーティクルシステムのtransformの拡大/縮小をいい感じに映るように調整する。

4.形状の変更。

・形状を円錐にして角度を小さくする。(3度以下がいいかと)

・半径の厚さを小さくする。(0.1から0.5ぐらいとか)こうすると、円の中心から光が出なくなる。

・半径を調整してカメラの端に光が出るようにする。

上画面で放出形状確認、角度はお好みで調整

5.色の調整

明るすぎる場合は生存期間の色を変える。 開始点と終了点のアルファ値を0にするといい感じ。

6.開始時の速度の調整

・開始時の速度を上げるとより疾走感が得られるかも。ただしその時は色調整や位置調整をしないとカメラに映らなくなる。

7.生存期間のサイズの変更

・生存期間のカーブを変えると、雰囲気が変わります。お好みで。

これで大まかなエフェクトの完成です。 実際にゲームで使ってみて調整するといい感じになるかと。

実際に使用する場合は、

・パーティクルシステムの事前実行をON

・使用したい条件になったら、パーティクルシステムの放出がONになるスクリプトをつける。 放出のチェックはOFFにしておく

・放出を切ったときは光を残したくないので、開始時の生存時間を1秒程度の短い時間にしておく。

以下のスクリプトを制作したパーティクルシステムに取り付けて、

条件に従って放出モジュールをON,OFFします。

今回はInput.getaxisから垂直方向に0.8より大きい値を維持しているときは放出ON、 0.8以下になると放出OFFにしています。

https://help.hatenablog.com/entry/developer-option?_gl=1*ojnx55*_gcl_au*NzA5NzY1Mzc3LjE3MTA2NTgyODA.