Unity坐标系
World Space
- 世界(全局)坐标系:整个场景的固定坐标。
- 作用:在游戏场景中表示每个游戏对象的位置和方向。
Local Space
- 物体(局部)坐标系:每个物体独立的坐标系,原点为模型轴心点,随着物体移动或旋转而改变。
- 作用:表示物体间相对位置与方向。
Screen Space
- 屏幕坐标系:以像素为单位,屏幕左下角为原(0,0)点,右上角为屏幕宽高(Screen.width,Screen.height),Z为到相机的距离。
- 作用:表示物体在屏幕中的位置。
Viewport Space
- 视口(摄像机)坐标系:屏幕左下角为原(0,0)点,右上角为(1,1),Z表示到摄像机的距离。
- 作用:表示物体在摄像机中的位置及先后遮挡顺序。
坐标系转换
LocalSpace --> WorldSpace
- transform.forward在世界坐标系中表示物体正前方。
- transform.right在世界坐标系中表示物体正右方。
- transform.up在世界坐标中表示物体正上方。
- transform.TransformPoint
转换点,受变换组件位置,旋转和缩放影响。 - transform.TransformDirection
转换方向,受变换组件旋转影响。 - transform.TransformVector
转换向量,受变换组件旋转和缩放影响。
WorldSpace --> LocalSpace
- transform.InverseTransformPoint
转换点,受变换组件位置,旋转和缩放影响。 - transform.InverseTransformDirection
转换方向,受变换组件旋转影响。 - transform.InverseTransformVector
转换向量,受变换组件旋转和缩放影响。
WorldSpace <--> ScreenSpace
- Camera.main.WorldToScreenPoint
将点从世界坐标系转换到屏幕坐标系中。 - Camera.main.ScreenToWorldPoint
将点从屏幕坐标系转换到世界坐标系中。
WorldSpace <--> ViewportSpace
- Camera.main.WorldToViewportPoint
将点从世界坐标系转换到视口坐标系中。 - Camera.main.ViewportToWorldPoint
将点从屏幕坐标系转换到世界坐标系中。