1. 定义
通过指定与三个旋转轴相关联的三个角度,可以在三维空间中最小化地表示任意方向。
笔者理解:依次绕xyz的3个轴旋转3次后的3个值用来表示物体的方向。
绕原坐标z轴(蓝色)旋转unity 物体绕自身旋转,旋转一圈后x轴(绿色)材质材料,旋转两圈后z轴(红色)游戏图片,得到的红色坐标系代表目标方向。
1.1 数学计算
新生成的坐标系(XYZ)与原始坐标系(xyz)的矩阵相乘。
2. 有 3 个欧拉角:俯仰角、偏航角和滚动角
2.1 俯仰角 pitch
y 值等于 sin θ
方向.y = sin(glm::radians(pitch)); // 请注意unity 物体绕自身旋转,我们首先将角度转换为弧度
方向.x = cos(glm::radians(pitch));
方向.z = cos(glm::radians(pitch));
2.2偏航角偏航
方向.x = cos(glm::radians(pitch)) * cos(glm::radians(yaw)); // 注解:direction表示相机的前轴(Front),与本文第一张图相同,第二个相机的方向向量是相反的
方向.y = sin(glm::radians(pitch));
方向.z = cos(glm::radians(pitch)) * sin(glm::radians(yaw));