说说 Unity3D 里的各种坐标系
今天博主想和大家聊聊 中各种坐标系。自从 版本推出 后, 坐
标系的大家庭中便增加了 这个新成员,如果你不想被各种坐标系搞得晕头转
向的话,那么请随我一起来梳理下 中各种各样的坐标系!
一、 中有哪些坐标系?
坐标系这个概念最早是由法国数学家笛卡尔提出的,并由此创造了用代数方法来研究
几何图形的数学分支——解析几何。解析几何的基本思想是将几何图形抽象成点的运动轨
迹,从而点可以作为组成图形的基本元素,而描述一个点的位置首先需要建立合适的坐标
系。所以,首先我们来了解下 中都有哪些坐标系吧! 中的坐标系目前可以
分为以下四类:世界坐标、屏幕坐标、视图坐标和 坐标。下面我们来对这 类坐标进
行详细说明:
世界坐标
世界坐标按照笛卡尔坐标系定义出来的绝对坐标系,下面的各种坐标系都建立在世界坐标
的基础上。我们知道二维平面内任意一个点可以用二维坐标 来表示,如果将这个概念
延伸到三维空间内,那么三维空间内任意一个点都可以用三维坐标来表示。这就是世
界坐标的概念啦,坐标系通常可以分为左手坐标系和右手坐标系,而 采用的是左
手坐标系。在 中我们可以使用 ! 来获取场景中一个物体的世界坐
标,通常情况下编辑器中的 窗口是以世界坐标来描述一个 物体的位置的,除
非当一个 物体存在父物体的时候,它会以相对坐标来描述其位置。
屏幕坐标
屏 幕 坐 标 是 以 像 素 来 定 义 的 , 它 的 范 围 是 以 左 下 角 为 "" , 右 上 角 为
#$%#%&%定义的这样一个矩形。屏幕坐标是一个 坐标,' 轴是以相机
的世界 单位来衡 量的。屏 幕坐标和 相机之间 满足: #$%() *+% 和
#%&%() *,&% 这两个条件。例如我们将相机正对着场景中的原点"""
相机的 ' 轴分量为-.",按照屏幕坐标的定义,假设屏幕为 /""0" 的大小,则此时原点转
化为屏幕坐标后应该是""1"."。在 中我们可以使用 +*#2 来将一
个世界坐标转换为屏幕坐标。
视口坐标
视口坐标是标准化后的屏幕坐标。标准化的概念我们可以引申到向量的标准化中,比如一
个向量将过标准化后可以得到一个单位向量33。类似地,视口坐标是以 " 到 . 间的