其他分享
首页 > 其他分享> > Unity 之坐标系

Unity 之坐标系

作者:互联网

备注:希望和大家一起交流学习,如果有不同的观点欢迎一起讨论学习,不喜勿喷,谢谢。

坐标系

坐标系

2D 笛卡尔坐标系

这个没什么好说的,非常简单,就是简单的 X - Y 坐标,我们的屏幕坐标就是标准的 2D 坐标系,只是采用的不是 x-y 表示,而是使用 width - height 表示。
在这里插入图片描述
但是屏幕坐标系的方向不是一定的,比如 unity 屏幕坐标如下,使用左下角作为原点,有些地方会使用左上角作为原点。
在这里插入图片描述

3D坐标系

3D 坐标系根据 z 轴的方向不同,主要分为 “左手坐标系” 和 “右手坐标系”。

左手坐标系

伸出左手,大拇指指向右边(x轴正向),食指指向上边(y轴正向),中指指向你朝向的方向(z轴正向)。(手背朝自己)

在这里插入图片描述

比如,DirectX 采用左手坐标系,unity 采用左手坐标系传统的计算机图形学也采用左手坐标系 等,unity 如下:

在这里插入图片描述

右手坐标系

伸出右手,大拇指指向右边(x轴正向),食指指向上边(y轴正向),中指指向自己(z轴正向)。(手心朝自己)

在这里插入图片描述
比如:openGL 采用右手坐标系线性代数采用右手坐标系 等。

总结:

unity Vector

通过上面我们已经了解到 unity 是采用左手坐标系的,那么,代码中经常出现的 “Vector3.forward”,“Vector3.back”,“Vector3.down” 表示什么含义呢?
以下是unity Vector3 的部分源码,我们已经看到了,
Vector3.forward = (0,0,1)
Vector3.back =(0,0,-1)
Vector3.down = (0,-1,0)
在这里插入图片描述
“forward” 言外之意就是相对原点向前,因为 unity 采用 左手坐标系,所以向前就是Z轴正向所指方向,站在原点看,Vector3.forward 就是(0,0,1),相对于 “back” ,“down”, “left”, “right” 等都是同一个道理。

标签:指向,Vector3,unity,右手,Unity,左手,坐标系
来源: https://blog.csdn.net/angry_youth/article/details/117882543