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
    将点从屏幕坐标系转换到世界坐标系中。
最后修改:2020 年 11 月 30 日
如果觉得我的文章对你有用,请随意赞赏