mirror of
https://github.com/godotengine/godot.git
synced 2024-11-26 14:13:10 +00:00
385ee5c70b
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
55 lines
4.8 KiB
XML
55 lines
4.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="ProceduralSkyMaterial" inherits="Material" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
A [Material] used with [Sky] to generate a background based on user input parameters.
|
|
</brief_description>
|
|
<description>
|
|
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 very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky.
|
|
The [ProceduralSkyMaterial] uses a lightweight shader to draw the sky and is thus suited for real time updates. When you do not need a quick sky that is not realistic, this is a good option. If you need a more realistic option, try using [PhysicalSkyMaterial] instead.
|
|
The [ProceduralSkyMaterial] supports up to 4 suns. Each sun takes its color, energy, and direction from the corresponding [DirectionalLight3D] in the scene.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<members>
|
|
<member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color" default="Color(0.2, 0.169, 0.133, 1)">
|
|
Color of the ground at the bottom. Blends with [member ground_horizon_color].
|
|
</member>
|
|
<member name="ground_curve" type="float" setter="set_ground_curve" getter="get_ground_curve" default="0.02">
|
|
How quickly the [member ground_horizon_color] fades into the [member ground_bottom_color].
|
|
</member>
|
|
<member name="ground_energy_multiplier" type="float" setter="set_ground_energy_multiplier" getter="get_ground_energy_multiplier" default="1.0">
|
|
Multiplier for ground color. A higher value will make the ground brighter.
|
|
</member>
|
|
<member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color(0.6463, 0.6558, 0.6708, 1)">
|
|
Color of the ground at the horizon. Blends with [member ground_bottom_color].
|
|
</member>
|
|
<member name="sky_cover" type="Texture2D" setter="set_sky_cover" getter="get_sky_cover">
|
|
The sky cover texture to use. This texture must use an equirectangular projection (similar to [PanoramaSkyMaterial]). The texture's colors will be [i]added[/i] to the existing sky color, and will be multiplied by [member sky_energy_multiplier] and [member 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).
|
|
</member>
|
|
<member name="sky_cover_modulate" type="Color" setter="set_sky_cover_modulate" getter="get_sky_cover_modulate" default="Color(1, 1, 1, 1)">
|
|
The tint to apply to the [member 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 [member sky_cover].
|
|
</member>
|
|
<member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.15">
|
|
How quickly the [member sky_horizon_color] fades into the [member sky_top_color].
|
|
</member>
|
|
<member name="sky_energy_multiplier" type="float" setter="set_sky_energy_multiplier" getter="get_sky_energy_multiplier" default="1.0">
|
|
Multiplier for sky color. A higher value will make the sky brighter.
|
|
</member>
|
|
<member name="sky_horizon_color" type="Color" setter="set_sky_horizon_color" getter="get_sky_horizon_color" default="Color(0.6463, 0.6558, 0.6708, 1)">
|
|
Color of the sky at the horizon. Blends with [member sky_top_color].
|
|
</member>
|
|
<member name="sky_top_color" type="Color" setter="set_sky_top_color" getter="get_sky_top_color" default="Color(0.385, 0.454, 0.55, 1)">
|
|
Color of the sky at the top. Blends with [member sky_horizon_color].
|
|
</member>
|
|
<member name="sun_angle_max" type="float" setter="set_sun_angle_max" getter="get_sun_angle_max" default="30.0">
|
|
Distance from center of sun where it fades out completely.
|
|
</member>
|
|
<member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve" default="0.15">
|
|
How quickly the sun fades away between the edge of the sun disk and [member sun_angle_max].
|
|
</member>
|
|
<member name="use_debanding" type="bool" setter="set_use_debanding" getter="get_use_debanding" default="true">
|
|
If [code]true[/code], enables debanding. Debanding adds a small amount of noise which helps reduce banding that appears from the smooth changes in color in the sky.
|
|
</member>
|
|
</members>
|
|
</class>
|