VR 摄像机重构

自虚幻引擎 4.11 发布后,虚拟现实(VR)摄像机的工作方式与旧版本 UE4 之间存在一些差异。最大的变化是将摄像机设为物体的父项即可使物体跟随摄像机。这也意味着无需通过头戴显示器(HMD)转换偏移追踪物体。现在,附加到摄像机 Actor 的组件将保持其相对于摄像机的位置,便于将头盔、碰撞和其他基元添加到玩家。附加的可渲染组件现将接受低延迟渲染中使用的相同 late update 转变,使其与 HMD 运动完美同步。以下文档将说明这些变化将对过去更新内容以及未来 UE4 项目的影响。

UE 4.11 和更新版本中的 VR 摄像机设置

须注意:摄像机跟踪 HMD 时 Camera Manager 不再发出命令,一切均通过 Lock to HMD 选项直接在摄像机本身上设置。

如您使用 UE4 4.11 或更新版本新建 VR 项目,摄像机将默认设为与 HMD 同步。如需禁用此项,在 玩家蓝图 中选择 摄像机,然后在 Details 面板下的 Camera 部分取消勾选 Lock to HMD(下图中高亮部分)即可。

VR_Camera_Refactor_00.png

将旧版本 VR 摄像机更新到 4.11

如您需要将 UE4 项目从旧版本更新到 4.11 版本,需要执行几项操作,确保旧版本中的 VR 摄像机设置与 4.11 中的更新兼容。您需要基于摄像机的创建和设置方式进行以下修改,使 VR 摄像机正常工作。

基础摄像机组件

在基础摄像机组件中,摄像机变换是 HMD 偏移,玩家的头穿过场景需要一个“基础”。如移植到 4.11 后 VR 摄像机位于地面上,则需要插入一个新的场景变换设置摄像机基础的放置。详情如下图所示。

VR_Camera_Refactor_01.png

摄像机 Actor 组件

在摄像机 Actor 中,基础场景变换自动作为 actor 自身摄像机组件的一个父项插入,形成完整的转换链条。详情如下图所示。

VR_Camera_Refactor_02.png

如需获取玩家在世界场景中的位置,直接获取摄像机 Actor 的位置即可。

设置物体跟随 HUD

可通过以下步骤对 3D 模型、粒子效果或 UI 元素进行设置,使其跟随 HMD 的运动。

  1. 首先打开角色蓝图,然后导航至蓝图编辑器的 Viewport 标签。

    VR_Follow_HMD_Setup_00.png

  2. 之后点击 Component 标签中的 Add Component 选项,在搜索框中输入 Cube,然后点击显示的 方块 网格体将其作为组件添加。

    VR_Follow_HMD_Setup_01.png

  3. 添加方块静态网格体后,选中并将其拖到摄像机上,使摄像机成为网格体的父项。

    VR_Follow_HMD_Setup_02.png

  4. 编译蓝图,然后从 UE4 编辑器中使用 VR 预览选项运行项目。如以下视频所示,您戴上 HMD 并移动头部时,附加的方块将精确地跟随头部移动。

HMD 和玩家位置

新摄像机重构的另一个优点是可快速通过摄像机组件的位置获取摄像机/HMD 的世界位置。 下图为实际操作范例。

VR_Get_Player_Location_00.png

在上图中,用户在键盘上按下 T 键后,摄像机在世界场景中的 XYZ 轴位置将被输出到屏幕和日志窗口。