using System; using UnityEngine; [Serializable] public class CloudVariables { [Tooltip("Clouds Quality. High Performance Impact! Call InitClouds() to apply change in runtime.")] [Range(10f, 200f)] [Header("Setup")] public int Quality = 25; [Tooltip("Segments of generated clouds mesh. Good for curvate meshes. If curved disabled keep it low.")] public int segmentCount = 3; [Tooltip("Thickness of generated clouds mesh.")] public float thickness = 0.4f; [Tooltip("Clouds mesh curved at horizon?")] public bool curved; [Tooltip("Clouds mesh curve intensity.")] public float curvedIntensity = 0.001f; [Tooltip("Clouds tiling/scale modificator.")] [Range(0.5f, 2f)] public float Scaling = 1f; [Tooltip("Base color of clouds.")] [Header("Runtime Settings")] public Color FirstColor; [Tooltip("Shading color of clouds.")] public Color SecondColor; [Tooltip("Coverage rate of clouds generated.")] public float Coverage = 1f; [Tooltip("Density of clouds generated.")] public float Density = 1f; [Tooltip("Clouds alpha modificator.")] public float Alpha = 0.5f; [Tooltip("Clouds morph speed modificator.")] public float Speed1 = 0.5f; [Tooltip("Clouds morph speed modificator.")] public float Speed2 = 1f; [Tooltip("Global wind direction.")] public Vector2 WindDir = new Vector2(1f, 1f); [Tooltip("Offset used for multi layer clouds rendering.")] public float LayerOffset = 0.5f; [HideInInspector] public float AmbientLightIntensity = 0.3f; [HideInInspector] public float DirectLightIntensity = 1f; [Header("Cloud Lighting")] public AnimationCurve DirectLightIntensityTimed; }