虚幻引擎4 之 VR 模板指导说明

2016年09月27日 17:51 0 点赞 0 评论 更新于 2025-11-21 20:31
虚幻引擎4 之 VR 模板指导说明

虚幻引擎4.13引入了完全使用蓝图制作的VR模板,该模板进一步简化了UE4在VR领域的快速上手流程。本文将详细介绍如何利用此模板创建VR项目,并分享一些实用技巧。

一、模板支持平台

VR模板仅适用于台式机和主机平台。它支持Oculus Rift、HTC Vive和PlayStation VR。官方虽不支持其他平台(如Gear VR),但通过对项目设置进行一些调整(可查看Android/Gear VR Documentation),该模板也能在Gear VR上运行。

二、创建新项目

首先,通过Epic Games启动器下载Unreal Engine 4.13,然后使用Project Wizard创建一个新项目。在蓝图选项中,可找到“虚拟现实”选项。需要注意的是,4.13版本不提供C++版本的模板。与随引擎发布的传统模板不同,此模板包含两张地图,它们根据不同的硬件条件(是否使用动作控制器)对运动方式进行了区分,可在内容浏览器的VirtualRealityBP/Maps/文件夹下找到这两张地图,具体信息如下:

1. 手柄位移(头戴显示器HMD/Gamepad Teleportation)

  • 地图路径:VirtualRealityBP/Maps/HMDLocomotionMap
  • 操作方式:这是一种简单的传送动作,可使用手柄或键盘进行移动。点击并按住来固定位移目标,之后可以看向位移的新方向(这将更新neutral rotation),也可使用摇杆设定一个新的neutral rotation。

2. 体感控制器传送(Motion Controller Teleportation)

  • 地图路径:VirtualRealityBP/Maps/MotionControllerMap
  • 操作方式:这种位移方式需要使用动作控制器。指向目标方向,然后按下拇指控制钮(如Vive上的Touchpad)即可开始移动。可使用触摸板的外部边缘部分设定一个新的neutral rotation。
  • 导航网格:这类运动使用了导航网格(NavMesh),该网格用于在位移过程中筛选可用的目标地点。详细信息可查看Blueprints migration部分,在视界编辑器中按“P”可显示NavMesh。

三、特殊功能设置

1. 交替旋转模式(Alternate Rotation Mode)

PlayStation移动控制器没有坐标轴输入,因此创建了交替旋转模式,方便在其他平台(如Vive)上使用。在除Ps4之外的其他平台上,可手动开启此功能,具体操作是在MotionControllerPawn蓝图上勾选UseControllerRollToRotate。

2. 房间追踪支持(Room - scale Support)

Room - scale在移动目标附近可视,图中的方形轮廓物体只有在Room - scale设置成功时才会渲染。空间尺寸可使用动作控制器上的拇指控制钮进行旋转,也可使用上述交替旋转模式进行旋转。

四、物品交互

1. 物品抓取(Object Grabbing)

使用触发按钮可以抓住并移动桌子上的模拟盒子。当靠近可抓取物体时,控制器会晃动,“手”会变成不同的姿势。手与物体的碰撞(如击打箱子)只有在触发器被按下(手看上去像一个拳头)时才会生效。

2. 添加可抓物品(Adding your own objects to grab)

若要添加新的可抓取物体,需要在想要添加可用VR手抓取物品的蓝图中实现蓝图接口(位置:VirtualRealityBP/Blueprints/PickupActorInterface)。相关文档介绍了如何实现该蓝图接口。

五、项目优化

1. VR优化项目(Project Optimized for VR)

模板中包含了许多VR渲染优化设置。更多关于VR项目的优化内容,可查看VR Guide for UE4(详细查看the Performance Considerations选项)。在Rendering&Performance Settings中,解释了如何将这些优化设置应用到自己的项目中。

2. 动态阴影(Dynamic Shadows)

模拟的立方体(蓝色)会投射并接收(动态)阴影,这是一个比较耗费资源的特性。可通过开启可移动Actor上的“Single Sample Shadow from Stationary Lights”来减少资源浪费,该功能可在一定品质下降低动态物体阴影接收的资源消耗。虽然它并非适用于所有情况,但为了潜在提升动态物体的表现,值得尝试。

六、项目启动与设置检查

1. 开始项目(Get Started)

打开4.13引擎版本,创建一个新项目,在蓝图选项中选择“虚拟现实”。关于如何开始,推荐阅读UE4 VR指引。

2. 检查模板输入绑定设置

可通过打开Edit > Project Settings…,然后查看Input选项来检查模板输入绑定设置。以下是具体的输入绑定信息:

  • 游戏手柄映射
  • 手柄底部向前按钮(Xbox控制器上的A)或者Enter键 = 初始化移动
  • 手柄左摇杆 = 移动过程中改变方向
  • 动作控制器输入绑定
  • 触摸板按压 = 初始化移动
  • 触摸板轴线 = 移动过程中改变方向
  • 触发器 = 抓住物体

七、项目迁移

1. REEL Pictures的介绍流程(Walkthrough by REEL Pictures)

REEL Pictures的VR模板使用流程介绍了一些有用的动作控制层特性,值得参考。

2. 转移到自己的项目(Migration to your own project)

蓝图迁移

使用UE4内置的内容转移(Migrate Content)功能,可轻松将内容及其相关性转移到自己的项目中。右键单击想在项目中使用的移动类型的Pawn蓝图,选择Asset Actions > Migrate。基于动作的动作控制器需要一个导航物体来过滤可用移动目标,若想用自己的过滤器覆盖导航物体,可查看BP_MotionController蓝图的TraceTeleportDestination函数。

渲染和性能设置迁移

若想从模板中转移显示设置,可查看模板文件夹中的/Config/文件夹。尤其要注意整个DefaultScalability.ini文件和DefaultEngine.ini的[/Script/Engine.RendererSettings]部分,其中包含了VR项目实用的调整大小信息。

关于VR模板的指引就介绍到这里,祝您在VR开发之旅中取得成功!

作者信息

孟子菇凉

孟子菇凉

共发布了 3994 篇文章