[Unity] 좌표계와 함수

< 유니티의 좌표계 >

 

1. Local Point : 게임 오브젝트 기준 시점의 좌표

2. World Point : 실제 게임오브젝트의 transform.position 값

3. Viewport Point : 카메라 내에서 오브젝트가 위치하고 있는 비율(0~1, 0~1)

왼쪽아래 : (0,0) 오른쪽 아래: (1,0) 왼쪽 위 : (0,1) 오른쪽 위 : (1,1)

4. Screen Point : 카메라 내에서 오브젝트의 위치를 해상도 기준으로 좌표를 매긴 값

1920x1080 해상도라면 (0~1920, 0~1080) (pixel 좌표)

 

Local <-> World <-> Viewport <-> Screen

 

유니티에서 마우스의 좌표는 Input.mousePosition으로 가져올 수 있다.(다만 z성분은 얻을 수 없다.)(z는 카메라와의 거리)

하지만 이 좌표는 screen 좌표이기 때문에 ScreenToWorldPoint()함수를 통해 World좌표로 변환할 수 있다.

 

 

< 관련 함수 >

 

* Camera.main.ScreenToWorldPoint()

=> Screen 좌표 -> World 좌표 변환

변환된 World 좌표는 z값이 -10f가 되므로 z값을 0f로 바꿔주는 처리가 필요하다. 왜???

 

* Camera.main.ScreenToViewportPoint(Input.mousePosition)

=> Screen 좌표 -> Viewport 좌표 변환

 

* Camera.main.ScreenPointToRay(Input.mousePosition)

=> Screen 좌표 -> ray

카메라에서 스크린으로 향하는 ray

 

* 월드 위치 벡터 = transform.TransformPoint(로컬 위치 벡터)

=> 로컬 좌표 -> 월드 좌표 변환

 

* 로컬 좌표 벡터 = transform.InverseTransformPoint(월드 좌표 벡터)

=> 월드 좌표 -> 로컬 좌표 변환


< 참고자료 >

 

https://luv-n-interest.tistory.com/828

 

마우스 입력 받아서 이용하는 4가지 방법[Unity]

마우스는 스크린에 있지만 이용하려면 WorldSpace로 변환하던가.. 무엇인가 해야하는 상황이 있다. 마우스 입력을 받아서 이용하는 방법에 대해 알아보자. 0 번째 방법 Input.mousePosition 얘는 그냥 Scre

luv-n-interest.tistory.com

 

https://onecoke.tistory.com/entry/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EC%A2%8C%ED%91%9C%EA%B3%84

 

유니티 :: 좌표계

유니티의 좌표계는 아래와 같이 3가지가 있다. 1. World Point : 실제 gameObject의 transform.position 값 2. Viewport Point : 카메라 내에서 오브젝트가 위치하고 있는 비율 ( 따라서 값이 0~1 사이의 값으로 나타

onecoke.tistory.com

 

https://zagara.tistory.com/19

 

[Unity][기초] 'Transform어쩌고' 좌표변환

Transform의 멤버함수 중에는 TransformDirection / TransformPoint / TransformVector 시리즈가 있다. 어느날 우연히 봤는데 궁금해서 정리했다. 1. public Vector3 TransformDirection(Vector3 direction); 로컬공간에서 월드공간

zagara.tistory.com

 

https://smilejsu.tistory.com/1995

 

TransformDirection, InverseTransformDirection, TransformPoint, InverseTransformPoint

TransformDirection(로컬벡터) c의 월드 방향 벡터 -> model의 로컬 방향 벡터 -> 월드 방향 벡터로 변환 InverseTransformDirection(월드벡터) c의 월드 방향벡터 -> model의 로컬 방향 벡터 TransformPoint(로컬 위치 벡

smilejsu.tistory.com