半透前向布料光照Diffuse和不透明布料光照下Diffuse显示差异较大

虚幻引擎中 版本5.6 当我们使用前向半透渲染的时候发现与延迟渲染相比亮度会亮不少,我们使用的是Cloth ShadingModel,我们一番寻找在BasePassPixelShader.usf文件中前向渲染部分ForwardDirectLighting使用GetForwardDirectLightingSplit计算处添加了if (GBuffer.ShadingModelID == SHADINGMODELID_CLOTH){Color /= View.PreExposure;} 好像这个亮度问题可以得到缓解 这是为什么? 但同时这个方案依然存在稍暗的部分在校正后出现过暗的问题,这又是为什么?目前官方有没有什么解决方案?

FDeferredLightingSplit ForwardDirectLighting = GetForwardDirectLightingSplit(
    In.SvPosition.xy,
    GridIndex, MaterialParameters.WorldPosition_CamRelative, MaterialParameters.CameraVector, GBuffer, NearestResolvedDepthScreenUV, MaterialParameters.PrimitiveId, EyeIndex, Dither, 
    DirectionalLightCloudShadow, DirectionalLightAtmosphereTransmittance, DirectionalLightShadow,
    bSeparateWaterMainDirLightLuminance, SeparatedWaterMainDirLightLuminance,
    bSkipMainDirLightVirtualShadowMapEvaluation);

#if MATERIAL_SHADINGMODEL_THIN_TRANSLUCENT
    DiffuseColor += ForwardDirectLighting.DiffuseLighting.rgb;
    ColorSeparateSpecular += ForwardDirectLighting.SpecularLighting.rgb;
#else
    Color += ForwardDirectLighting.DiffuseLighting.rgb;
    Color += ForwardDirectLighting.SpecularLighting.rgb;

    if (GBuffer.ShadingModelID == SHADINGMODELID_CLOTH)
    {
       Color /= View.PreExposure;
    }

#endif




[Attachment Removed]

重现步骤[Attachment Removed]

Hi,

你试试设置半透明材质的Lighting Mode为Surface Forward,然后再对比一下,如果还有问题,方便把你的测试用的蓝图工程发一个过来吗。

[Attachment Removed]

我的shading model已经使用了这个Surface Forward的渲染方式 走了前向的~我这边还在进一步进行测试,等我测试完成会发工程过来

[Attachment Removed]

好的,如果有蓝图复现工程,可以上传上来,我定位一下。

[Attachment Removed]