Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

ProceduralSkyMaterial

Hérite de : Material < Resource < RefCounted < Object

Un matériau qui définit un ciel simple pour une ressource Sky.

Description

ProceduralSkyMaterial fournit un moyen de créer un arrière-plan efficace rapidement en définissant des paramètres procéduraux pour le soleil, le ciel et le sol. Le ciel et le sol sont définis par une couleur principale, une couleur à l'horizon, et une courbe d'assouplissement pour interpoler entre eux. Les soleils sont décrits par une position dans le ciel, une couleur, et un angle maximal depuis le soleil où se termine la courbe d'assoupissement. L'angle maximal définit donc la taille du soleil dans le ciel.

ProceduralSkyMaterial prend en charge jusqu'à 4 soleils, en utilisant la couleur, et l'énergie, la direction et la distance angulaire des quatre premiers nœuds DirectionalLight3D dans la scène. Cela signifie que les soleils sont définis individuellement par les propriétés de leurs DirectionalLight3D et globalement par sun_angle_max et sun_curve.

ProceduralSkyMaterial utilise un shader léger pour dessiner le ciel et est donc adapté aux mises à jour en temps réel. Cela en fait une excellente option pour un ciel simple et peu cher en calculs, mais irréaliste. Si vous avez besoin d'une option procédurale plus réaliste, utilisez PhysicalSkyMaterial.

Propriétés

float

energy_multiplier

1.0

Color

ground_bottom_color

Color(0.2, 0.169, 0.133, 1)

float

ground_curve

0.02

float

ground_energy_multiplier

1.0

Color

ground_horizon_color

Color(0.6463, 0.6558, 0.6708, 1)

Texture2D

sky_cover

Color

sky_cover_modulate

Color(1, 1, 1, 1)

float

sky_curve

0.15

float

sky_energy_multiplier

1.0

Color

sky_horizon_color

Color(0.6463, 0.6558, 0.6708, 1)

Color

sky_top_color

Color(0.385, 0.454, 0.55, 1)

float

sun_angle_max

30.0

float

sun_curve

0.15

bool

use_debanding

true


Descriptions des propriétés

float energy_multiplier = 1.0 🔗

  • void set_energy_multiplier(value: float)

  • float get_energy_multiplier()

Le multiplicateur de luminosité générale du ciel. Des valeurs plus élevées résulteront en un ciel plus lumineux.


Color ground_bottom_color = Color(0.2, 0.169, 0.133, 1) 🔗

  • void set_ground_bottom_color(value: Color)

  • Color get_ground_bottom_color()

Couleur du sol en bas. Est mélangé avec ground_horizon_color.


float ground_curve = 0.02 🔗

  • void set_ground_curve(value: float)

  • float get_ground_curve()

La rapidité avec laquelle la couleur ground_horizon_color change en ground_bottom_color.


float ground_energy_multiplier = 1.0 🔗

  • void set_ground_energy_multiplier(value: float)

  • float get_ground_energy_multiplier()

Multiplicateur pour la couleur du sol. Une valeur plus élevée rendra le sol plus lumineux.


Color ground_horizon_color = Color(0.6463, 0.6558, 0.6708, 1) 🔗

  • void set_ground_horizon_color(value: Color)

  • Color get_ground_horizon_color()

Couleur du sol à l'horizon. Mélangé avec ground_bottom_color.


Texture2D sky_cover 🔗

La texture de couverture du ciel à utiliser. Cette texture doit utiliser une projection équi-rectangulaire (similaire à PanoramaSkyMaterial). Les couleurs de la texture seront ajoutées à la couleur du ciel existante, et seront multipliées par sky_energy_multiplier et sky_cover_modulate. Ceci est principalement adapté à l'affichage d'étoiles de nuit, mais il peut également être utilisé pour afficher des nuages de jour ou de nuit (avec un aspect non physiquement valide).


Color sky_cover_modulate = Color(1, 1, 1, 1) 🔗

  • void set_sky_cover_modulate(value: Color)

  • Color get_sky_cover_modulate()

La teinte à appliquer à la texture sky_cover. Cela peut être utilisé pour changer les couleurs ou l'opacité de la couverture du ciel indépendamment de l'énergie du ciel, ce qui est utile pour les transitions jour/nuit ou météo. Seulement effectif si une texture est définie dans sky_cover.


float sky_curve = 0.15 🔗

  • void set_sky_curve(value: float)

  • float get_sky_curve()

La rapidité avec laquelle la couleur sky_horizon_color change en sky_top_color.


float sky_energy_multiplier = 1.0 🔗

  • void set_sky_energy_multiplier(value: float)

  • float get_sky_energy_multiplier()

Multiplicateur pour la couleur du ciel. Une valeur plus élevée rendra le ciel plus clair.


Color sky_horizon_color = Color(0.6463, 0.6558, 0.6708, 1) 🔗

  • void set_sky_horizon_color(value: Color)

  • Color get_sky_horizon_color()

Couleur du ciel à l'horizon. Se mélange avec sky_top_color.


Color sky_top_color = Color(0.385, 0.454, 0.55, 1) 🔗

  • void set_sky_top_color(value: Color)

  • Color get_sky_top_color()

Couleur du ciel en haut. Se mélange avec sky_horizon_color.


float sun_angle_max = 30.0 🔗

  • void set_sun_angle_max(value: float)

  • float get_sun_angle_max()

Distance depuis le centre du soleil où il s'éteint complètement.


float sun_curve = 0.15 🔗

  • void set_sun_curve(value: float)

  • float get_sun_curve()

À point le soleil s'éteint rapidement entre le bord du disque du soleil et sun_angle_max.


bool use_debanding = true 🔗

  • void set_use_debanding(value: bool)

  • bool get_use_debanding()

Si true, active le debanding. Le debanding ajoute une petite quantité de bruit qui aide à réduire les bandes qui apparaissent suite aux changements lisses de couleur dans le ciel.