您现在的位置是:首页 >学无止境 >Unity 坐标系网站首页学无止境

Unity 坐标系

七七喝椰奶 2024-06-17 10:13:16
简介Unity 坐标系

一、左手坐标系与右手坐标系

常见的三维软件都采用笛卡尔坐标系,也就是常见的xyz轴坐标系。笛卡尔坐标系可以是左手坐标系也可以是右手坐标系,如下图所示678573c344804cfc972b6c07bb03eafe.png

 两种坐标系是镜像对称的。而Unity采用左手系,且xyz轴的默认方向与图中的左手系完全一样,分别对应右、上、前。

总结如下:

  • x:右,(1,0,0),红,Vector3.right
  • y:上,(0,1,0),绿,Vector3.up
  • z:前,(0,0,1),蓝,Vector3.forward

二、世界坐标系与局部坐标系

这两个的区别就在于参照系不同,就像高中物理中的相对位置一样。

世界坐标系是以场景本身为坐标来确认的,局部坐标系是以该物体的父物体为坐标系来确认的。更深一层次讲,编辑器面板上的坐标数值,全都可以理解为局部坐标系的数值。对于第一级物体来说,其父节点就是场景本身,所以其局部坐标系=世界坐标系

下面介绍一些例子:

Vector3 worldpos=transform.position;//获取世界坐标

Vector3 localPos=transform.localPosition;//获取局部坐标

 //旋转

Quaternion worldRotation=transform.rotation;

Quaternion localRotation=transform.localRotation;

 //在父物体局部坐标系下的缩放。无法直接获得世界坐标的缩放

Vector3 localScale=transform.localScale;

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。