private void UpdateRoadWetness()
    {
        if (roadMats == null)
        {
            return;
        }

        if (wetness != wetnessTarget)
        {
            wetness = Mathf.MoveTowards(wetness, wetnessTarget, Time.deltaTime / fadeTime);
            foreach (Material m in roadMats)
            {
                if (wetness > 0)
                {
                    m.DisableKeyword("_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A");
                }
                else
                {
                    m.EnableKeyword("_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A");
                }
                m.SetFloat("_Glossiness", Mathf.Lerp(dryGlossiness, wetGlossiness, wetness));
            }
        }
        wetness = Mathf.Max(roadWetness, wetness);
    }