查看原文
其他

基于UE4的VR项目基础环境配置和Motion Controller控制配置

2016-09-21 Mullin-ぼくリん Gad-腾讯游戏开发者平台

本文使用的VR硬件是HTC VIVE,本文分成两个部分,第一部分介绍了使用蓝图在UE4中进行基础环境配置时需要注意的渲染优化、后期处理、环境比例、HMD帧率优化设置等。第二部分是如何使用UE4蓝图对HTC VIVE的手柄进行配置的流程。适合刚学习VR的同学进行参考。


一、VR基础环境配置


UE4项目设置


新建 VR 项目时,推荐使用 移动设备 / 平板电脑可缩放 3D  2D  没有初学者内容 选项,以保证项目从开始便在框架上运行。



VR .INI 设置

以下设置是基于UE4 VR demo Showdown 测试得出的优化设置,建议按照项目需求进行修改。


(SystemSettings 下的项目 Config\ DefaultEngine.INI )

[SystemSettings]

r.VolumeMultiplier=1.0    体积乘数

r.screenpercentage=130   屏幕比例设置

r.SeparateTranslucency=0         修复半透明情况下景深的问题

r.HZBOcclusion=0               HZB环境光遮蔽

r.FinishCurrentFrame=1           完成当前帧

r.MotionBlurQuality=0            运动模糊质量

r.PostProcessAAQuality=3         后期特效质量

r.BloomQuality=1                光溢出质量

r.EyeAdaptationQuality=0         模拟眼睛自适应光效质量

r.AmbientOcclusionLevels=0       环境遮蔽质量级别

r.SSR.Quality=1                 屏幕空间反射质量

r.DepthOfFieldQuality=0          景深质量

r.SceneColorFormat=2            能够选用不同的 SceneColor 格式

r.SSSSS=0

r.TranslucencyVolumeBlur=0       半透明体积模糊

r.TranslucencyLightingVolumeDim=4    半透明灯光体积范围

r.MaxAnisotropy=8

r.LensFlareQuality=0             镜头光晕质量

r.SceneColorFringeQuality=0      场景颜色边缘质量(紫边效果)

r.FastBlurThreshold=0           模糊阀值

showflag.decals=0              贴花选项开关

r.SSR.MaxRoughness=0.1        屏幕空间反射粗糙度最大值

r.rhicmdbypass=0

r.TiledReflectionEnvironmentMinimumCount=10  **反射环境最小值

sg.EffectsQuality=2             特效质量

sg.PostProcessQuality=0         发布质量


VR 实例化立体渲染

实例化立体渲染(Instanced Stereo Rendering),可以减轻 UE4 中的 VR 性能影响。

即时立体渲染是一个优化,能够让引擎更有效率的为 VR 设备渲染具有立体感的画面。

在以前版本的VR渲染中,引擎渲染立体画面时,先为左眼渲染所有的东西,然后再渲染右眼画面。在即时立体渲染的特性下,双眼的画面同时进行渲染运算,这么做能大量降低 CPU 的开销,并改进 GPU 的利用率。


实例化立体渲染(Instanced Stereo Rendering

编辑 -> 项目设置 -> Rendering -> VR ->Instanced Stereo

这个设置后引擎会提醒你重新启动引擎



VR 后期处理设置

在关卡中添加一个后期处理PostProcessVolume体积域。


PostProcessVolume(F4为快捷键,设置应包括整个关卡)设置应用Unbound


PostProcessVolume 设置里禁用LensFlares


一般情况下,不需点击每个部分并将所有属性设为 0

可以先禁用开销较大的功能,比如

镜头光晕(Lens Flares)、

屏幕空间反射(Screen Space reflections)、

临时抗锯齿(Temporal AA)、

屏幕空间环境遮挡(SSAO)、

光晕(Bloom)

和其他可能对性能产生影响的功能等等。


VR 世界场景比例

VR场景物体和玩家摄像机之间的距离 0.75  3.5   能获得最佳的VR体验


虚幻单位(UU长度为 1 厘米(CM

距离

Unreal单位距离(UU)

1厘米

1 UU

1

100 UU

1千米

100,000 UU


世界属性-> VR->World to Meters   100


** World To Meters=10 世界场景显示较大

** World To Meters =1000,世界场景显示较小


HMD 帧率


HMD头显设备

目标帧率

DK2

75 FPS

RIFT CV1

90 FPS

VIVE

90 FPS


VR 摄像机设置

 *UE4 中设置 VR 摄像机的方法取决于 VR 体验为坐立状态站立状态

*在坐立体验中,需要将摄像机原点升高到角色站立时的高度。

*在站立体验中,必须将摄像机原点设为 000处于地面之上。

*可将摄像机组件以角色为基础(地平面)附着在场景组件上,或将眼睛高度(Eye Heigh)设为角色碰撞胶囊体圆柱体高度的一半。


VR 角色设置

角色高度和宽度

属性

UE4默认值

推荐VR 设置

高度

192 CM

176 CM

宽度

84 CM

68 CM


移动速度

移动速度约为正常速度的 1/4

属性

UE4默认值

推荐VR设置

移动速度

60 M/S

24 M/S


相机位置

VR 摄像机的位置应比基本眼睛高度稍低

属性

UE4默认值

推荐VR设置

基本眼睛高度

180 CM

160 CM


设置UE4 启用STEAM VR 插件

设置->Virtual Reality ->SimpleHMD


后重起引擎



二、Motion Controller(VIVE手柄)控制配置

 1. Content Browser 中创建 Pawn 蓝图类。


2.蓝图打开后,前往 视口 标签,在 组件部分点击 添加组件 按钮显示可添加到此蓝图的组件。


3.使用单词 Motion 搜索 运动控制器。 找到运动控制器组件后,点击将其添加至组件列表。把名子改成MotionController_L


4.添加运动控制器后,点击将其选中,然后在 Details 面板的 MotionController 部分下将 Hand 设为 Left。


5.在世界场景中添加运动控制器手柄:在 组件 面板 中选中 MotionController_L,然后点击 添加组件按钮添加一个StaticMesh组件。 将静态网格体组件拖至运动控制器上(成为其父项), 然后在 细节 面板中为新组件的静态网格体属性添加一个静态网格体资源。(自己导入或引用引擎的模型)


6.重复2-4操作再添加一个MotionController_R,并将其设为 RightHand。给它填加一个StaticMesh组件,并将右手的网格体应用到其上。


设置项目时,将两个StaticMesh组件的坐标位置设为 0,0,0,使其重叠放置。

使用运动控制器(Motion Controller)

蓝图编辑器的 控制 面板中包含运动控制器专有的输入功能键。(窗口->控制板)在蓝图编辑器的 控制 面板中用 “MotionController 搜索,将显示运动控制器可用的全部按钮和功能键。


L/R 代表 左 或 右 运动控制器使用。到此为止,手柄的配置结束。

下面是一个应用控制器的一个测试

设置运动控制器

测试想要的效果:按下 右手柄扳机键后场景中将生成一个包含模型的蓝图,按下 左手柄扳机键后将从世界场景中移除模型。

1.在 浏览器 中新建一个名为 BP_Sphere 的Actor蓝图,然后双击打开。

2.前往 视图 标签,新添加一个 静态网格体组件。


3.将静态网格体组件移到 DefaultScreen Root 上,将静态网格体设为使用 ArcadeEditorSphere,然后编译并保存蓝图。


(如没找到 ArcadeEditorSphere,打开 视图选项,点击 Engine Content 文件夹使其显示在 Content Browser 中。)

关闭 BP_Sphere 蓝图,打开 VR_Pawn 蓝图。

4.前往 我的蓝图 面板中的 事件图表 标签,新建一个名为 Objects、变量类型  为阵列的 Actor 变量。


5.在事件图表中添加并连接以下蓝图节点


6.选择 SpawnActor 节点,并将步骤 1 中创建的 BP_Sphere 蓝图指定到 Class 输入。


7.蓝图的此部分可用于移除放置在世界场景中的物体。添加并连接以下蓝图节点即可添加此功能。完成后的效果与下图相似。


(F键添加物体;E键移除物体 便于快速测试 也可以不用键盘设置)

8.编译  保存 变更至 Pawn 蓝图,然后按下 Play 按钮。

9.关卡载入后,按下右手手柄的扳机键即可在世界场景中添加物体。


(结束)



点击一下立即阅读相关好文章


设计师如何避免沦为美工MMORPG游戏开始衰落了?


让人惊艳的黑科技程序员跨界还可以做什么


这么做设计才好玩守望先锋为什么好玩


人民币玩家一样会被吊打


......



近期热文

《学会这几招,你可以创造一个更真实的“盗梦空间”》

HTC Vive平台爆发的三款交互型游戏大起底



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存