获取两个演员之间的偏航角-虚幻蓝图

时间:2019-06-25 07:39:15

标签: vector virtual-reality angle unreal-engine4 unreal-blueprint

我正在使用蓝图在虚幻引擎4中开发VR游戏。

我想计算用户转动枪支(通过运动控制器的位置确定方向)所需的(偏航)角,以便指向目标。

我认为这可能是实现此目的的方法:

  • 从枪支位置减去目标位置
  • 获取其偏航分量作为从枪支指向原点的向量
  • 从该偏航分量中减去当前枪支方向的偏航,以获得用户转向目标所需的偏航角

除了我不太确定如何执行该操作。我一直在进行实验(如下面的屏幕快照所示),但未进行正确的操作。有什么想法吗?

谢谢!

Unreal Engine 4 screenshot

1 个答案:

答案 0 :(得分:2)

更优雅,更强大的解决方案是使用枪手演员的世界变换来计算相对于对象的相对旋转:

  1. 获取枪支世界的变革。旋转应指向正向向量方向。您可以使用其位置和前向矢量进行变换,但是组件变换可能会起作用。
  2. 在此变换上使用操作InverseTransformLocation,并将目标位置作为其他参数。这将创建一个向量,该向量是目标在枪支空间中的位置
  3. 通过RotationFromXVector操作获取此向量的旋转。

此旋转器包含正确的偏航,但也包含俯仰。而且,当您的对象在空间中任意旋转时,或者您的对象成为更多演员的子对象时,它也将起作用。