공부/Unity

[Unity] 3D, 2D 오브젝트 클릭하기! ClickManager

굴러다니다니 2023. 9. 7. 13:55
728x90
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ClickManager : MonoBehaviour
{
    public static ClickManager instance = null; //어디서든 접근하기 쉽게 
    Vector3 m_vecMouseDownPos;
    public bool isCanClick = false; //지금 클릭 가능한 상황인지
    private void Awake()
    {
        instance = this;
    }

    private void Update()
    {
        if (Input.GetMouseButtonDown(0)) 
        {
            m_vecMouseDownPos = Input.mousePosition;
            Ray ray = Camera.main.ScreenPointToRay(m_vecMouseDownPos);
            RaycastHit hit;
            Debug.Log("무지성 클릭");

            if (Physics.Raycast(ray, out hit))
            {
                if (hit.transform.CompareTag("Chip") && isCanClick)
                {
                    Debug.Log("클릭");
                }
            }
        }
    }


}

* 클릭하려는 오브젝트에 콜라이더를 꼭 달아주자

(위의 코드같은 경우 Tag로 Chip도 달아주어야됨)

728x90