(Unity6_BRP)レイを使ってオブジェクトを破壊する

(スクリプトの作成)

  • 新規にC#スクリプトの作成
  • 名前を「RayController」に変更
  • 下記のコードを書いてチェック
using UnityEngine;

public class RayController : MonoBehaviour
{
    public AudioClip sound;

    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            RaycastHit hit;
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out hit))
            {
                GameObject target = hit.collider.gameObject;

                if (target.CompareTag("Box"))
                {
                    Destroy(target.gameObject);
                    AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);
                }
            }
        }
    }
}

(Tagの設定)

  • 破壊したいオブジェクトを選択(自由)
  • 「Tag」欄の「Untagged」をクリック

  • 「Add Tag…」をクリック

  • 「+」をクリック

  • 空欄に「Box」と記入して「Save」ボタンを押す

  • 再び破壊したいオブジェクトを選択
  • Untaggedをクリックして、「Box」をクリック

  • これでTagの設定が完了です。


(効果音等の設定)

  • 「+」→「Create Empty」をクリック

  • 名前を「RayController」に変更

  • これにスクリプトを追加
  • オブジェクトを破壊した時の効果音をインポート(音は自由)
  • これを空欄に追加


(実行確認)

  • ゲームを再生
  • オブジェクトにポインターを合わせてスペースーを押した瞬間に、オブジェクトが消える+効果音が鳴るで成功です。