유니티 C# 카메라 안에 마우스 위치로 레이 캐스트 쏘는 방법 간단 구현

반응형

유니티 C# 카메라 안에 마우스 위치로 레이 캐스트 쏘는 방법 간단 구현

using UnityEngine;

public class MouseRaycast : MonoBehaviour
{
    public Camera mainCamera; // 메인 카메라

    void Start()
    {
        if (mainCamera == null)
        {
            mainCamera = Camera.main; // 메인 카메라를 자동으로 할당
        }
    }

    void Update()
    {
        // 마우스 왼쪽 버튼이 눌렸는지 확인
        if (Input.GetMouseButtonDown(0))
        {
            // 마우스 위치에서 카메라 기준 레이 생성
            Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            // 레이가 충돌하는지 확인
            if (Physics.Raycast(ray, out hit))
            {
                // 충돌된 객체의 정보 출력
                Debug.Log("Ray hit: " + hit.collider.name);
                
                // 충돌된 객체에 원하는 행동을 추가할 수 있음
                // 예시: 충돌한 객체를 빨간색으로 변경
                hit.collider.GetComponent<Renderer>().material.color = Color.red;
            }
        }
    }
}
반응형