3d widget受抗锯齿影响 有抖动和残影

Hi,

我们在使用3d widget的时候,发现3d ui似乎是会受到抗锯齿的影响,不论是dlss还是tsr。都会导致有抖动和残影。 我们录制了一段视频:https://drive.google.com/file/d/1rXFxIjfI7u4G7m3PIBHxRWvAfMkKzhGc/view?usp=sharing

也尝试把widget comp中的材质Widget3DPassThrough_Masked_OneSided换成Widget3DPassThrough_Translucent_OneSided。都没什么效果,也尝试设置了responsive aa,也没什么效果。

ui很简单,就是模型 + widget comp拼接的

[Image Removed]

设置也没什么特别的。

[Image Removed]

其他的就是一些拼接的UMG

[Image Removed]

[Image Removed]

[Image Removed]

[Image Removed]

似乎也不是render Target的问题。 之前打算渲染到书本上所以隐藏本体+render Targe

[Image Removed]

试了把rt去掉,只渲3d widget,也没什么改善。

但是在编辑器下,用弹出状态,就完全不模糊,弹出PIE的话就非常清晰。不但不模糊 也没有锯齿

[Image Removed]但是换到角色相机就模糊了 很奇怪。

我们想知道这种问题,有什么解决办法么?

我们自己测试,唯一有效的就是把r.ScreenPercentage 拉高200左右,就没有闪烁和残影了。 但是这样设置对性能影响很大。

所以想了解下,是否有什么办法能解决3d ui这个闪烁和残影的问题。。我们感觉这应该是抗锯齿的时间累计导致的,但是没找到什么好的方式去解决它。

我们后面也试了一下自定义SceneViewExtension,在 CustomRenderer 模式下跳过默认主通道 Widget Quad 显示路径,在自定义后处理阶段把 Widget RenderTarget 重新混回 Scene Color。

但效果也有限,场景下因为没了AA,有很严重的锯齿,UI模式下闪烁和残影问题没了,但因为没了AA之类的,显示上还是不太清晰。也录了一个视频:

https://drive.google.com/file/d/1CADmvLX0Mq75p015Wqkjc1lEHkQBOSlE/view?usp=sharing

之前记得李洁好像做过UMG的3d化,不知道是否能解决这种问题,如果能解决的话,希望能分享一下。

[Attachment Removed]

Hi,

你好,同事帮忙复现了一下,我们觉得应该不是因为3D Widget的原因,而是UI上有很多细小的线框,这些细小线框对于抗锯齿来说是比较难以处理的,因为只要产生倾斜,细线就容易断开,并且因为每帧还会有Projection的Dither,导致每帧细线绘制的形状都会有差异,在分辨率比较低的情况下会更加放大这个问题。

建议从素材上尽量避免这种情况的出现。

[Attachment Removed]

感谢,我们查看一下素材情况。主要是文本也会有变化,UI在切换的时候,文本也有变化,也是有随时间积累的叠加文字变化,这种也是这些细小边框导致的么?

[Image Removed]

[Attachment Removed]

我觉得问题差不多,除了边缘较细,还有一个可能的原因就是3D Widget采样的是一张UI绘制完的RT,这张RT应该没有生成mipmapChain,所以相机离远后,也会造成texture的aliasing问题。如果想要消除,可能还得想办法修改代码,生成mipmapchain,来缓解问题。

[Attachment Removed]

好的,我们研究一下看看,目前是已经把RT去掉了,让他只渲染3d widget。您说的mipmapChain的问题,应该是3d widget本身创建RT吧。应该不是指我们单独加的那一层RT吧。

引擎本身那个,感觉可以参考这个处理一下,我们稍后试试看:https://hollowdilnik.com/2021/01/09/widget\-filtering.html

[Attachment Removed]

嗯嗯 好的,有问题再沟通。

[Attachment Removed]