转载表明出处:https://blog.csdn.net/weixin_36369675/article/details/81035279
一
官方VR展示Dewo 中常用的.ini 设置
项目 Config\DefaultEngine.INI file, 在 SystemSettings 下.
[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
VR中一些常用的comand指令
命令 r.screenpercentage [30-300] 设置分辨率 该,在4.19增加了新的分辨率设置 vr.PixelDensity
更多介绍了解:.19中VR分辨率设置的重大变化
r.ViewDistanceScale :默认情况下,所有对象都不会被距离剔除(所需的最大绘制距离为0)。除了设计器指定的值之外,还有一个全局可伸缩性设置,就像乘法器(r.ViewDistanceScale)一样。在这里你可以看到一些草对象(所需的最大绘制距离为1000):
r.PostProcessAAQuality : 控制台命令调整抗锯齿质量级别将调整您使用的任何抗锯齿方法(FXAA或Temporal AA)的质量。对于Anti-Aliasing方法,与r.PostProcessAAQuality一起使用的值0 将禁用该效果。对于FXAA,可以在上面的图像中看到值2,4和6的影响; 锯齿状边缘的平滑变得越来越好。高于6的值无效。
后处理 - sg.PostProcessQuality
sg.PostProcessQuality 0 | sg.PostProcessQuality 1 |
---|---|
r.MotionBlurQuality=0 r.BlurGBuffer=0 r.AmbientOcclusionLevels=0 r.AmbientOcclusionRadiusScale=1.7 r.DepthOfFieldQuality=0 r.RenderTargetPoolMin=300 r.LensFlareQuality=0 r.SceneColorFringeQuality=0 r.EyeAdaptationQuality=0 r.BloomQuality=4 r.FastBlurThreshold=0 r.Upscale.Quality=1 r.Tonemapper.GrainQuantization=0 | r.MotionBlurQuality=3 r.BlurGBuffer=0 r.AmbientOcclusionLevels=1 r.AmbientOcclusionRadiusScale=1.7 r.DepthOfFieldQuality=1 r.RenderTargetPoolMin=350 r.LensFlareQuality=0 r.SceneColorFringeQuality=0 r.EyeAdaptationQuality=0 r.BloomQuality=4 r.FastBlurThreshold=2 r.Upscale.Quality=2 r.Tonemapper.GrainQuantization=0 |
sg.PostProcessQuality 2 | sg.PostProcessQuality 3 |
---|---|
r.MotionBlurQuality=3 r.BlurGBuffer=-1 r.AmbientOcclusionLevels=2 r.AmbientOcclusionRadiusScale=1.5 r.DepthOfFieldQuality=2 r.RenderTargetPoolMin=400 r.LensFlareQuality=2 r.SceneColorFringeQuality=1 r.EyeAdaptationQuality=2 r.BloomQuality=5 r.FastBlurThreshold=3 r.Upscale.Quality=2 r.Tonemapper.GrainQuantization=1 | r.MotionBlurQuality=4 r.BlurGBuffer=-1 r.AmbientOcclusionLevels=3 r.AmbientOcclusionRadiusScale=1.0 r.DepthOfFieldQuality=2 r.RenderTargetPoolMin=400 r.LensFlareQuality=2 r.SceneColorFringeQuality=1 r.EyeAdaptationQuality=2 r.BloomQuality=5 r.FastBlurThreshold=7 r.Upscale.Quality=3 r.Tonemapper.GrainQuantization=1 |
阴影 - sg.ShadowQuality
sg.ShadowQuality 0 | sg.ShadowQuality 1 |
---|---|
r.LightFunctionQuality=0 r.ShadowQuality=0 r.Shadow.CSM.MaxCascades=1 r.Shadow.MaxResolution=512 r.Shadow.RadiusThreshold=0.06 r.Shadow.DistanceScale=0.6 r.Shadow.CSM.TransitionScale=0 | r.LightFunctionQuality=1 r.ShadowQuality=2 r.Shadow.CSM.MaxCascades=1 r.Shadow.MaxResolution=1024 r.Shadow.RadiusThreshold=0.05 r.Shadow.DistanceScale=0.7 r.Shadow.CSM.TransitionScale=0.25 |
sg.ShadowQuality 2 | sg.ShadowQuality 3 |
---|---|
r.LightFunctionQuality=1 r.ShadowQuality=5 r.Shadow.CSM.MaxCascades=2 r.Shadow.MaxResolution=1024 r.Shadow.RadiusThreshold=0.04 r.Shadow.DistanceScale=0.85 r.Shadow.CSM.TransitionScale=0.8 | r.LightFunctionQuality=1 r.ShadowQuality=5 r.Shadow.CSM.MaxCascades=4 r.Shadow.MaxResolution=1024 r.Shadow.RadiusThreshold=0.03 r.Shadow.DistanceScale=1.0 r.Shadow.CSM.TransitionScale=1.0 |
纹理 - sg.TextureQuality
现代渲染引擎需要更多GPU内存(纹理,网格,GBuffer,深度缓冲,阴影贴图)。其中一些具有屏幕分辨率(例如GBuffer),其他具有特定质量设置(例如阴影贴图)。另一大量来自使用的纹理(通常是压缩和流式传输)。您可以指示流式传输系统在管理方面更积极(更小的池大小,剔除未使用的纹理)或在mip级别计算中具有更少或更多细节。这可能会影响图像质量,您可以注意到纹理流工件的多少以及游戏运行的顺畅程度(更新需要昂贵的内存传输)。结果可能会有所不同,具体取决于介质(例如更快/更低的硬盘/ SSD)。DVD / Blu-Ray流式传输会增加更多延迟,因此您应该尽量避免这种情况。
纹理质量也影响纹理过滤模式(r.MaxAnisotropy)。限制各向异性样本计数会减少纹理带宽,但不会保存纹理内存。
sg.TextureQuality 0 | sg.TextureQuality 1 |
---|---|
r.Streaming.MipBias=2.5 r.MaxAnisotropy=0 r.Streaming.PoolSize=200 | r.Streaming.MipBias=1 r.MaxAnisotropy=2 r.Streaming.PoolSize=400 |
sg.TextureQuality 2 | sg.TextureQuality 3 |
---|---|
r.Streaming.MipBias=0 r.MaxAnisotropy=4 r.Streaming.PoolSize=700 | r.Streaming.MipBias=0 r.MaxAnisotropy=8 r.Streaming.PoolSize=1000 |
效果 - sg.EffectsQuality
sg.EffectsQuality 0 | sg.EffectsQuality 1 |
---|---|
r.TranslucencyLightingVolumeDim=24 r.RefractionQuality=0 r.SSR=0 r.SceneColorFormat=3 r.DetailMode=0 r.TranslucencyVolumeBlur=0 r.MaterialQualityLevel=0 | r.TranslucencyLightingVolumeDim=32 r.RefractionQuality=0 r.SSR=0 r.SceneColorFormat=3 r.DetailMode=1 r.TranslucencyVolumeBlur=0 r.MaterialQualityLevel=1 |
sg.EffectsQuality 2 | sg.EffectsQuality 3 |
---|---|
r.TranslucencyLightingVolumeDim=48 r.RefractionQuality=2 r.SSR=0 r.SceneColorFormat=3 r.DetailMode=1 r.TranslucencyVolumeBlur=1 r.MaterialQualityLevel=1 | r.TranslucencyLightingVolumeDim=64 r.RefractionQuality=2 r.SSR=1 r.SceneColorFormat=4 r.DetailMode=2 r.TranslucencyVolumeBlur=1 r.MaterialQualityLevel=1 |
参考: 官网链接
1. 启用前向渲染:
默认情况下,虚幻引擎4使用延迟渲染器,因为它提供了最多功能并允许访问更多渲染功能。但是,使用延迟渲染器可能存在一些权衡,这可能不适合所有VR体验。 正向渲染提供了更快的基线,具有更快的渲染通道,这可以在VR平台上实现更好的性能。不仅前向渲染速度更快,它还提供了比延迟渲染器更好的抗锯齿选项,这可能会带来更好的视觉效果。
2.启用多重采样抗锯齿(前向渲染+ msaa的方式会增加性能消耗)
关于前向渲染的参考官方文档:前向渲染说明
2 /VR 实例化立体
当前版本中加入了实例化立体渲染(Instanced Stereo Rendering),以减轻 UE4 中的 VR 性能影响。在 Edit > Project Settings > Rendering > VR 路径下勾选 Instanced Stereo 选项即可启用此功能。
以下转载自UE4在PSVR中的抗锯齿和优化相关知识
- UE4目前版本(4.15)在PS平台上并不支持MSAA,在未来的版本会加入。也就是说目前没有办法在PS平台上使用Forward Rendering + MSAA的组合
- FXAA效率最高,但效果最差,只做了最后的图像边缘锐化
- MSAA的优点是物体边缘和贴图分开处理,边缘会比较清晰。缺点是开销会比TAA稍大(即使有硬件支持),另外会有Specular aliasing。在使用MSAA时,可以在材质中打开normal to roughness,这样会使normal上突出的部分更加粗糙,减少高光闪烁。
- TAA的缺点是比较容易模糊。TAA是最终的Shader依靠多帧采样,所以无论是物体边缘还是贴图都会被处理,所以也容易产生不清晰的边缘。
- 查看当前抗锯齿方法的命令行是 r.DefaultFeature.AntiAliasing,结果有4个值,0,1,2,3。 0=关闭抗锯齿,1=FXAA,2=TAA(Default),3=MSAA(Forward shading Only)
- 设置当前抗锯齿方法的命令行是上述命令后跟空格及相应的数字,例如r.DefaultFeature.AntiAliasing 2
- 查看和设置抗锯齿质量的命令行 sg.AntiAliasingQuality, 默认有5个值,0:low, 1:med, 2:high, 3:epic(default), 4:cinematic
- 如果是密集网点等贴图产生的锯齿,可以尝试改变贴图的采样方式,打开贴图,在下方的Filter里调整
- 在VR游戏中,灯光复杂的情况下使用Deffered Rendering(即虚幻默认的渲染通道)效率比较高,否则使用Forward Rendering效率比较高。
- r.ScreenPercentage可以调整渲染比例,默认值为100,小于100则会减小实际渲染分辨率,然后把结果放大,大于100则反之。
- r.ViewDistanceScale Controls the view distance scale. A primitive's MaxDrawDistance is scaled by this value.Higher values will increase view distance but at a performance cost.Default = 1. Value should be in the range [0.0f, 1.0f].