3D坐标系是3D游戏开发中的基础知识。笛卡尔坐标是3D游戏引擎常见的坐标表示方法。
什么是笛卡尔坐标系呢这个不做过多的解释。笛卡尔坐标系分为左手坐标系和右手坐标系。而Unity中应用的左手坐标系,X轴表示水平方向,Y轴表示垂直方向,Z轴表示深度。
1.全局坐标系是描述整个场景中物体的位置和方向的基准,也叫做世界坐标系。
2.局部坐标系简单来说是相对坐标,一个物体挂在另一个物体上,成为一个这个物体的子物体,那么子物体的坐标是以父物体为坐标原点(0,0,0)。
3.相机坐标是根据相机观察位置和方向建立的坐标系,Unity相机的观察坐标系是右手坐标系。
4.屏幕坐标系是建立在二维坐标系,用来描述像素在屏幕上的位置。
Unity中常用的坐标转换API:
1.Transform组件的Transform.TransformPoint 可以将坐标点从局部坐标系转成全局坐标系(世界坐标系)。
2.Transform组件的Transform.InverseTransformPoint可以将点从全局坐标系转成局部坐标系。
3.Transform.TransformDirection和Transform.TransformInverseDirection 则对向量在局部坐标系和全局坐标系之间进行转换。