0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

車から排出煙エフェクトを出せるようにする

Last updated at Posted at 2024-02-02

はじめに

Unity公式エフェクト作成のチュートリアルを見て作ったは良いものの、使用していたテクスチャが古いテクスチャで存在しなかったり、機能の使い方がわかりずらかったので少しだけ詳しく書きます。

使用した環境

macbook pro 2018
Unity バージョン 2021.3.4f1

調べた情報について

Unity公式エフェクト作成からの改変なので、詳しい説明は以下の参考元をご覧ください

パーティクルシステム
「Particle System (パーティクルシステム) コンポーネントはシーン内で大量の小さな 2D の画像を生成し、アニメーション化することによって、液体、雲、炎などの流体をシミュレーションします。」

Particle System モジュール
今回重要になる部分です。これさえあればスクリプトなしでも動かせる優れものです。
「Particle System コンポーネントには各種の強力なプロパティがあります。これらは、簡単に使用できるように複数のモジュールにまとめられています。」

Unity.「車両からの排気煙の作成」 https://docs.unity3d.com/ja/2019.4/Manual/PartSysExhaust.html

Standard Asset2018はUnityアセットストアから削除されています。
元の記事の通りには作れないので注意が必要です。

今回はMaterialのShaderにあるparticlels/standard surfaceを使って代用品作るので上のアセットは不要です。

達成目標

Particle Systemのインスペクター内にあるCollsionを使って地面に当たった煙を跳ねさせたり、Size overを使って排気口から出た時は小さくその後に煙を大きく出来るようにする。
movie_004.gif

手順

最初に

Particle Systemのhierarchyに作成します。
スクリーンショット 2024-02-02 115245.png

1 煙に使うmaterialの作成

スクリーンショット 2024-02-02 090416.png
まずMaterialを作成し、MaterialのShaderにあるparticlels/standard surfaceを選びます。
そして、Albedoで色を変更します。今回であれば古めのトラックなので灰色に。

2 Shapeモジュール

次はParticle Systemのインスペクターの設定になります。
スクリーンショット 2024-02-02 090815.png

変更する場所

  • Angle 0 これにすると1か所からエフェクトが一直線に放出されます

3 Rendererモジュール

スクリーンショット 2024-02-02 091102.png
1で作ったMaterialをRenderモジュールにあるMaterialへ設定します。

4 メインモジュールの設定

スクリーンショット 2024-02-02 090019.png

  • Start Speed を以下の画像のようにします。
    Paticel Syestem CurvesはHierarchyの下に隠れているのでクリックして開きます。
    キー(丸)にカーソルを置いたままドラックすることで動かすことができます。
    スクリーンショット 2024-02-02 100414.png
    カーブ(線)を選択した状態で右クリックをすると、Addkeyが出てくるのでそれをクリックするとカーブを動かせるキーを追加できます。
    スクリーンショット 2024-02-02 100627.png

それ以外に変更する場所

  • Duration 30 システムが実行する時間の長さ
  • Start Lifetime 2 パーティクルが出てからいつ消えるかの時間
  • Gravity Modier 0 パーティクルに掛かる重力 今回はForce overで重力を作るので0に
  • Scaling Mode Hierachy パーティクルの速度基準
  • Max Paticles 90 パーティクルの最大値

5 Velocity over Lifetimeモジュール

スクリーンショット 2024-02-02 090931.png
変更する場所

  • Speed Modifier 0.1 これにすると煙の速度を時間経過で徐々に落とすことができます

6 Force over Lifetmeモジュール

スクリーンショット 2024-02-02 091340.png
変更する場所
右側にある逆三角を押してCurveを選択
スクリーンショット 2024-02-02 103907.png
後は下の画像のように設定
ここでは煙の流れを決めます、今回は排出口が横にあるので横方向に流れる形で行きます。
スクリーンショット 2024-02-02 104427.png
スクリーンショット 2024-02-02 103448.png
スクリーンショット 2024-02-02 103505.png
X.Y.Zの下にあるハイライトされた数値を押すと上限を決められます。

7 Size over Lifetimeモジュール

スクリーンショット 2024-02-02 091233.png
ここを変更すると煙のサイズを時間経過で変更出来るようになります。
排気口から出た後、モクモクとした煙として地面落ちて消滅する想定です。
スクリーンショット 2024-02-02 105533.png

8 Size by Speedモジュール

スクリーンショット 2024-02-02 091304.png
ここでは煙の移動でどんな大きさに変化させるかを決めます。
最初は小さく徐々に大きくしたいので、以下の画像のようにします。
スクリーンショット 2024-02-02 110229.png

9 Collisonモジュール

スクリーンショット 2024-02-02 111525.png
ここでようやく跳ね返る機能の追加です。これが無いと地面の上をすり抜けてしまうので注意。
変更する場所
Type World 地面だけでなく他のオブジェクトに当たる場合はWorldへ地面だけであればPalnesに
Bounce 0.5 煙がオブジェクトに当たった際に、跳ね返る煙に加わる力

結果

完成
まだ完璧とは言えないもののある程度それらしくなった。
もう少し変えたいけどVFX Graphが魅力的すぎる...
movie_004.gif

まとめ

Particle Systemのインスペクター内にあるCollsionやSize overLifetimeを使うと、地面に当たったときの動きを設定出来たり、パーティクルのサイズを時間経過で変更することができます。

参考

Unity車両からの排気煙の作成: https://docs.unity3d.com/ja/2019.4/Manual/PartSysExhaust.html
Unityパーティクルシステム https://docs.unity3d.com/ja/current/Manual/class-ParticleSystem.html

使用したアセット(トラック)

Unity Asset Store Gaz 66 https://assetstore.unity.com/packages/3d/vehicles/land/gaz-66-91665

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?