zl程序教程

您现在的位置是:首页 >  Java

当前栏目

[学习笔记]unity3d-坐标系统

2023-02-18 16:42:43 时间

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 将点从屏幕坐标系转换到世界坐标系中。