当前位置:   article > 正文

SteamVR开发笔记-01怎样消去VR中的锯齿(Dismiss flickering edges in your vr scene)_vr头盔 模型闪烁锯齿

vr头盔 模型闪烁锯齿

目标

  • 解决Unity VR场景中的锯齿和阴影抖动问题

工具

  • Unity2019.4.9
  • SteamVR Unity Plugin 2.7.3
  • Post Processing 2.3.0

操作步骤

  1. 新建Unity工程导入SteamVR Unity Plugin,按照向导进行配置,我选择Accept All,当弹出对话框询问是否使用XR时,选择Legacy VR。

  2. 打开Package Manager安装Post Processing

  3. 新建一个层,命名为Post Processing

  4. 打开Project Settings/Quality面板,设置Anti Aliasing 为2x Multi Sampling,注意这个值在较低的SteamVR Unity Plugin版本中可以设置为Disabled,建议不要设置为4x或8x

  5. 继续在Project Settings/Quality面板上,找到Shadows Projection 选项,设置为Stable Fit,Shadowmask Mode选择Distance ShadowmaskQuality 设置

  6. 打开Project Settings/Player面板,在XR Settings中设置Stereo Rendering Mode 为Multi Pass,注意这一步非常重要XR Rendering Mode设置

  7. 在VR场景中找到主相机(在我的项目中采用了SteamVR Unity Plugin的Player预设体,主相机为VRCamera),添加Post-process layer 组件,并做如下设置后期抗锯齿设置

  8. 现在可以运行了,可以通过激活Post-process layer组件和关闭该组件进行效果对比


要点

  1. 在Quality设置面板中,Anti Aliasing是指硬件的抗锯齿,即使设置到8x仍然很难满足VR项目的需要,尤其当场景中有栏杆、网等由很多线条构成的几何体时会出现大量的闪烁边缘(Flickering edges),因此没有必要设置很高,我采用的是后处理抗锯齿。在早期的SteamVR Unity Plugin 版本中这个选项要求设置为Disabled,因为Valve本身的输出会进行抗锯齿处理。新版本的要求设置成2x以上,否则会提示报错。
  2. 在Quality设置面板中,Shadows Projection选项设置了阴影的投影方式,一般来讲Close Fit可以使阴影与模型间贴合的更加紧密显得更加真实,但是在VR场景中,Close Fit投影的阴影会出现抖动闪烁的问题,因此要设置为Stable Fit。
  3. 在XR Settings中,Stereo Rendering Mode必须设置为Multi Pass,这是因为该模式支持后处理抗锯齿,其他模式下采用后处理抗锯齿会出现显示错误:比如重影、锯齿闪等。
  4. 后处理抗锯齿的三种方式中,我采用了TAA方式,这种方式对于动态过程的抗锯齿有很好的效果。三种抗锯齿方式的详细对比可以查阅相关的文档。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/101949?site
推荐阅读
相关标签
  

闽ICP备14008679号