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
,则启用去色带。去色带会增加少量噪点,这有助于减少天空中颜色的平滑变化而出现的色带。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.