0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SLP KBITAdvent Calendar 2018

Day 19

UnityのParticleSystemを使って火の弾みたいなものを発射してみる

Last updated at Posted at 2018-12-18

#はじめに
この記事は SLP KBIT Advent Calendar 2018 の19日目の記事です。

ふとUnityのParticleSystemだけで炎の弾とかって作れるのかなって思い、試しに作ってみたら、わりとそれっぽく作れました。
#今回作ったもの
こんな感じの炎の弾を作りました。
fireball
ここで実際に動かすことができます。
マウスで弾を撃ちたいところをクリックすると、カメラからクリックしたところに向けて、弾が発射されます。
発射された弾が、的か鳥にぶつかると、爆発します。
右上のワイプで、横から見た映像が流れるようにしているので、爆発などの様子を観察できます。

やってることはこんな感じです。
説明用.png
弾は、透明な球体オブジェクトに、コンポーネントとして、ParticleSystemを持たせています。
弾が指定したオブジェクト(今回は的と鳥)に衝突すると、弾は消滅します。それと同時に、衝突したオブジェクト側で、爆発エフェクト用のパーティクルが生成されます。
#弾のパーティクル
弾本体のParticleSystemの設定で、炎を表現する上で必要そうな項目をいくつか紹介します。
###Shape
キャプチャ.PNG
今回の例では、Coneを選択しました。Coneの他にも、Sphereとか選択してもいい感じになります。
###Size over Lifetime
キャプチャ.PNG
時間経過での、粒子の大きさを制御するところです。時間が経つにつれ、だんだん小さくなるようにしてます。
###Color over Lifetime
キャプチャ.PNG
キャプチャ.PNG
時間経過での色の変化を制御するところです。炎は、先端になるほど明るい色になるので、それを意識しながら設定してます。終わり際の色は、透明度を高くすると、粒子が綺麗に消えてくれます。なお、色の色相を変えると、青い炎とかが作れちゃいます。
###Renderer
キャプチャ.PNG
Materialは、StandardAssetに入っているParticleFirecloudを選択しました。これについては、お好みで選択してください。

これらの他にも、NoiseLightsとかを設定すると、いい感じになります。
#爆発エフェクトのパーティクル
爆発を表現する上で必要そうな項目をいくつか紹介します。基本的には、弾のパーティクルとほぼ同じです。
###Shape
キャプチャ.PNG
爆発は、全方位に粒子が飛び出るイメージなので、ShapeはSphereを選択しました。
###Trails
キャプチャ.PNG
粒子の軌跡を描画します。花火のような効果を出そうと思い、設定しました。なお、Trailsの描画には、RendersでTrail Materialを設定する必要があります。
#爆発エフェクトの生成
以下のコードを、的と鳥のコンポーネントに入れてます。

Target.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Target : MonoBehaviour {
    public GameObject ExploadObj;
	void OnCollisionEnter(Collision other)
	{
	    if (other.gameObject.tag == "Ball")
        {
            Instantiate (ExploadObj, this.gameObject.transform.position, Quaternion.identity);
        }
	}
}

爆発のパーティクルシステムをExploadObjに入れて、指定したタグのオブジェクト(ここではBall)が接触すると、ExploadObjが生成されるといった仕組みです。
#最後に
ParticleSystemを活用すれば、割と簡単に、炎の弾を作ることができました。これで思いっきり焼き鳥とか作れるな!
時間に余裕があれば、氷とか雷とかのエフェクトも作ってみたいです。
#参考
Unityマニュアル - パーティクルシステム(Shuriken)
https://docs.unity3d.com/jp/460/Manual/class-ParticleSystem.html
LemonteaのUnity部屋 - Unity パーティクル(2) 炎のエフェクト 松明風と某悪魔風
https://www.sawalemontea.com/entry/2017/09/14/220000

0
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?