스파르타 게임개발종합반(Unity)/사전캠프 공부 기록

[Unity] 스크린상의 마우스 좌표를 카메라가 찍고 있는 월드 좌표로 바꾸기 - ScreenToWorldPoint, Input, Input.mousePosition

테크러너 2024. 3. 29.

'스크린 화면상에 떠돌아다니는 마우스의 위치와 메인 카메라가 찍고 있는 게임 월드상의 위치를 같게 해준다'를 코드로 구현해보겠습니다.

그렇다면 화면상의 마우스 위치를 월드 좌표계 위치로 바꿔주면 되겠죠?

 

화면상의 마우스 위치는 메인 카메라가 찍고 있는 화면이니까 코드로 카메라에 접근합니다.

    void Update()
    {
        // 스크린상의 마우스 좌표를 카메라가 찍고 있는 월드 좌표로 바꾸기
        // ScreenToWorldPoint() : 스크린의 위치를 게임월드상의 위치로 바꿔주는 함수
        Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        // 마우스 위치를 쉴드 위치에 넣기
        transform.position = mousePos;
    }

 

여기에서 'ScreenToWorldPoint()' 는 스크린의 위치를 게임월드상의 위치로 바꿔주는 함수입니다.

괄호 안에는 바꿔줄 위치를 적어주면 됩니다. 마우스의 위치를 넣어주면 되겠죠?

마우스의 위치는 Input.mousePosition에 담겨있습니다. 마우스 외의 입력장치들도 Input 키워드로 접근할 수 있습니다.

 

 

해당 스크립트를 오브젝트에 부착하면!

 

 

반응형

댓글