Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vector 获取两个参与者之间的偏航角-虚幻蓝图_Vector_Virtual Reality_Angle_Unreal Engine4_Unreal Blueprint - Fatal编程技术网

Vector 获取两个参与者之间的偏航角-虚幻蓝图

Vector 获取两个参与者之间的偏航角-虚幻蓝图,vector,virtual-reality,angle,unreal-engine4,unreal-blueprint,Vector,Virtual Reality,Angle,Unreal Engine4,Unreal Blueprint,我正在使用蓝图在虚幻引擎4中制作一个虚拟现实游戏 我想计算用户转动枪(其方向通过运动控制器的位置确定)以指向目标所需的(偏航)角度 我想这可能是解决问题的方法: 从枪的位置减去目标的位置 将其偏航分量作为从枪指向原点的矢量 从偏航分量中减去枪方向的当前偏航,以获得用户到达目标所需的偏航角 但我不太确定如何执行。我一直在尝试(如下面的屏幕截图所示),但没有做正确的操作。有什么想法吗 谢谢 一个更优雅、更稳健的解决方案是使用gun actor的世界变换来计算与对象的相对旋转: 让枪改变世界。旋转

我正在使用蓝图在虚幻引擎4中制作一个虚拟现实游戏

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

我想这可能是解决问题的方法:

  • 从枪的位置减去目标的位置
  • 将其偏航分量作为从枪指向原点的矢量
  • 从偏航分量中减去枪方向的当前偏航,以获得用户到达目标所需的偏航角
但我不太确定如何执行。我一直在尝试(如下面的屏幕截图所示),但没有做正确的操作。有什么想法吗

谢谢


一个更优雅、更稳健的解决方案是使用gun actor的世界变换来计算与对象的相对旋转:

  • 让枪改变世界。旋转应指向正向矢量方向。您可以使用其位置和前向向量进行变换,但组件变换可能会起作用
  • 使用此变换上的操作,将目标位置作为其他参数。这将创建一个向量,该向量是目标在枪空间中的位置
  • 使用该操作获取此向量的旋转
    该旋转器包含正确的偏航和俯仰。当你的物体在空间中任意旋转,或者你的物体成为更多演员的孩子时,它也会起作用。

    做减法
    目标位置-火器位置
    ,然后正常化。找到该标准化值的偏航以创建目标方向的偏航,然后,找到火器前向向量的偏航。然后,再次减去
    目标方向偏航-火器前向矢量偏航
    ,从火器前向目标方向产生
    偏航增量
    ,这是一个很好的答案。我没有考虑反向转换位置。和之间是否存在有意义的区别?我无法通过浏览文档找到前者,只能搜索它。谢谢-这确实非常优雅,效果很好@老实说,RotationFromXVector只是在内部调用Vector.Rotation()。MakeRotFromX使用旋转矩阵,更加精细。我看不出这在蓝图中有什么用处,所以我猜他们主要是为了完整性才暴露出来的。