(虚幻4.8.1)当围绕一定距离的点旋转时,如何计算玩家控制器的x y和z

时间:2015-07-01 16:17:12

标签: math rotation position unreal-engine4 unreal-blueprint

我的界面上有4个箭头。一个箭头指向一个方向:向上,向下,向左,向右。当你选择一个箭头时,我希望玩家控制器在朝向该点的同时绕一个点旋转。我有点迷失在变换,矢量和旋转器(俯仰,偏航,滚动)的逻辑中。任何人都可以帮我解决这个逻辑问题吗?我正在蓝图工作。

1 个答案:

答案 0 :(得分:0)

当您以非交换的方式混合变换时,最好在每次需要时重复计算。

需要5个阶段,一个距离和两个角度。 一张图片澄清:

enter image description here

  1. 将您的播放器沿+ ve Z方向平移你希望它远离该点的距离
  2. 使其面向-ve Z方向(0,0,-1)
  3. 围绕x轴旋转θ(沿着轴向下看,顺时针方向) - 矩阵P
  4. 围绕z轴旋转φ(同样) - 矩阵Q
  5. 通过从原点到点的位移(因此,表示为其位置向量的点)来翻译它 - 矩阵T
  6. P和Q所需的矩阵:https://en.wikipedia.org/wiki/Rotation_matrix#Basic_rotations

    我假设你知道翻译矩阵:)

    跟踪每个角度并在按下箭头键时更改它们。您需要的最终矩阵是TPQ(按此顺序相乘);每次需要时重新计算 - 不用担心所需的处理能力。