ProceduralSkyMaterial
继承: Material
< Resource
< RefCounted
< Object
A material that defines a simple sky for a Sky
resource.
描述
ProceduralSkyMaterial provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are defined by a main color, a color at the horizon, and an easing curve to interpolate between them. Suns are described by a position in the sky, a color, and a max angle from the sun at which the easing curve ends. The max angle therefore defines the size of the sun in the sky.
ProceduralSkyMaterial supports up to 4 suns, using the color, and energy, direction, and angular distance of the first four DirectionalLight3D
nodes in the scene. This means that the suns are defined individually by the properties of their corresponding DirectionalLight3D
s and globally by sun_angle_max
and sun_curve
.
ProceduralSkyMaterial uses a lightweight shader to draw the sky and is therefore suited for real-time updates. This makes it a great option for a sky that is simple and computationally cheap, but unrealistic. If you need a more realistic procedural option, use PhysicalSkyMaterial
.
属性
属性说明
float
energy_multiplier = 1.0
The sky's overall brightness multiplier. Higher values result in a brighter sky.
Color
ground_bottom_color = Color(0.2, 0.169, 0.133, 1)
Color of the ground at the bottom. Blends with ground_horizon_color
.
float
ground_curve = 0.02
How quickly the ground_horizon_color
fades into the ground_bottom_color
.
float
ground_energy_multiplier = 1.0
Multiplier for ground color. A higher value will make the ground brighter.
Color
ground_horizon_color = Color(0.6463, 0.6558, 0.6708, 1)
Color of the ground at the horizon. Blends with ground_bottom_color
.
Texture2D
sky_cover
The sky cover texture to use. This texture must use an equirectangular projection (similar to PanoramaSkyMaterial
). The texture's colors will be added to the existing sky color, and will be multiplied by sky_energy_multiplier
and sky_cover_modulate
. This is mainly suited to displaying stars at night, but it can also be used to display clouds at day or night (with a non-physically-accurate look).
Color
sky_cover_modulate = Color(1, 1, 1, 1)
The tint to apply to the sky_cover
texture. This can be used to change the sky cover's colors or opacity independently of the sky energy, which is useful for day/night or weather transitions. Only effective if a texture is defined in sky_cover
.
float
sky_curve = 0.15
How quickly the sky_horizon_color
fades into the sky_top_color
.
float
sky_energy_multiplier = 1.0
Multiplier for sky color. A higher value will make the sky brighter.
Color
sky_horizon_color = Color(0.6463, 0.6558, 0.6708, 1)
Color of the sky at the horizon. Blends with sky_top_color
.
Color
sky_top_color = Color(0.385, 0.454, 0.55, 1)
Color of the sky at the top. Blends with sky_horizon_color
.
float
sun_angle_max = 30.0
Distance from center of sun where it fades out completely.
float
sun_curve = 0.15
How quickly the sun fades away between the edge of the sun disk and sun_angle_max
.
bool
use_debanding = true
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.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。