您当前的位置:首页 VR开发 UE4 正文

基于虚幻引擎4的VR模板指南

查看: 1395| 评论: 6 2017-8-22 05:30 PM| 发布者: PeckBang |原作者: Tom Looman

    虚幻引擎4.13通过完全在蓝中制作的官方VR模板向我们阐释了自己的功能,而这个模板深度简化了怎样运用UE4去制作VR内容。在这份指南中,我将说说怎样运用UE4它的功能特色以及几个窍门超越模板去建立你自己的VR作品。

         本文涉及内容
  1. 头戴式显示器/手柄控制器
  2. 动作控制传送器
2.1 交替旋转模式
2.2 房间尺度支持
2.3 目标抓取
  3. 针对VR的项目优化
3.1 动态阴影
  4. 开始动手吧!
4.1让REEL Pictures带我们走一遍
  5. 迁移到你自己的项目
5.1 蓝图
5.2 渲染和效果设置

    VR模板仅针对于台式机和主机。完美支持Oculus RiftHTC VivePlayStation VR。其它平台如GearVR并没有获得官方支持,但如果在项目设置里做一些改动(参考AndroidGearVR文件)便也可以在你的GearVR设备上运行该模板。

    开始前的第一步,前往Epic Games启动器下载UE4.13,利用项目向导(Project Wizard)建立一个新项目。模板在蓝图选项框里的名字是“Virtual Reality”。现在4.13版本并没有此模板的c++版本。

    不像其它引擎随附的模板,UE 4.13的VR项目有两副地图!这是为了分别给因不同的可用硬件特点(如有动作控制器和没有的)而产生的不同运动模式服务的。你可以在内容浏览器的『VirtualRealityBP/Maps/』路径里找到它们。而实现效果的不同之处和特点在下方有详细说明。


1.传送方式:头戴式显示器/手柄

地图位置:VirtualRealityBP/Maps/HMDLocomotionMap

一种简单的运动传送方式,使用手柄或者键盘来移动。按住按钮确认你的传送目的地,接着你可以通过望向一个新方向(这将更新你的中立旋转方向),或者使用手柄上的摇杆去给你的人物设置一个新的中立旋转方向。


2.传送方式:运动控制器

地图位置:VirtualRealityBP/Maps/MotionControllerMap

这种传送方式需要一个运动控制器。面朝一个方向然后摁下摇杆(比如Vive上的触摸板)产生移动。你可以使用触摸板外缘设置一个新的中立旋转方向。

这种运动类型运用了一个导航网格。这个导航网格用于传送的时候过滤掉其它无效的目的地。更多信息在蓝图里的移动一节可以看到(按“P”键可以在编辑视角里看见导航网格)。


2.1 替补旋转模式

因为PlayStation移动控制器并没有轴输入,所以我建立了一个替补旋转模式,也可以有选择性地给其它平台使用,例如Vive。你可以在除PS4之外的其它设备上在蓝图『MotionControllerPawn』里设置UseControllerRollToRotate手动启用这个模式。


2.2 房间尺度支持

房间尺度可见于传送目标附近。在Vive上只有当房间尺度建立成功了正方形轮廓网才能渲染出来。房间尺度可以用运动控制器上的摇杆旋转,或者用上面提到的替补旋转模式也可以。

2.3 物品抓取

运用扳机控制键你可以抓住和移动放置在桌子上的模拟盒子。当在可抓取物品附近时挥动控制器可以变换虚拟出来的手部的姿势。


-- 创造属于你自己的可以抓取的物品 --

添加新物品类型时你需要在你的蓝图中使蓝图接口生效(位置在VirtualRealityBP/Blueprints/PickupActorInterface),这样你就可以制作可以用虚拟手部抓取的物品。关于如何使蓝图接口生效有文件说明。


3.针对VR的项目优化

关于VR,本模板已经得到了不少针对性优化。关于如何优化你现有的VR项目,可以查阅在「渲染和效果设置」中给UE4VR指南(效果注意事项章节),我详细解释了怎样把这些优化移植到你自己的项目上。

3.1 动态阴影

模拟方块(蓝色)投映和接收(动态)阴影,这经常是比较耗内存的一个点。不过,这个内存占用可以通过在你的可移动物体上开启“设置固定光源以及单样本阴影”功能来减掉一半。而这个功能可以使动态物品上接收到的阴影质量有所损失。它并不能运用于所有场景,但值得为了可能存在的更棒的表现效果而试一试。


4.如何开始

首先从Epic Games启动器下载虚幻引擎4.13。创建一个新项目并在蓝图种类里选择“Virtual Reality”。关于如何开始的更多信息推荐阅读我针对UE4写的VR指南。

而检查模板输入映射你可以打开“编辑>项目设置”,找到输入那一栏。在那里应该说得很清楚。

手柄映射:

手柄底部面板按钮(例如Xbox控制器上的A键)或者Enter键——Initiate teleport

手柄左拇指键——Change orientation during teleport

运动控制器映射

触摸板Press键——Initiate teleport

触摸板轴——Change orientation during teleport

扳机——Grab Object

4.2 让REEL Pictures带我们走一遍

我相当喜欢下面这个由REEL Picutres制作的视频,它用运动控制器指导你走完了所有可以用的功能。

如若无法观看视频请点击右边观看:虚幻引擎VR模板4.13总览


5.关于移植到你自己的项目

很多人可能想把模板的一些特色整合到自己的项目中,我列了一些关于整合过程的潜在注意事项和一些非常重要的文件。

5.1蓝图

利用UE4内置的『内容移动』功能你可以很轻松地把内容和依赖整合到你自己的项目中。你可以在想使用在自己的项目中的传送类型上右键Pawn蓝图,点击「资源操作』>合并。

基于运动控制器的移动需要有一个导航网格去过滤掉其他有效的传送目的地。利用你自己的过滤器实现这个动作非常简单,看看『BPMotionController』蓝图的『跟踪传送目的地』功能。


5.2 渲染和效果设置

从模板中迁移效果设置请参考模板文件夹中的Config文件夹。特别是整份DefaultScalability.ini文件和DefaultEngine.ini文件中的[/Script/Engine.RendererSettings]小节拥有不少对你的VR项目有用处的可扩展性。


    这就是整份VR模板指南,愿你在VR的世界里玩得愉快!


本文由Tom Looman撰写,由52VR开发网DavidKor翻译编写,技术工程师姜春雨审核校对。

如有任何见解和修改意见欢迎留言告诉我们!

如需转载请注明来源及明确回链,否则追究法律责任。 

52VR.COM微信扫一扫
52vr公众号
专注于VR的学习、开发和人才交流

52VR开发交流

已有 6 人参与

发表评论

您需要登录才可以回帖 登录 | 立即注册

手机版|VR开发网 |网站地图 统计  津ICP备16006248号

GMT+8, 2017-11-20 01:30 AM

返回顶部