@@ -352,6 +352,7 @@ public static void LocalRenderMeshSettings(int layer, int skinnedMeshRendererLen
352352 }
353353 if ( FaceMesh != null )
354354 {
355+ FaceMesh . shadowCastingMode = ShadowCastingMode . Off ;
355356 EnsureShadowOnlyClone ( FaceMesh , layer ) ;
356357 }
357358 }
@@ -402,7 +403,7 @@ private static void EnsureShadowOnlyClone(SkinnedMeshRenderer source, int layer)
402403 // The whole point:
403404 LocalShadowClone . shadowCastingMode = ShadowCastingMode . ShadowsOnly ;
404405 LocalShadowClone . receiveShadows = false ;
405-
406+ LocalShadowClone . lightProbeUsage = LightProbeUsage . Off ;
406407 if ( source . sharedMesh != null )
407408 {
408409 LocalShadowClone . sharedMesh = source . sharedMesh ;
@@ -420,14 +421,12 @@ private static void EnsureShadowOnlyClone(SkinnedMeshRenderer source, int layer)
420421 LocalShadowClone . rootBone = source . rootBone ;
421422 }
422423 LocalShadowClone . updateWhenOffscreen = false ;
423- LocalShadowClone . forceMatrixRecalculationPerRender = false ;
424- // Optional: copy key renderer flags that can affect bounds/skin updates
425- LocalShadowClone . quality = source . quality ;
426- LocalShadowClone . skinnedMotionVectors = source . skinnedMotionVectors ;
427- LocalShadowClone . allowOcclusionWhenDynamic = source . allowOcclusionWhenDynamic ;
428-
429- // Optional: bounds (helps if your bounds are tiny and shadows pop)
424+ LocalShadowClone . forceMatrixRecalculationPerRender = false ;
425+ LocalShadowClone . quality = SkinQuality . Bone1 ;
426+ LocalShadowClone . allowOcclusionWhenDynamic = true ;
427+ LocalShadowClone . skinnedMotionVectors = false ;
430428 LocalShadowClone . localBounds = source . localBounds ;
429+ LocalShadowClone . forceMeshLod = - 1 ;
431430 }
432431 }
433432
0 commit comments