我的界面上有 4 个箭头。一个箭头指向一个方向:上、下、左、右。当您选择箭头时,我希望播放器控制器在面向该点的同时围绕该点旋转。我有点迷失在变换、矢量和旋转器(俯仰、偏航、滚动)的逻辑中。谁能帮我解决这个逻辑问题?我正在设计蓝图。
问问题
191 次
1 回答
0
当您以非交换方式混合转换时,最好在每次需要时重复计算。
需要5个阶段,一个距离和两个角度。一张图澄清一下:
- 将您的播放器在 +ve Z 方向上平移您希望它远离该点的距离
- 使其面向 -ve Z 方向 (0, 0, -1)
- 将其绕 x 轴旋转 θ(当您向下看轴时按顺时针方向旋转) - 矩阵 P
- 绕 z 轴旋转 φ(同样) - 矩阵 Q
- 通过从原点到点的位移来平移它(因此,点表示为其位置向量) - 矩阵 T
P 和 Q 所需的矩阵:https ://en.wikipedia.org/wiki/Rotation_matrix#Basic_rotations
我假设你知道翻译矩阵:)
跟踪每个角度并在按下箭头键时更改它们。此外,您需要的最终矩阵是 TPQ(按此顺序相乘);每次需要时重新计算 - 不必担心所需的处理能力。
于 2015-07-01T22:32:48.507 回答