从目前是技术来看VR游戏开发,是应该用unity vr开发还是UE4好

扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
查看: 6802|回复: 6
使用UE4开发VR内容
16排名3昨日变化主题帖子积分
蛮牛币4709
在线时间2136 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
  此文作者是Epic Games的技术支持工程师Tom Looman,主要介绍了UE4对开发VR内容的支持及使用技巧。
  最近VR呼声越来越高,也有越来越多的开发者投入到VR领域。本文可作为想要用UE4开发VR内容的初学者指南,其中也包含Epic Games提供的大量Blueprint及C++相关的文档资料。
  本文使用的硬件是HTC Vive,UE版本是4.11 Preview。要注意VR还是新平台,每次UE更新也都会添加新功能,所以建议尽可能使用最新版本。
  几个比较好的学习网站包括Oculus官网,UE官网的VR文档以及子论坛。
  可以在我的GitHub上获取VR Templates项目以快速上手。这些模板目前都在开发中,包括Blueprint及C++的版本,拥有各种相机和运动控制的功能,并且后续会内置到编辑器中。
  设置VR设备
  此步骤要先确保你的头显设备是可以正常工作的。如果Vive出现,可以查看这里的问题集锦。
  UE4支持所有主流的VR设备,并且创建VR项目不需进行太过复杂的设置。只要确保在Edit & Plugins下加载了与头显设备所匹配的插件即可。
1.jpg (47.93 KB, 下载次数: 7)
20:04 上传
  在启动编辑器之前要确保VR软件是运行状态,Vive的VR软件就是上图的SteamVR应用。
  对于Vive:一旦启动编辑器,SteamVR状态可能显示为“Not Ready”,这表示可能有内容重叠并防止Compositor屏幕运行帧率超过60帧,从而导致抖动和眩晕。关于该问题的更多信息可查看问答版块。下一代的Vive设备会通过直接显示模式解决这个问题。
2.jpg (17.01 KB, 下载次数: 1)
20:04 上传
  启动VR预览
  只需在Play下拉列表中选择“VR Preview”即可直接测试VR内容。默认情况下头部追踪就可以正常工作,不需对已有项目或模板做任何修改。本文后续部分会详细讲解如何加入运动控制器及重置原始控制器等新功能。
3.jpg (26.47 KB, 下载次数: 1)
20:05 上传
  VR最佳实践
  VR相对来说还是未开发的领域,每天都能学到开发相关的新东西。Oculus和Epic Games均设置了最佳实践指南,开发VR游戏的过程中建议随时查阅这些资料。
  使用Blueprint制作VR内容
  在Blueprint中制作VR内容非常简单,无需做过多设置。
  可能会用到Camera组件和一两个Motion Controller组件。默认情况下Camera已经设置为支持HMD,如果想禁用头盔的旋转只需禁用组件属性中的“Lock to HMD”即可。
  下图是Blueprint中可用的组件列表(不完全包含):
4.jpg (50.83 KB, 下载次数: 3)
20:05 上传
  重置HMD的位置及朝向(可选Y轴偏移):
5.jpg (39.26 KB, 下载次数: 2)
20:06 上传
  使用VR时选择性启用功能可以简单地检测HMD是否可用:
6.jpg (31.56 KB, 下载次数: 2)
20:06 上传
  SteamVR Chaperone
  Chaperone组件是SteamVR专用的,且很容易碰到软边界。软边界是以一个围绕着HMD校正原点的向量数组表示的。向量的Z分量值为0。在Blueprint中可以像使用其它ActorComponent一样使用该组件。
7.jpg (36.93 KB, 下载次数: 3)
20:07 上传
  设置Motion Controller
  官方文档很好地介绍了Motion Controller设置及输入处理,如果你的VR设备支持Motion Controller,建议阅读这些文档。
  如果在对齐Motion Controller和相机时遇到问题,可以使用SceneComponent作为“VROrigin(VR原点)”,这在根组件锚点位置很特殊时格外有用。
8.jpg (26.4 KB, 下载次数: 2)
20:07 上传
  使用C++制作VR内容
  因为4.11的Blueprint并未包含所有功能,如果想使用一些高级的自定义设置,就需要深入了解C++来调整。查看IHeadMountedDisplay.h文件了解可用的函数。也有些增加了新功能的插件如SteamVRChaperoneComponent ,但只支持一种设备。
  需要包含的模块及头文件
  如果想通过C++访问HMD功能,需要在解决方案的ProjectName.Build.cs文件中包含“HeadMountedDisplay”模块。下面是VRFirstPerson项目的生成文件示例。
[AppleScript] 纯文本查看 复制代码  using UnrealBuildT
  public class VRFirstPerson : ModuleRules
  public VRFirstPerson(TargetInfo Target)
  PublicDependencyModuleNames.AddRange(new string[] { &Core&, &CoreUObject&, &Engine&, &InputCore& });
  /* VR Module */
  PrivateDependencyModuleNames.AddRange(new string[] { &HeadMountedDisplay& });
  // ...
  使用HMD功能或Motion Controller组件,需要包含以下头文件:
[AppleScript] 纯文本查看 复制代码  /* VR Includes */
  #include &HeadMountedDisplay.h&
  #include &MotionControllerComponent.h&
  性能顾虑
  为了让整个VR体验更流畅,游戏运行帧率需要达到75hz(Oculus DK2)甚至是90hz(HTC Vive及Oculus CV1),这取决于设备。游戏运行时在控制台输入“stat fps”或“stat unit”(信息更详细)可以查看游戏当前帧率。
  CPU分析
  游戏可能会遇到CPU或GPU瓶颈,要找到问题所在比较快的办法是使用“stat unit”。从当代游戏和引擎复杂度来看几乎无法准确判断游戏性能瓶颈所在,所以要借用工具来处理!
  GPU分析
  按下Ctrl+Shift+,键或在控制台输入“profilegpu”即可查看当前帧所消耗的GPU时间。该命令会打印出GPU消耗的准确时间,可以从中判断使用VR时帧率上的主要负担(常见原因是开启抗锯齿)。
11.jpg (36.38 KB, 下载次数: 0)
20:09 上传
  在做分析时可能会卡在那些因项目或场景导致的本身就消耗很大的功能上。比如你可能要用到半透的体积光,但即便在不用时它也会为场景带来消耗。这都需要你自己真对项目来测试并权衡。
  FATED的开发者们列出了几个VR优化的小技巧。其中提到的有禁用HZB环境光遮蔽(r.HZBOcclusion 0)、运动模糊(r.DefaultFeature.MotionBlur=False)及Lens Flares (r.DefaultFeature.LensFlare=False)。这些命令不会存在于多个会话,所以需要在/Config/DefaultEngine.ini配置文件中添加,虽然在Edit & Project Settings… & Rendering下也可以进行设置。
  Instanced Stereo Rendering
  最新发布的4.11引入了新功能Instanced Stereo Rendering,看看下面的视频:
  “基本上,利用硬件实例化地绘制双眼,只需一次DrawCall及进行一次渲染循环。这可以大大减少渲染线程的CPU时间消耗,并改善GPU性能。《Bullet Train》就节省了约15~20%的渲染线程时间,及7~10%的GPU性能改善”,Ryan Vance说道。
  在4.11货更高版本启用该功能,只需勾选Project Settings界面Rendering下的“Instanced Stereo”选项即可。
12.jpg (53.49 KB, 下载次数: 0)
20:10 上传
  禁用消耗大的后期处理
  有些后期处理效果对于VR是非常昂贵的。例如抗锯齿和TemporalAA。
  要在场景中禁用某些后期处理功能,可以在Edit & Project Settings & Rendering下设置。在post-processing volume中也可进行设置,但它会覆盖在下图指定的设置。
13.jpg (21.46 KB, 下载次数: 0)
20:10 上传
  降低场景复杂度
  当代硬件很难满足VR平台的90FPS。你可能需要重新评估之前的限制并看看场景复杂度,像动态阴影、大气雾效及多边形网格等是不是过多。
  最大限度提高性能很重要的一点是尽量减少过度绘制。很多半透表面或粒子效果都会导致帧率过低。在ViewPort中按下Alt+8(默认视图下按Alt+4)即可查看当前场景的Shader复杂度和场景中过渡绘制的地方。看看下图可以了解大气特效对帧率低影响(绿色=好,红色=差,亮白色=非常差,每个像素约有2000个着色指令):
14.jpg (31.38 KB, 下载次数: 0)
20:12 上传
15.jpg (22.3 KB, 下载次数: 0)
20:12 上传
  蛮牛酱表示,上面一部分是使用技巧,一部分是优化技巧,其实优化对于很多游戏来说都是相通的,不只针对VR。
  扫描下方二维码关注“”官方微信~每日都有精选干货与你分享呦~
170349orzrxlzeaxxr75vp.jpg.thumb.jpg (20.97 KB, 下载次数: 0)
20:13 上传
  原文链接:
  原文作者:Tom Looman
  感谢蛮牛译员“小刺刺”对本文翻译所做的贡献~~~
  本文由蛮牛译馆倾情奉献,除 合作社区 及 合作媒体 外,禁止转载。
ue4 官方示例;unreal engine 4 可视化虚拟现实全流程实战教学百度云;unity 解压密码 unreal engine虚幻vr虚拟现实技术概述视频教程;unreal4 开发;体积光;htc手柄在ue4中的使用教程;unreal 4.11ue4 如何设置组合键;vr
ue4;ue4 虚拟现实视制作频教程; unreal engine 4;ue4 vr陀螺仪
每日推荐:
跟我念“站长妹纸萌萌哒!”我说站长,你说YO!爱你们么么哒~
16排名<font color="#FF昨日变化1主题帖子积分
蛮牛币84412
在线时间2596 小时
非常好,太感谢了!
每日推荐:
回帖是美德~是一种行动认可和支持~希望更多蛮牛小伙伴参与到支持行动中~
18/50主题帖子积分
注册看看, 积分 8, 距离下一级还需 42 积分
注册看看, 积分 8, 距离下一级还需 42 积分
在线时间0 小时
非常好非常好
每日推荐:
4473/500排名<font color="#FF昨日变化27主题帖子积分
四处流浪, 积分 473, 距离下一级还需 27 积分
四处流浪, 积分 473, 距离下一级还需 27 积分
在线时间167 小时
不错,希望能多推出一些UE4开发htc vive的示例游戏教程
每日推荐:
133/50排名<font color="#FF昨日变化21主题帖子积分
注册看看, 积分 33, 距离下一级还需 17 积分
注册看看, 积分 33, 距离下一级还需 17 积分
在线时间12 小时
本帖最后由 熊孩子丶她爸 于
17:41 编辑
UE4 4.11版本中,HTC VIVE已安装成功,可以正常试玩Demo游戏,但是VR Preview呈灰色状态不能操作,求大神支招。
我是Win10系统~~
C:\Users\测试\Desktop
(28.5 KB, 下载次数: 0)
17:41 上传
每日推荐:
133/50主题帖子积分
注册看看, 积分 33, 距离下一级还需 17 积分
注册看看, 积分 33, 距离下一级还需 17 积分
在线时间16 小时
非常棒,学习中
每日推荐:
2113/150排名<font color="#FF昨日变化25主题帖子积分
初来乍到, 积分 113, 距离下一级还需 37 积分
初来乍到, 积分 113, 距离下一级还需 37 积分
在线时间28 小时
非常棒,学习中
每日推荐:
社区QQ达人
使用QQ帐号登录论坛的用户
连续签到30天
原创精华达人
原创精华帖子总数量 ≥ 100
突出贡献奖
宣传论坛,介绍更多的朋友加入≥50人
累积数量达到100000蛮牛币
游戏蛮牛QQ群会员
加入游戏蛮牛官方QQ群
在“新人报到 ”版块发过自己的照片
购买游戏蛮牛书籍
七夕浪漫情人
2015年蛮牛社区浪漫七夕 最美情话活动获奖者

我要回帖

更多关于 unity vr开发 的文章

 

随机推荐