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); }