UE4 怎样在VR模式下摄像机的正前方显示某个东西,譬如3DUI?

如题,说白了就是在VR模式下,随时随地的显示某个东西在视角特定距离的正前方位置。

名词解释:

HMD 指的是VR头盔设备


数学原理公式:A = B + C + C.r.f * V

公式解释:

A  最终3DUI显示在世界中的位置(FVector)

B  摄像机的位置(FVector)

HMD位置(FVector)

C.r.f  HMD(Vive头盔)的旋转的正前方分向量()

V   特定数值(用于放大前向量,用来控制3DUI和HMD视口的距离)

以上公式能够正确显示,说明了在VR模式下最终的视口空间中的物体位置是由摄像机和HMD二者叠加在一起的

代码示例:FVector Cur3DUIPos = myCamera->GetCameraLocation() + HMDCameraPos + HMDCameraRot.GetForwardVector() * 100;

说明: Player和摄像机始终是绑定在一起的,所以摄像机的位置也就是Player的位置(第一人称)。而在VR模式下,HMD的位置和旋转则是独立于摄像机的,戴着头盔在

场景中移动,Player的位置并没有发生改变,它还在原来的位置。改变的只是HMD在世界中的位置和旋转。

所以,不管Player是否发生位移,在计算HMD正前方东西的位置的时候,加上摄像机的位置向量,就永远是对的。



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部