Unity Objectが落下したら炎のパーティクルを表示させる方法 初心者編13
みなさん!今日もお元気ですか!?
布マスクが全世帯に2枚ずつ配布
されるとの事で、迷わず使っていきましょう!
自己管理を疎かにしてても
やはりチーンな事になるので
僕のオススメは、肺炎となって気づかずマラソンをして
免疫力の低下と病気悪化するより筋トレですね!
と言う事で本題に入っていきましょう。
Objectが落下したら炎のパーティクルを表示させる方法!
今回は、ロウソクが地面に当たったら炎が出るように
設定していきます。
まず、3Dでプロジェクトを開いていきましょう。
エディタ画面の上部にあるWindow⇨Asset Storeから
アセットストアを開いて、Modular Medieval Lanternsを検索して
インポートしてください。
アセットストアの使い方がわからない方は下記記事を参考にしてください。
www.unityprogram.info
次に、Unity Particle Packをインポートします。
次のような画面になったらInstall/Upgradeをクリックして
新しいUnityのバージョンでも対応できるようにしましょう。
Hierarchy内にある①の+をクリックして、3D Object⇨②のPlaneを選択して作成します。
次に、ProjectのAssets内にある③のLatems and Candlesの▶︎をクリック。
④のPrefabを選択して、⑤のCandle2をドラッグして、⑥のScene内の少し高い所にドロップしてください。
Candle2のInspector内にある、⑦のRotationのXの数字を180にして逆さまにします。
同じく⑦にあるScaleのX,Y,Zを全て2にして分かりやすく大きくしましょう。
次にInspector内の一番下にある①のAdd Componentをクリックして
②のRigidbodyとBox Colliderを追加してください。
また同じように①からNew Scriptと検索してスクリプトを
作っていきます。
名前をFireにしてください。
次のコードをコピー&ペーストするか同じ記述にしてください。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Fire : MonoBehaviour { //ParticleSystem型で変数psを宣言します。 ParticleSystem ps; //Inspectorに設定できるようにpublicを宣言して //GameObject型で変数candleを宣言します。 public GameObject candle; //GameObject型で変数objを宣言します。 GameObject obj; void Start() { //FindメソッドでExplotionのGameObjectにアクセスして //変数objで参照します。 obj = GameObject.Find("WildFire"); //GetComponentでParticleSystemを取得して //変数psで参照します。 ps = obj.GetComponent<ParticleSystem>(); //変数objを非表示にしてParticleSystemの実行を止めます。 obj.SetActive(false); } //GameObjectが接触した時の処理 private void OnCollisionEnter(Collision collision) { //もしPlaneに接触したら。 if (collision.gameObject.name == "Plane") { //非表示にしていたobjを表示します。 obj.SetActive(true); //変数ps、ParticleSystemを実行します。 ps.Play(); //2秒後にInspectorに設定してあるGameObjectを非表示にします。 Invoke("CandleDisappeard", 2f); } } //GameObjectを非表示にする処理 void CandleDisappeard() { //Inspector内のcandleに設定された //GameObjectを非表示にします。 candle.SetActive(false); } }
次にHierarchy内にある④のCandle2をドラッグして、
先程追加した③のスクリプト内にある⑤のCandleにドロップしてください。
※画像にLifeと写っていますがスクリプトの試行錯誤中の
間違いなので気にしないでください。
この記事のスクリプトは修正してあります。
次に、Project内にある⑥のEffectExanplesの▶︎をクリックして
⇨のFire & Explosion Effectsの▶︎を選択して、
⑦のPrefabをクリック。
一番下にある⑧のWildFireをドラッグして、
Scene内のCandle2が落ちると思われる部分に
ドラッグ&ドロップしてください。
これで完成です!
再生してみましょう。こんな感じで嫌な人を思い浮かべながら
燃やしてください笑笑
ご視聴ありがとうございました!
※初心者編は下記カテゴリを参照してください。基本を記載しています。
www.unityprogram.info
※Unity学習していきたい方は下記カテゴリを!少しめんどくさくなってきます。
www.unityprogram.info
※3Dゲームを作っていきたい方は下記カテゴリを参考にしてください。
www.unityprogram.info
オススメアセットはコチラ。
www.unityprogram.info