【译】虚幻引擎4的VR开发模板指南

发表于2016-12-12
评论0 1.5k浏览

【译】虚幻引擎4VR开发模板指南

虚幻引擎4.13版本介绍了完全在蓝图中制作虚拟现实模板的方法。这个模板进一步简化了在UE4中使用VR在这个教程中,我将通过VR模板的特点和几个技巧来介绍如何在此模板之上来建立属于你自己的VR项目。

VR模板只在台式机和主机平台上使用。它支持Oculus RiftHTC VivePlayStation VR其他平台不受官方支持如GearVR,但对项目设置进行一些更改(可以根据Android / GearVR文档进行),你可以将此VR模板在你的GearVR设备上运行。

 

首先,需通过Epic Games启动程序下载虚幻引擎4.13版本,然后使用项目向导创建一个新项目。在蓝图项目选项中你可以看见被列为“虚拟现实”的选项。在虚幻引擎4.13版本时,模板没有C ++版本。

与游戏引擎自带的传统模板不同,该模板包含两个地图!这可以将硬件功能不同类型的运动做了很好的区分(例如,有或没有运动控制器),你可以在内容浏览器VirtualRealityBP / Maps /中找到这两个地图测试用的场景。每个实现的差异和特征在下面详细描述。

 

头戴显示器/ 游戏手柄位移

Map: VirtualRealityBP/Maps/HMDLocomotionMap

一个简单的远程移动运动,你可以使用游戏手柄或键盘来启动移动。按住以固定你的传送目的地,你现在可以看着你的传送端的新方向(这将更新你的中立旋转)或使用游戏手柄上的摇杆设置你的角色使用新的中立旋转。

体感控制器传送

Map:VirtualRealityBP/Maps/MotionControllerMap

这种类型的传送需要一个动作控制器。 指向方向并按下拇指控制开始移动(例如Vive上的触摸板)。 你可以使用触摸板的外边缘设置新的中性旋转。

这种类型的运动利用导航网格。 导航网格用于在传送时过滤有效的目的地。 有关详细信息,请查看Blueprintsmigration 部分。 (视界编辑器中按”P” 可以显示导航网格)

交替旋转模式

PlayStation 移动控制器没有轴输入,因此我建立了一个交替旋转模式,你可以选择使用其他平台,如Vive。在MotionControllerPawn 蓝图上勾选UseControllerRollToRotate,可以在除了Ps4的其他平台上手动开启这项功能

房间追踪支持

房间追踪在移动目标周围可视化。 只有在Vive上成功运行Room-Scale设置时,才会渲染方形轮廓网格。 可以使用动作控制器上的拇指控按钮或通过使用上述交替旋转模式来实现房间追踪的旋转。

 

对象抓取

使用触发控件,你可以抓取并移动桌面上的模拟盒子。 当靠近可抓取的对象时,控制器会摇动,手网格会呈现不同的姿势。

可有趣的是,知道在手与物体进行了碰撞(例如,拳击盒)仅在按下触发器时才有效(手看起来像拳头)

添加自己的对象来抓取

要添加新类型的对象,您需要在自己的蓝图上实现Blueprint Interface接口(位于VirtualRealityBP/ Blueprints / PickupActorInterface),你希望通过VR手抓取它们。 这里是有关于如何实现蓝图接口的文档implement blueprint interfaces.

 

VR项目的优化

该模板自带了一些针对VR的渲染优化。 有关优化你当前的VR项目的更多信息,请查看 VR Guide for UE4(特别是Performance Considerations 部分)在Rendering & Performance Settings中,我将介绍如何将这些项目迁移到您自己的项目。

 

动态阴影

模拟立方体(蓝色)投射和接收(动态)阴影,这是一个很费资源的特性。 然而,通过开启可移动Actor上的“Single Sample Shadow from StationaryLights”可以将该成本减半。 这个特性让动态对象上的阴影接收质量降低使得性能效率提升。 它不适用于所有场景,但值得为你的动态对象设置,以获得潜在的巨大的性能提升。

 

开始

下载引擎版本4.13或从Epic Games游戏启动器下载。 创建一个新项目,并在蓝图选项中选择“虚拟现实”。 有关入门的其他帮助,我建议阅读VR Guide for Unreal Engine 4

检查模板输入映射,你可以简单地打开编辑>项目设置...并浏览到目录类别输入。 这些都是相当清晰的,自己看就能明白。

 

游戏手柄映射

游戏手柄底部向前按钮(例如Xbox控制器上的A)或Enter = 初始化移动

游戏手柄左摇杆 = 在移动时更改方向

动作控制器映射

按压触摸板 = 初始化移动

触摸板轴线 =在移动时更改方向

触发器 =抓取对象

 

REEL Pictures流程介绍

我非常喜欢REEL PicturesVR模板使用。 它指导你了解动作控制层可用的功能特性。

转到您自己的项目

许多人可能希望将一些模板功能集成到你自己的现有项目中。 我列出了一些潜在的问题和最重要的文件转移。

 

蓝图

使用UE4的内置的内容转移功能,你可以轻松地将内容和依赖项移动到您自己的项目中。 你可以右键单击要在自己的项目中使用移动类型的Pawn蓝图,然后选择“资产操作”>“转移”。

基于动作控制器的移动需要 NavigationMesh来过滤有效的移动目标。 要使用你自己的过滤来替换此行为非常容易,您应该首先查看BP_MotionController 蓝图的TraceTeleportDestination函数。


渲染和性能设置

要从模板转移性能设置,请选中模板文件夹的/ Config /文件夹。 特别是整个DefaultScalability.ini文件和DefaultEngine.ini[/Script/Engine.RendererSettings]部分包含了你的VR项目实用的调整大小的信息。

 这是所有的VR模板指南内容,祝你VR之旅愉快。

翻译自:

已获得作者翻译授权

 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论