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.
Checking the stable version of the documentation...
PhysicalSkyMaterial¶
继承: Material < Resource < RefCounted < Object
通过一组物理属性定义 Sky 资源的天空的材质。
描述¶
该 PhysicalSkyMaterial 使用 Preetham 解析日光模型,根据物理属性绘制一个天空。这会产生比 ProceduralSkyMaterial 更加逼真的天空,但速度稍慢且灵活性较差。
该 PhysicalSkyMaterial 仅支持一个太阳。太阳的颜色、能量、和方向,取自场景树中的第一个 DirectionalLight3D。
由于它基于一个日光模型,所以随着日落的结束,天空会逐渐变黑。如果想要一个完整的白天/黑夜循环,则必须通过将其转换为一个 ShaderMaterial,并将一个夜空直接添加到生成的着色器中以添加一个夜空。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
属性说明¶
float energy_multiplier = 1.0
天空整体亮度的乘数。数值越高,天空就越亮。
Color ground_color = Color(0.1, 0.07, 0.034, 1)
调制天空下半部分的 Color,这部分代表地面。
float mie_coefficient = 0.005
控制天空中米氏散射的强度。米氏散射是光与较大的粒子(例如水)碰撞的结果。在地球上,米氏散射的结果是太阳和地平线周围的颜色发白。
Color mie_color = Color(0.69, 0.729, 0.812, 1)
控制天空中米氏散射效果的 Color。虽然在物理上并不准确,但可以创造出看上去像的外星球的天空。
float mie_eccentricity = 0.8
控制米氏散射的方向。值为 1
表示当光照到粒子时会直接穿过。值为-1
表示所有的光都是向后散射的。
Texture2D night_sky
用于夜空的 Texture2D。会添加到天空中,所以足够亮的话在白天也可能会看到。
float rayleigh_coefficient = 2.0
控制瑞利散射的强度。瑞利散射是光与较小粒子碰撞的结果,是天空呈蓝色的原因。
Color rayleigh_color = Color(0.3, 0.405, 0.6, 1)
控制瑞利散射的 Color。虽然在物理上并不准确,但可以创造出看上去像的外星球的天空。例如,将其设为红色 Color,可以得到火星大气的外观,日落时为蓝色。
float sun_disk_scale = 1.0
设置太阳圆盘的大小。默认值基于从地球对太阳的感知大小。
float turbidity = 10.0
设置大气的厚度。高浊度会产生雾状外观的大气,而低浊度会产生更清晰的大气。
bool use_debanding = true
如果为 true
,则启用去色带。去色带会增加少量噪点,这有助于减少天空中颜色的平滑变化而出现的色带。