Hollywis LLC

湘南にある小さなシステム会社

← 技術ブログ一覧に戻る

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

Unity

問題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](https://cdn-ak.f.st-hatena.com/images/fotolife/h/hollywis/20210215/20210215234005.gif)

問題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