Modules
Cloud Definition

Cloud Definition

Altos includes a system for rendering physically based volumetric and 2D clouds in real time in Unity.

Cloud Definition Overview

The cloud definition comprises three parts: Common Configuration, Low Altitude Configuration, and High Altitude Configuration.

Common

Common Configuration lets you set general rendering, lighting, atmosphere, and shadow parameters.

Low Altitude

Low Altitude Configuration lets you set up the Modeling, Lighting, Weather, and Cloud Shape parameters for low-altitude clouds. These are the big, fluffy ones close to the ground.

High Altitude

High Altitude Configuration lets you set up the Density, Cloud Coverage, and input Textures for the high-altitude clouds. These are the high-up, thin, wispy ones.

Cloud Shadows

Cloud Shadows is an experimental feature that supports dynamic, real-time cloud shadows using volumetric clouds.

By default, Altos will sample the cloud shadow map as a post-process. Unfortunately, this will apply shadows to emissive objects, lights, unlit materials, etc.

To get physically-based results, sample from the cloud shadow texture. Use the CloudShadows.hlsl include file and call the GetCloudShadowAttenuation method, passing in the World Space position of the fragment you'd like to shade.

Cloud Fly-Through

You have two options for how Altos handles the Z Distance when rendering clouds. The clouds can either (1) respect depth-writing geometry and occlude objects behind them or (2) ignore depth-writing geometry and render as part of the skybox.

If you want volumetric clouds to render as part of the skybox, set the Rendering Mode to Background Only Clouds.

If you want volumetric clouds to render as part of the scene, set the Rendering Mode to Render In Front of Opaque Geometry.

You cannot have a mix of modes (1) and (2) where you respect some depth-writing geometry and ignore others.

Rendering Off-Screen Clouds

Altos does not render off-screen clouds, but Altos volumetric clouds do account for lighting and shadows from off-screen clouds.

Properties

Low Altitude - Modeling

PropertyUsage
Extinction CoefficientThe cloud density
CloudinessThe overall amount of clouds in the sky
Cloudiness density influenceHow cloud density increases as cloudiness increases
Height density influenceHow cloud density increases as height increases
Cloud density curveHow cloud density modulates over height
Distant Coverage: Start DistanceDistance at which we switch to distant coverage factor
Distant Coverage: CloudinessAmount of clouds in the sky in the distance

Low Altitude - Lighting

PropertyUsage
Max Lighting DistanceUpper limit on the lighting raymarch
Multiple Scattering: OctavesNumber of multiple scattering octaves
Multiple Scattering: Amp GainHow to attenuate intensity each octave
Multiple Scattering: Density GainHow to attenuate density of each octave

Low Altitude - Weather

PropertyUsage
Weathermap TypeOption to use a procedural or texture-based weathermap
OctavesNumber of octaves
GainGain factor for each octave
FrequencyFrequency for each octave
VelocityWind speed of the weathermap layer

Low Altitude - Base Clouds

PropertyUsage
TypeThe type of noise to use for the cloud shape
QualityResolution for the cloud noise
ScaleScales the noise texture
VelocityWind speed of the layer

Low Altitude - Cloud Detail

PropertyUsage
TypeThe type of noise to use for the cloud shape
QualityResolution for the cloud noise
IntensityStrength of the detail noise erosion
Height MappingHeight factor over which detail noise increases from 0 to 1
ScaleScales the noise texture
VelocityWind speed of the layer

Low Altitude - Cloud Distortion

PropertyUsage
TextureInput distortion texture
IntensityStrength of the distortion effect
ScaleScales the noise texture
SpeedRate at which the noise texture moves through space