获取两个演员之间的偏航角 - Unreal Blueprints
Getting yaw angle between two actors - Unreal Blueprints
我正在 Unreal Engine 4 使用蓝图开发 VR 游戏。
我想计算用户需要转动 his/her 枪(其方向通过运动控制器的位置确定)以指向目标的(偏航)角度。
我认为这可能是解决问题的方法:
- 用枪的位置减去目标的位置
- 获取它的偏航分量作为从枪指向原点的向量
- 从该偏航分量中减去枪支方向的当前偏航以获得用户为到达目标需要转动的偏航角
除了我不太确定如何执行它。我一直在试验(如下面的屏幕截图所示),但没有进行正确的操作。有什么想法吗?
谢谢!
一个更优雅和稳健的解决方案是使用枪支角色的世界变换来计算相对于 object:
的旋转
- 获取枪的世界变换。旋转应指向正向矢量方向。您可以使用其位置和前向向量进行转换,但组件转换可能会起作用。
- 在此变换上使用操作 InverseTransformLocation,目标位置作为其他参数。这将创建一个向量,该向量是目标在枪的 space
中的位置
- 通过RotationFromXVector操作得到这个向量的旋转。
这个旋转器包含正确的偏航和俯仰。当你的 object 在 space 中任意轮换,或者你的 object 变成更多演员的 children 时,它也会起作用。
我是这样做的:
'Find look at rotation' 是来自 'Kismet Math Library'(虚幻数学库)的函数。它发现 world rotation 开始位置的对象指向目标位置。
我正在 Unreal Engine 4 使用蓝图开发 VR 游戏。
我想计算用户需要转动 his/her 枪(其方向通过运动控制器的位置确定)以指向目标的(偏航)角度。
我认为这可能是解决问题的方法:
- 用枪的位置减去目标的位置
- 获取它的偏航分量作为从枪指向原点的向量
- 从该偏航分量中减去枪支方向的当前偏航以获得用户为到达目标需要转动的偏航角
除了我不太确定如何执行它。我一直在试验(如下面的屏幕截图所示),但没有进行正确的操作。有什么想法吗?
谢谢!
一个更优雅和稳健的解决方案是使用枪支角色的世界变换来计算相对于 object:
的旋转- 获取枪的世界变换。旋转应指向正向矢量方向。您可以使用其位置和前向向量进行转换,但组件转换可能会起作用。
- 在此变换上使用操作 InverseTransformLocation,目标位置作为其他参数。这将创建一个向量,该向量是目标在枪的 space 中的位置
- 通过RotationFromXVector操作得到这个向量的旋转。
这个旋转器包含正确的偏航和俯仰。当你的 object 在 space 中任意轮换,或者你的 object 变成更多演员的 children 时,它也会起作用。
我是这样做的:
'Find look at rotation' 是来自 'Kismet Math Library'(虚幻数学库)的函数。它发现 world rotation 开始位置的对象指向目标位置。