using System; using UnityEngine; [Serializable] public class FogSettings { [Tooltip("Unity's fog mode.")] public FogMode Fogmode; [Tooltip("Use the enviro fog image effect?")] public bool AdvancedFog = true; [Tooltip("The Enviro fog material.")] [Header("Fog Material")] public Material fogMaterial; [Tooltip("Use distance fog?")] [Header("Distance Fog")] public bool distanceFog = true; [Tooltip("Use radial distance fog?")] public bool useRadialDistance; [Tooltip("The distance where fog starts.")] public float startDistance; [Tooltip("The intensity of distance fog.")] [Range(0f, 100f)] public float distanceFogIntensity; [Tooltip("Use heightbased fog?")] [Header("Height Fog")] public bool heightFog = true; [Tooltip("The height of heightbased fog.")] public float height = 90f; [Tooltip("The intensity of heightbased fog.")] [Range(0f, 1f)] public float heightDensity = 0.15f; [Tooltip("The noise intensity of heightbased fog.")] [Range(0f, 1f)] public float noiseIntensity = 0.01f; [Tooltip("The noise scale of heightbased fog.")] [Range(0f, 0.1f)] public float noiseScale = 0.1f; [Tooltip("The speed and direction of heightbased fog.")] public Vector2 heightFogVelocity; [Tooltip("This value influence fog from horizon to top.")] [Range(0f, 1f)] [Header("Fog Scattering")] public float skyFogHeight = 1f; [Tooltip("This value influence fogstrength in sky.")] [Range(0f, 1f)] public float skyFogStrength = 0.1f; [Tooltip("This value influence fog color based on current time of day.")] [Range(0f, 1f)] public float scatteringStrenght = 0.5f; }