Unityでゲーム、アプリ開発

Unityで初めてゲームやアプリを作る人のための支援ブログです。

Unity 地雷を設置して踏むと爆発させてみよう! Unity学習17

今回は、地雷のオブジェクトに爆発パーティクルを設定して
キャラクターがそれを踏んだら爆発する方法の紹介です。

※動画での説明がいい方は下記動画をご覧ください。
ブログ記事での説明がいい方はそのまま読み進めてください。

youtu.be

どうもこんばんはゆうきやんです!
今日もいい天気!
僕の心は今まさに絶望です。

読書を日課にしているのですが
知れば知るほど絶望する毎日。

しかも正解も分からないから
分からない事だらけなんです。

と言う事で本題に入っていきましょう!


地雷を設置して踏むと爆発させてみよう!

f:id:Phoenix9056:20200502235104p:plain

今回は、地雷を踏んだら(接触)したら爆発する方法です。
結構すぐ出来るので今回は楽しめるかと思います。

では、Unityプロジェクトを3Dで開いてください。



f:id:Phoenix9056:20200327010636j:plain

エディタ上にあるWindow⇨Assets Storeを開いて、
検索窓より、mineと入力すると AT-Mainが表示されるので
ダウンロードとインポートをしてください。
※アセットストアの使い方が分からない方は、下記記事を参考にしてください。
phoenix9056.hatenablog.com


f:id:Phoenix9056:20200327012543j:plain

①のHierarchyにあるをクリックして、
3D Object⇨Planeから②のPlaneを作成してください。
※GameObjectの作成の仕方が分かりづらい人は下記記事を参考にしてください
phoenix9056.hatenablog.com

次に、赤い矢印の先にある▶︎を上から順番に、weapons、modelsとクリック。
③のat_mainと出てくるのでそれをクリック。
④のat_main_LOD0をドラッグしながら⑤のSceneにドロップしてください。
最後に⑥のUnityちゃんのキャラクターを使うか、自分でキャラクターを用意してください。
Unityちゃんのキャラクターの出し方は下記記事を参考にしてください。
phoenix9056.hatenablog.com


f:id:Phoenix9056:20200327031137j:plain

次にat_mainの設定をしていきます。
Hierarchy内にあるat_mainをクリックして
Inspectorの一番下にあるAdd ComponentからRigidbodyBox Colliderを追加してください。

エディタ上にあるWindow⇨Asset StoreからTrue Explosions!を検索窓から探して
ダウンロード⇨インポートしてください。

f:id:Phoenix9056:20200327031813j:plain

今度はまたAdd Componentから次の3つのスクリプトを追加してください。
Pseudo volumetric Component⇨Volumetric ExplosionVolumetricを追加。
particleComponent⇨Explosion EffectsExplosionを追加。
Exploder⇨チェックボックスのチェックわ、外してください。
そして上記の画像の様に同じ数字にしてください。

※もっと詳しい説明が見たい場合は下記記事を参考にしてください。
phoenix9056.hatenablog.com


次は、スクリプトを書いていきます。
Project内の自分の好きな所で右クリック⇨Create⇨C# Scriptで作成してください。
今回は名前をFootMineとします。

次のコードをコピー&ペーストするか、同じ様に
記述をしてください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FootMine : MonoBehaviour
{
    //GameObject型で変数myMineを宣言します。
    public GameObject myMine;
   //Exploder型の変数exploderで宣言します。
    Exploder exploder;

    
    void Start()
    {
        //GetComponentでExploderコンポーネントにアクセスして、
        //変数exploderで参照します。
        exploder = myMine.GetComponent<Exploder>();
        
    }

    
    
        private void OnCollisionEnter(Collision collision)
        {
          //キャラクターがat_mine_LOD0に接触した時の処理
            if (collision.gameObject.name == "at_mine_LOD0")
            {
            //キャラクターが接触したらExploderのチェックを有効にして爆発させます。
            exploder.enabled = true;
            //at_main_LOD0を0.2秒後に消滅させます。
            Invoke("MineDisappeard", 0.2f);
            }
        }
    //0,2秒後に消滅させる処理。
    void MineDisappeard()
    {
        
        myMine.SetActive(false);
    }
    
        
    }


f:id:Phoenix9056:20200327041439j:plain

①の先程作ったスクリプトを②のキャラクターにドラッグ&ドロップしてアタッチします。
そうしたらHierarchyにある①のキャラクターをクリックして、
③のat_main_LOD0をドラッグして、④の先程追加したInspector内にあるスクリプト
MyMineにドロップしてください。

再生ボタンを押して踏んでみましょう!

f:id:Phoenix9056:20200327042926g:plain

次の様に爆発したら成功です

あなたなら出来る!!

ご視聴ありがとうございました。


※このまま学習していきたい方は下記カテゴリへ
phoenix9056.hatenablog.com

※初心者編は下記カテゴリより。
phoenix9056.hatenablog.com

※オススメアセットやアセットエラー修正は下記より。
phoenix9056.hatenablog.com