关于5.7Nanite Foliage的兼容问题-Voxel与StaticMesh+WPO

暂无性能问题

重现步骤

hi,我们在尝试使用5.7的Nanite去做大规模的草的渲染;但是发现如果使用Static Mesh + WPO的情况下,开启Voxel,中景距离全是噪点;

想问一下Voxel和WPO是冲突的功能么?可以同时开么?

Hi, we are trying to use Nanite Foliage in 5.7 to render a large scale of grass. However, we’ve found that when using Static Mesh + WPO (World Position Offset), enabling Voxel results in severe noise/artifacts in the mid-range distance.

We would like to know: Do Voxel and WPO conflict with each other? Can they be enabled simultaneously?

[Image Removed]

是的,Voxel和WPO目前一起工作有瑕疵。最好是基于骨骼的动画;但无论如何WPO对Nanite的渲染开销是有影响的,并且无法让VSM做Cache,为阴影优化中远距离动画无论是否Voxel化,或使用哪种方式动画最好都关掉

草渲染一个是面多,overdraw多,开放边界,质量上远处变细缺失细节,动画会模糊(屏幕百分比不高的话),还有是动画Shadow的更新开销。要尽量解决这些问题我认为主要一个是动画,因为1、动画让Nanite渲染变慢(WPO),非固定管线,culling边界扩大,overdraw变大;2、动画也让细节丢失变湖,毛糙,断裂等(TSR无法很好工作,尤其速度快时);3、动画也让VSM无法Cache。因此首先是把中远距离动画关了。很大程度改善以上三点,同时近处尽量也关闭VSM,用屏幕空间Shadow替代。

然后是Nanite的渲染即使没有动画开放边界大量细密的模型要保持远处的细节Overdraw还是非常严重,Voxel可以很大程度改善这块。基于SKM的动画理论上可以优化Nanite渲染(固定管线+高效剔除),但VSM还是要优化的,中远关闭肯定还是会带来收益。在对比测试中尽量能考虑动画的启用距离,有的时候VSM可能是个瓶颈

有什么推荐的大规模草地的渲染方案么?目前测试下来Skeleton Mesh+Voxel+Dynamicwind的方案优势比static mesh + WPO并不明显;

好的,感谢;

还想问下后续有计划兼容下WPO和Voxel么?

这问题已知,也有看到相关同事讨论会尝试去解决,但我未了解到有明确时间线。就目前Voxel的话是推荐骨骼动画