반응형
실제 화면에서 오브젝트를 클릭하고 싶은 경우가 있다.
이때는 클릭을 한 위치에서 RayCast를 쏴서 오브젝트를 구하면 된다.
그 전에, debuging을 위해 DrawRay를 이용해 마우스 클릭이 제대로 들어오는지 확인해보자.
마우스 버튼을 누르고 있으면 ray를 계속 그리도록 한다.
Input으로 mousePosition을 받아 카메라의 ScreenPointToRay로 넘겨주고,
해당 ray의 위치와 방향을 DrawRay에 넘겨주면 된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SelectTest : MonoBehaviour
{
void Update()
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(ray.origin, ray.direction * 1000, Color.blue);
}
}
}
만든 스크립트를 빈 오브젝트에 추가하고, 빈 오브젝트(rayPoint)는 Camera의 자식으로 설정하였다.
아래와 같이 정상적으로 Ray가 그려지는 것을 알 수 있다.
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
반응형
'개발 > Unity' 카테고리의 다른 글
유니티 - 블럭 한 칸 이동하기 (그리드 기반 이동, 코루틴) (7) | 2022.02.28 |
---|---|
유니티 - 오브젝트를 선택된 상태로 만들기 : (1) bool (0) | 2022.02.25 |
유니티 - 스크립트로 오브젝트 이동하기, RayCast로 멈추기 (2) (0) | 2022.02.23 |
유니티 - 스크립트로 오브젝트 이동하기, RayCast로 멈추기 (1) (0) | 2022.02.21 |
유니티 - 클릭 후 화면 영역 구분하기 (0) | 2022.02.16 |
댓글