Unityでゲーム、アプリ開発

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

Unity 落下したオブジェクトをDestroy関数で削除しよう! コインゲーム作り③ Unity学習30

今回は、落下したコインオブジェクトが下に落ちたら
Destroy、削除するようにする方法の紹介になります。

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

youtu.be


落下したオブジェクトをDestroy関数で削除しよう!

f:id:Phoenix9056:20200507174749p:plain

※今回は前回の続きになりますがスクリプトに関しても
前回の記事を見なくても大丈夫なようになっています。
一応前回の記事のリンクを貼っておきます。

www.unityprogram.info


f:id:Phoenix9056:20200507174943p:plain

まずHierarchy内の①+⇨Create Emptyを選択して
空のGameObjectを作成して名前をDestroyに変更し、
②のようにしましょう。

②のDestroyInspector内にあるAdd Componentを選択。
Box Colliderと検索して③のように。コンポーネントを追加します
この時Box ColliderのSizeをX⇨20,Y⇨1,Z⇨20に変更して大きめに作ります。

④のようにオブジェクトが落ちてきた時に
削除したい位置に移動させておきましょう。
※緑の線がBox Colliderなのですが背景を白にしているため
見づらくてすいません。

最後にDestroyのBox Collider接触したオブジェクトを
削除するスクリプトを作成していきます。
Project⇨Asset内の自分が分かりやすい位置で
右クリック⇨Create⇨C# Scriptを選択して名前をObjectDestroyにして
⑤のようにします。

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

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

public class ObjectDestroy : MonoBehaviour
{
    //スクリプトにアタッチされたコライダーがオブジェクトに接触した時の処理。
    private void OnTriggerEnter(Collider other)
    {
        //オブジェクトを削除します。
        if(other.gameObject)
        {
            Destroy(other.gameObject);
        }
    }
}

出来あがった⑤のスクリプト
Hierarchy内にある②Destroyにドラッグ&ドロップしてアタッチしてください。

コレで完成です!再生してみましょう!

f:id:Phoenix9056:20200507180512g:plain

オブジェクトが落下して消え去っていく様が見えるかと思います笑笑

こんな感じでいらないオブジェクトやまたはキャラクターが落下したら
削除する時に使えると思います。
その時Destroyしたものによってスコアポイントを加算するなど
キャラクターがDestroyされたらGameOverシーンに移行するなどの
様々なシーンに使えるかと思います。

また落ちてDestroyされたら煙や光などのパーティクルを
発生するような方法も記述していきたいと思います。

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


今日のゆうきさんのゲーム実況はコチラ!
僕の絶叫とビビり具合が見れます笑

youtu.be

関連記事

※本格的に3Dゲームを作っていきたい方は下記カテゴリを参考にしてください。
www.unityprogram.info

※オススメの無料アセットは下記カテゴリより。便利なアセットが有ます。
www.unityprogram.info

※Unityを学習していきたい方は下記カテゴリを覗いて見てください。
www.unityprogram.info

※実際に使って読んでみたオススメの本は下記カテゴリからご覧ください。
www.unityprogram.info

※初心者に向けた簡単な記事は下記カテゴリより。
www.unityprogram.info