using System; using UnityEngine; using UnityEngine.Rendering.PostProcessing; [Serializable] [PostProcess(typeof(RampFogRenderer), PostProcessEvent.BeforeTransparent, "PostProcess/RampFog", true)] public sealed class RampFog : PostProcessEffectSettings { [Range(0f, 1f)] [Tooltip("Fog intensity.")] public FloatParameter fogIntensity = new FloatParameter { value = 0.5f }; [Range(0f, 20f)] [Tooltip("Fog Power")] public FloatParameter fogPower = new FloatParameter { value = 1f }; [Range(-1f, 1f)] [Tooltip("The zero value for the fog depth remap.")] public FloatParameter fogZero = new FloatParameter { value = 0f }; [Tooltip("The one value for the fog depth remap.")] [Range(-1f, 1f)] public FloatParameter fogOne = new FloatParameter { value = 1f }; [Range(-100f, 100f)] [Tooltip("The world position value where the height fog begins.")] public FloatParameter fogHeightStart = new FloatParameter { value = 0f }; [Range(-100f, 600f)] [Tooltip("The world position value where the height fog ends.")] public FloatParameter fogHeightEnd = new FloatParameter { value = 100f }; [Range(0f, 5f)] [Tooltip("The overall strength of the height fog.")] public FloatParameter fogHeightIntensity = new FloatParameter { value = 0f }; [Tooltip("Color of the fog at the beginning.")] public ColorParameter fogColorStart = new ColorParameter { value = Color.white }; [Tooltip("Color of the fog at the middle.")] public ColorParameter fogColorMid = new ColorParameter { value = Color.white }; [Tooltip("Color of the fog at the end.")] public ColorParameter fogColorEnd = new ColorParameter { value = Color.white }; [Tooltip("How much of the skybox will leak through?")] [Range(0f, 1f)] public FloatParameter skyboxStrength = new FloatParameter { value = 0f }; }