【Unity】プレイヤーが当たったら消えるブロック(GameObject)を作る
プレイヤーが当たると消えるブロック(障害物)の作り方を紹介します。
プレイヤーとしては以下を使います。
目次
完成動作
作り方(動画)
作り方(ブログ)
ブロック(GameObject)を用意する
1.Cylinderを設置します。名前はCylinderDestroyにします。(わかりやすいようにMaterialで色を付けています。)
![](https://programming.sincoston.com/wp-content/uploads/2020/11/image-5.png)
![](https://programming.sincoston.com/wp-content/uploads/2020/11/image-6.png)
当たったら消えるスクリプトを作成する
1.Destroy.csという名前のスクリプトを作成して、以下のコードを記載する。
using UnityEngine;
public class Destroy : MonoBehaviour
{
/// <summary>
/// 衝突した時
/// </summary>
/// <param name="collision"></param>
void OnCollisionEnter(Collision collision)
{
// 衝突した相手にPlayerタグが付いているとき
if (collision.gameObject.tag == "Player")
{
// 0.2秒後に消える
Destroy(gameObject, 0.2f);
}
}
}
スクリプトを消したいブロックにアタッチする
1.Destroy.csを消したいブロック(CylinderDestroyオブジェクト)にアタッチする。
![](https://programming.sincoston.com/wp-content/uploads/2020/11/image-7.png)
消したいブロック(GameObject)のCapsule Colliderの"Is Trigger"にチェックを入れない
1.消したいブロック(CylinderDestroyオブジェクト)のCapsule Colliderの"Is Trigger"にチェックを入れない。
※ここにチェックが入っているとDestroyスクリプトのOnCollisionEnterが反応しない。
![](https://programming.sincoston.com/wp-content/uploads/2020/11/image-8.png)
プレイヤーオブジェクトのTagに"Player"を設定
1.プレイヤーオブジェクト(今回はunitychan)のTagに"Player"を設定
![](https://programming.sincoston.com/wp-content/uploads/2020/10/image-64.png)
完成
これでプレイヤーが消えるブロック(CylinderDestroyオブジェクト)にぶつかると、ブロックが消える。
ディスカッション
コメント一覧
まだ、コメントがありません