World Space
世界(全局)坐标系:整个场景的固定坐标。
作用:在游戏场景中表示每个游戏对象的位置和方向。
x轴右,z轴前,y轴上
Local Space
物体(局部)坐标系:每个物体独立的坐标系,原点为模型轴心点,随物体移动或旋转而改变。
作用:表示物体间相对位置与方向。
子物体的坐标就是相对于父物体的Local Space
Screen Space
屏幕坐标系:以像素为单位,屏幕左下角为原(0,0)点,右上角为屏幕宽、高度(Screen.width,Screen.height),Z为到相机的距离(要保留,因为坐标系经常转换)。
作用:表示物体在屏幕中的位置。
Viewport Space
视口(摄像机)坐标系:屏幕左下角为原(0,0)点,右上角为
(1,1),Z为到相机的距离。
作用:表示物体在摄像机中的位置。
视口坐标系表示比例,不考虑像素
坐标系转换
Local Space–> World Space
- transform.forward
在世界坐标系中表示物体正前方。 - transform.right
在世界坐标系中表示物体正右方。 - transform.up
在世界坐标系中表示物体正上方。 - transform.TransformPoint
转换点,受变换组件位置、旋转和缩放影响。 - transform.TransformDirection
转换方向,受变换组件旋转影响。 - transform.TransformVector
转换向量,受变换组件旋转和缩放影响。
World Space–> Local Space
- transform.InverseTransformPoint
转换点,受变换组件位置、旋转和缩放影响。 - transform.InverseTransformDirection
转换方向,受变换组件旋转影响。 - transform.InverseTransformVector
转换向量,受变换组件旋转和缩放影响。
World Space <–> Screen Space
- Camera.main.WorldToScreenPoint
将点从世界坐标系转换到屏幕坐标系中 - Camera.main.ScreenToWorldPoint
将点从屏幕坐标系转换到世界坐标系中
World Space <–> Viewport Space
- Camera.main.WorldToViewportPoint
将点从世界坐标系转换到视口坐标系中 - Camera.main.ViewportToWorldPoint
将点从屏幕坐标系转换到世界坐标系中