Table of Contents

Class PhysicalSkyMaterial

A material that defines a sky for a Sky resource by a set of physical properties.

Inheritance
PhysicalSkyMaterial

Remarks

The PhysicalSkyMaterial uses the Preetham analytic daylight model to draw a sky based on physical properties. This results in a substantially more realistic sky than the ProceduralSkyMaterial, but it is slightly slower and less flexible.

The PhysicalSkyMaterial only supports one sun. The color, energy, and direction of the sun are taken from the first DirectionalLight3D in the scene tree.

Properties

energy_multiplier

The sky's overall brightness multiplier. Higher values result in a brighter sky.

var energy_multiplier : float = 1.0

Property Value

float

Remarks

  • void set_energy_multiplier(float value)
  • float get_energy_multiplier

ground_color

Modulates the Color on the bottom half of the sky to represent the ground.

var ground_color : Color = Color(0.1, 0.07, 0.034, 1)

Property Value

Color

Remarks

  • void set_ground_color(Color value)
  • Color get_ground_color

mie_coefficient

Controls the strength of Mie scattering for the sky. Mie scattering results from light colliding with larger particles (like water). On earth, Mie scattering results in a whitish color around the sun and horizon.

var mie_coefficient : float = 0.005

Property Value

float

Remarks

  • void set_mie_coefficient(float value)
  • float get_mie_coefficient

mie_color

Controls the Color of the Mie scattering effect. While not physically accurate, this allows for the creation of alien-looking planets.

var mie_color : Color = Color(0.69, 0.729, 0.812, 1)

Property Value

Color

Remarks

  • void set_mie_color(Color value)
  • Color get_mie_color

mie_eccentricity

Controls the direction of the Mie scattering. A value of 1 means that when light hits a particle it's passing through straight forward. A value of -1 means that all light is scatter backwards.

var mie_eccentricity : float = 0.8

Property Value

float

Remarks

  • void set_mie_eccentricity(float value)
  • float get_mie_eccentricity

night_sky

Texture2D for the night sky. This is added to the sky, so if it is bright enough, it may be visible during the day.

var night_sky : Texture2D

Property Value

Texture2D

Remarks

rayleigh_coefficient

Controls the strength of the Rayleigh scattering. Rayleigh scattering results from light colliding with small particles. It is responsible for the blue color of the sky.

var rayleigh_coefficient : float = 2.0

Property Value

float

Remarks

  • void set_rayleigh_coefficient(float value)
  • float get_rayleigh_coefficient

rayleigh_color

Controls the Color of the Rayleigh scattering. While not physically accurate, this allows for the creation of alien-looking planets. For example, setting this to a red Color results in a Mars-looking atmosphere with a corresponding blue sunset.

var rayleigh_color : Color = Color(0.3, 0.405, 0.6, 1)

Property Value

Color

Remarks

  • void set_rayleigh_color(Color value)
  • Color get_rayleigh_color

sun_disk_scale

Sets the size of the sun disk. Default value is based on Sol's perceived size from Earth.

var sun_disk_scale : float = 1.0

Property Value

float

Remarks

  • void set_sun_disk_scale(float value)
  • float get_sun_disk_scale

turbidity

Sets the thickness of the atmosphere. High turbidity creates a foggy-looking atmosphere, while a low turbidity results in a clearer atmosphere.

var turbidity : float = 10.0

Property Value

float

Remarks

  • void set_turbidity(float value)
  • float get_turbidity

use_debanding

If true, enables debanding. Debanding adds a small amount of noise which helps reduce banding that appears from the smooth changes in color in the sky.

var use_debanding : bool = true

Property Value

bool

Remarks

  • void set_use_debanding(bool value)
  • bool get_use_debanding