반응형
3D 카메라 (perpendicular projection) 에서 ScreenToWorldPoint() 함수는 Vector3를 인자로 받는데,
Vector3의 x,y값은 스크린 좌표이고, z값은 카메라로부터의 거리를 나타낸다.
만약 z값이 0이라고 한다면 카메라로부터의 거리가 0이므로 카메라의 위치를 나타내게 된다.
카메라로부터의 거리를 나타내는 카메라 object의 z값을 인자로 지정해주어야 제대로 동작한다.
예를 들어서 카메라의 위치가 (10, 2, -10) 이라고 한다면
camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10f));
위와 같은 코드를 작성해 주어야 한다.
Reference:
https://discussions.unity.com/t/screentoworldpoint-not-working/53339
ScreenToWorldPoint() not working
Hi, I’m currently experimenting with ScreenToWorldPoint(), and something just doesn’t seem to be working right… Whenever I use this code: function Update() { Debug.Log(camera.ScreenToWorldPoint(Input.mousePosition)); } It just shows (0.0 ,125.0, 0.0)
discussions.unity.com
반응형
'개발메모 > Unity' 카테고리의 다른 글
URP(Universal Render Pipeline)에서 Post-processing 하는 법 (0) | 2024.01.22 |
---|---|
Cinemachine 범위 정하기 (0) | 2023.11.06 |
Unpack vs Unpack Completely (0) | 2023.09.13 |
OnTriggerEnter2D 함수가 동작하지 않는 이유 (0) | 2023.08.07 |
[Unity] 레이어가 레이어 마스크에 포함되어있는지 확인 하는 법 (0) | 2023.07.13 |