开启Nanite Tessellasion和VSM,使用图中的壁炉模型以及开启了曲面细分的材质。置入一盏点光源,会有阴影瑕疵。
[Attachment Removed]
开启Nanite Tessellasion和VSM,使用图中的壁炉模型以及开启了曲面细分的材质。置入一盏点光源,会有阴影瑕疵。
[Attachment Removed]
重现步骤
[Image Removed]
开启Nanite Tessellasion和VSM,使用图中的壁炉模型以及开启了曲面细分的材质。置入一盏点光源,会有阴影瑕疵。
[Attachment Removed]
阴影破面漏光瑕疵?材质里Displacement Center参数设置成0试下?模型法线有打散吗?最好有重现资产看下
[Attachment Removed]
我这边利用5.7版本的项目r.Shadow.Virtual.Cache 0不会有问题了。如果可以的话请提供一个5.5版本的重现项目我再看下是否是同一个问题。
[Attachment Removed]
感谢更新信息。
不过的确Tessellation本身还是有一些问题,尤其是引起VSM的问题。看到一些内部的讨论,和bug的提交和计划修复(上面提到5.8那个)
[Attachment Removed]
提问的时候我上传了工程,是看不到吗?第一次提问不太熟悉😂 ,我这里再加下附件
[Attachment Removed]
打开地图一开始没有看到瑕疵。试着调整材质参数有时会有呈现。猜测是VSM的Cache没有并更新。Tessellation的动态变化不会Invalidate Shadow Cache,让几何体和阴影不匹配了。选中对象把Shadow Cache Invalidation Behavior设置成Always瑕疵就没有了。大概率就是这个原因,开始打开地图没有问题因为被更新了也说得过去了。
如果原因是VSM Cache未更新的问题,也不是什么问题,游戏里避免动态动画Tessellation参数即可。如果实在需要就改成Always
[Attachment Removed]
这样子,那看来我在5.7.1上还原的不对。我实际是在我们项目中碰到了开Tessellasion模型阴影表现不正确的问题。使用的是5.5.4,没有动态修改材质的情况,打开场景就能复现。昨天在5.7.1想还原一个Demo工程,就以为是同一个问题。5.5.4上的问题碰到的表现如下:
[Image Removed]
关闭Tessellasion问题就消失,在5.5.4-5.7.1之间有过类似问题的修复吗?
[Attachment Removed]
我不认为5.5-5.7之间有针对这种问题的修复,因为5.7还是会有重现
有一个类似的Tessellation和VSM的问题计划在5.8修复。另外UV接缝的地方做了Tessellation会破裂,引起渲染包括阴影的问题,分UV的时候可能要注意下。
当前的问题我认为定位应该主要还是和Cache相关的,你可以在5.5里把对象Cache行为改成Always,或者整个r.Shadow.Virtual.Cache 0看验证下。
[Attachment Removed]
r.Shadow.Virtual.Cache 0无法解决问题,目前只有点光源会出现这个问题,聚光灯是好的,哪怕是多盏聚光灯也不出现。从截帧看,Point Light的VSM有很多半个page大小的斑块,和图像里的表现刚好对的上。
[Image Removed]
[Attachment Removed]
[Image Removed]
[Attachment Removed]
非常不好意思文磊老师,最终我们定位到是我们项目内部的一个针对CSM的bugfix导致了该问题。具体的修改如下:
[Image Removed]去掉该Fix后,点光源的VSM阴影恢复正常。
这个Fix是我们发现当开启了Tessellation的模型距离相机较远时,由于超出了CSM构造的阴影视锥近平面导致了阴影丢失,于是有此修改。该问题在公版的城市Demo中也可以构造复现。
[Image Removed]抱歉占用了您的时间。
[Attachment Removed]