2020. 6. 1. 18:38ㆍUNITY/공부
obj = Camera.main.WorldToScreenPoint(transform.position);
Vector3 mouseposition = new Vector3(Input.mousePosition.x,Input.mousePosition.y, obj.z);
Vector3 objPosition = Camera.main.ScreenToWorldPoint(mouseposition);
transform.position = objPosition;
이번엔 마우스로 오브젝트를 움직이는 것을 해보겠습니다
우선 스크립트 하나 추가해주시고요
스크립트에 대해 설명해드리겠습니다.
obj = Camera.main.WorldToScreenPoint(transform.position);
WorldToScreenPoint 라는 것은 월드 좌표에 있는 점을 로컬좌표(스크린좌표)로 바꿔주겠다는 의미입니다.
즉 유니티 공간 어딘가에 오브젝트가 가지고 있는 고유의 좌표를 사용자가 보는 화면에서의 좌표로 바꿔준다는 겁니다.
Vector3 mouseposition = new Vector3(Input.mousePosition.x,Input.mousePosition.y, obj.z);
mouseposition에 클릭한 마우스의 x, y 좌표를 입력받고 z좌표는 원래 가지고 있던 좌표를 그대로 사용합니다.
즉, z좌표(카메라와의 거리)는 고정이라는 의미입니다.
Vector3 objPosition = Camera.main.ScreenToWorldPoint(mouseposition);
objPosition에 위에서 받은 mouseposition좌표 유니티 세계 내의 월드 좌표로 바꾸어준다는 말입니다.
transform.position = objPosition;
이제 위치를 저장해줍니다
이제 원하는 오브젝트에 스크립트를 추가하면 끝
쉽죠?
'UNITY > 공부' 카테고리의 다른 글
[Unity] GetButton, GetButtonDown, GetButtonUp (0) | 2021.06.22 |
---|---|
[Unity]개발#6 미니맵 만들기, 맵 이탈시 쓰러지는 애니메이션, 도착지 인식 (0) | 2021.05.25 |
[Unity]카메라가 오브젝트 따라가기, Lateupdate, 카메라이동, 유니티 (0) | 2020.06.01 |
[Unity]키보드로 조작, 오브젝트 키보드로 움직이기,이동 (0) | 2020.05.31 |
[Unity]유니티tool, 기본조작, 기본틀 , 유니티 처음하는 분 (0) | 2020.05.31 |