diff --git a/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_forward_fragment.hlsl b/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_forward_fragment.hlsl index 1e16957eb..8106b0082 100644 --- a/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_forward_fragment.hlsl +++ b/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_forward_fragment.hlsl @@ -48,12 +48,23 @@ half4 MToonFragment(const FragmentInput fragmentInput) : SV_Target #if defined(MTOON_URP) && defined(_ADDITIONAL_LIGHTS) && !defined(MTOON_PASS_OUTLINE) uint pixelLightCount = GetAdditionalLightsCount(); + + #if defined(USE_FORWARD_PLUS) + InputData inputData = (InputData)0; + inputData.normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.pos); + inputData.positionWS = input.positionWS; + LIGHT_LOOP_BEGIN(pixelLightCount) + UnityLighting additionalUnityLighting = GetAdditionalUnityLighting(input, normalWS, lightIndex); + col.rgb += GetMToonURPAdditionalLighting(additionalUnityLighting, mtoonInput).rgb; + LIGHT_LOOP_END + #else for (uint lightIndex = 0u; lightIndex < pixelLightCount; ++lightIndex) { UnityLighting additionalUnityLighting = GetAdditionalUnityLighting(input, normalWS, lightIndex); col.rgb += GetMToonURPAdditionalLighting(additionalUnityLighting, mtoonInput).rgb; } #endif + #endif // Apply Fog #ifdef MTOON_URP diff --git a/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_urp.shader b/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_urp.shader index 7144fed58..6b5be5799 100644 --- a/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_urp.shader +++ b/Assets/VRM10/MToon10/Shaders/vrmc_materials_mtoon_urp.shader @@ -112,6 +112,7 @@ Shader "VRM10/Universal Render Pipeline/MToon10" #pragma multi_compile _ _MAIN_LIGHT_SHADOWS #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS + #pragma multi_compile _ _FORWARD_PLUS #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile_fragment _ _SHADOWS_SOFT #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING