본문 바로가기
개발/Unity

유니티 - 화면 클릭 시, RayCast 그리기

by 피로물든딸기 2022. 2. 25.
반응형

Unity 전체 링크

 

실제 화면에서 오브젝트를 클릭하고 싶은 경우가 있다.

이때는 클릭을 한 위치에서 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:

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Unity Pro:

 

Unity Pro

The complete solutions for professionals to create and operate.

unity.com

 

Unity 프리미엄 학습:

 

Unity Learn

Advance your Unity skills with live sessions and over 750 hours of on-demand learning content designed for creators at every skill level.

unity.com

반응형

댓글