这是对我另一篇学习笔记的简单总结,记录一下VR项目的一些基础配置
https://blog.csdn.net/t1370620378/article/details/121008831
VR项目设置:
在创建针对特定VR平台的新项目时,首先在 游戏(Games) 类别下选择 虚拟现实应用(VR Template),然后在 项目设置(Project Settings) 中选择以下选项:
-
可缩放3D或2D(Scalable 3D or 2D)
-
已禁用光线追踪(Raytracing Disabled)
-
移动设备/平板电脑(Mobile / Tablet)
-
不带初学者内容包(No Starter Content)
设置:
-
打开oculus VR插件 和 online subsystem oculus插件(无法开启就先关闭别的online插件)
-
打开前向渲染 forward Rendering(更快更高效)
-
关闭动态模糊(前向渲染不支持)
-
开启instance stereo(实例化立体),在VR场景中会有两个摄像头代表左眼和右眼,is可以让两个摄像头共享特定比例的渲染数据,缩短绘制线程花费的时间
-
开启Start In VR
-
开启MSAA,可以提供更好的平滑效果,注意会占用显存,可能会影响性能
-
支持平台选为安卓(看设备)
-
取消使用平滑帧率(fixed frame Rate),因为VR需要锁帧
-
关闭自定义时间步Custom TimeStep,因为VR项目并不需要
-
如果是在一体机设备上的项目,关闭mobile HDR,开启移动多视图mobile multi-view(移动多视图)
-
在工程项目config中,DefaultEngine.ini加入如下代码【个人使用中未使用,说是不加appid构建会警告,如果是使用quest这种一体机设备,还要将这些代码配置到AndroidEngine.ini,在引擎文件夹Engine-config-android里】
[OnlineSubsystem]
DefaultPlatformService=Oculus
[OnlineSubsystemOculus]
bEnabled=true
OculuesAppId=
RiftAppId=
-
在DefineEngine.ini中添加
[SystemSettings]
vr.PixelDensity=1
r.SeparateTranslucency=0
r.HZBOcclusion=0
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
r.TranslucencyVolumeBlur=0
r.TranslucencyLightingVolumeDim=4
r.MaxAnisotropy=8
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.FastBlurThreshold=0
r.SSR.MaxRoughness=0.1
r.rhicmdbypass=0
sg.EffectsQuality=2
sg.PostProcessQuality=0
-
对于复杂场景Occlusion Culling可以进行很好的优化,但是对于VR应用建议关闭,作为替代,可以在场景中使用“预计算可视性体积pre computed visibility volume”,它会计算光照和可视性数据,会增加内存消耗和构建时间,体积越小剔除效率越高
-
使用空间化音效,使用 Oculus Audio Geometry组件
-
使用FFR(Set Fixed Oculus Level)节点降低周边视觉分辨率从而降低实际片元处理数量【pc还不支持】【注,今天发现好像4.27.1已经有支持了】
在编辑器中运行测试的时候要设置预览渲染水平,Quest选择ES 3.1,Rift 选择Shader Model5
-
在移动端需要关闭这些功能,因为可能造成长时间的编译和性能损耗,前向渲染会受到更大的影响
官方教程地址: