はりうすブログ (のすけのメモ)

湘南にある小さな会社 代表 ”のすけ”のブログです

【Unity道場5】衝突判定をせよ

問題1:衝突判定をせよ

キューブオブジェクトを上から落として、地面にぶつかった時にオブジェクトを削除してください。

回答例

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

public class CollisionTest : MonoBehaviour
{

    void OnCollisionEnter(Collision collision)
    {
            Destroy(gameObject);
            Debug.Log("当たったよ!");
    }
}

解説

OnCollisionEnterでイベントを検出して、オブジェクトを削除しています

実行結果

f:id:hollywis:20210215234005g:plain

問題2:衝突先のオブジェクトを削除せよ

問題1を改良します。

キューブオブジェクトを上から落として、地面にぶつかった時に地面オブジェクトの方を削除してください。

回答例

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

public class CollisionTest : MonoBehaviour
{
  void OnCollisionEnter(Collision collision)
  {
    Debug.Log("当たったよ!" + collision.gameObject.name);
    Destroy(collision.gameObject);

  }
}

解説

collision.gameObject

これで衝突先にgameObjectを取得できるので、それをDestroyします。

動作

地面に触れた瞬間に衝突して、地面が消えます

f:id:hollywis:20210216000553g:plain