开启Nanite Tessellation的情况下,当平行光移动时,VSM会体积雾中漏光

开启Nanite Tessellation的情况下,当平行光移动时,VSM会体积雾中漏光;

复现步骤见附件;​

问题如下图所示:

[Image Removed]

[Attachment Removed]

重现步骤
开启Nanite Tessellation的情况下,当平行光移动时,VSM会体积雾中漏光;

复现步骤见附件;

问题如下图所示:

[Image Removed]

[Attachment Removed]

使用上有些问题。阻挡的模型放大了100倍,请不要把Tessellation对象如此放大,会出问题,比如很近距离可以观察到三角面的crack。

使用没有厚度的单片面来遮挡体积雾不够精确。因为体积雾本身精度低,没有足够厚度的模型很容易造成整体的漏光(体积雾漏)

[Attachment Removed]

把r.Shadow.Virtual.UseReceiverMaskDirectional 0关掉再试试

另外

1、请上传下没有放大的模型导致问题的资产,我看一下。也许是其他原因,比如法线或者UV的炸裂引起,Tessellation目前会crack。还有材质中Tessellation的优化选项(Displacement Fade)也会需要被放大。否则数值太小几乎起不到优化作用

2、单面问题是顺便提一下,因为你的项目用了单面薄片作为示例,猜测也许你们有这样的做法需求,建议避免。

[Attachment Removed]

我能理解离老师说的问题,但还是不能解决当前的现象:

第一点,实际上使用未放大的模型也会出现这个问题,我为了演示,只能​使用引擎自带的模型进行展示;

第二点,没有厚度的面片确实会有漏光的现象,但是面片导致的漏光​应该是紧贴着面片的,而不是成光束一样;

另外演示demo里,只有运行时(平行光运动的情况下)会漏光,平行光不动的情况下是不会漏光的;

[Attachment Removed]

r.Shadow.Virtual.UseReceiverMaskDirectional 0关掉确实好了,已经在项目中使用了,未关闭的情况或许官方需要解决一下。

[Attachment Removed]

已经反馈这种情况。r.Shadow.Virtual.UseReceiverMaskDirectional对于全动态灯的TOD使用是一种优化。听你描述方向光会动,是否是有TOD昼夜变换?

[Attachment Removed]

是的,会有tod昼夜变换

[Attachment Removed]

这个问题已经记录并有人在看了,但计划不会在短期内版本修复。好奇了解下你把r.Shadow.Virtual.UseReceiverMaskDirectional 0关掉后对渲染帧率有多大影响。如果影响不大倒无所谓,如果影响比较大可能需要在使用方式上先尽量避免;比如使用原始尺寸,不要放太大;材质中的Magnitude不要太大;使用Displacement Fade做优化。我本地调试了下基本看不到有漏光了 [Image Removed]

[Attachment Removed]

好的好的,不过项目目前测试下来对性能没有明显影响,所以就先关掉对应cvar了

[Attachment Removed]