유니티 C# 모바일 터치로 3D 오브젝트 클릭 방법 간단 구현

반응형

코드 작성

using UnityEngine;

public class TouchHandler : MonoBehaviour
{
    void Update()
    {
        // 터치 입력이 있는지 확인
        if (Input.touchCount > 0)
        {
            Touch touch = Input.GetTouch(0);

            // 터치가 방금 시작되었는지 확인
            if (touch.phase == TouchPhase.Began)
            {
                // 터치 위치를 레이로 변환
                Ray ray = Camera.main.ScreenPointToRay(touch.position);
                RaycastHit hit;

                // 레이캐스트 수행
                if (Physics.Raycast(ray, out hit))
                {
                    // 히트된 객체가 "Touchable" 태그를 가지고 있는지 확인
                    if (hit.collider != null && hit.collider.gameObject.tag == "Touchable")
                    {
                        // 터치된 객체에 대한 액션 수행
                        Debug.Log("터치된 객체: " + hit.collider.gameObject.name);
                        // 여기에 원하는 동작 추가, 예: 색상 변경, 애니메이션 트리거 등
                        hit.collider.gameObject.GetComponent<Renderer>().material.color = Color.red;
                    }
                }
            }
        }
    }
}
반응형