[Unity6] Raycastで特定のタグのオブジェクトに当たった場合に処理を実行する方法。(3D)

(2025/02/25)
[Unity6] Raycastで特定のタグのオブジェクトに当たった場合に処理を実行する方法。

開発環境
  • Unityのバージョン : 6000.0.36f1
  • Raycastでタグを判定する方法

    Physics.Raycastで衝突情報を取得した後、hit.collider.gameObject.tagを使って、衝突したオブジェクトのタグを取得できます。このタグを比較することで、特定のタグを持つオブジェクトに当たったかどうかを判定できます。

    using UnityEngine;
    
    public class SampleScript : MonoBehaviour
    {
        [SerializeField] private float raycastDistance = 100f; // 光線を飛ばす距離
    
        void Update()
        {
            if (Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, raycastDistance))
            {
                //TargetTagと衝突したらログを出力する
                if (hit.collider.gameObject.CompareTag("TargetTag"))
                {
                    Debug.Log("TargetTagに命中!");
                }
            }
        }
    } 
    

    上記のコードでは、RayがTargetTagという名前のタグを持つオブジェクトに当たった場合に、ログに出力します。