ProceduralSkyMaterial¶
继承: Material < Resource < RefCounted < Object
为Sky资源定义简单天空的材质。
描述¶
ProceduralSkyMaterial提供了一种通过定义太阳、天空和地面的程序参数来快速创建有效背景的方法。天空和地面由主色、地平线上的颜色和在它们之间插值的缓和曲线定义。太阳由天空中的位置、颜色和缓和曲线结束时与太阳的最大角度来描述。因此,最大角度定义了天空中太阳的大小。
ProceduralSkyMaterial最多支持4个太阳,使用场景中前四个DirectionalLight节点的颜色、能量、方向和角度距离。这意味着太阳由其对应的DirectionalLights的属性单独定义,全局由sun_angle_max和sun_curve定义。
ProceduralSkyMaterial使用轻量级着色器绘制天空,因此适合实时更新。这使得它成为简单且计算成本低但不现实的天空的绝佳选择。如果您需要更现实的程序选项,请使用PhysicalSkyMaterial。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
属性说明¶
float energy_multiplier = 1.0 🔗
天空的整体亮度乘数。更高的值会导致更亮的天空。
Color ground_bottom_color = Color(0.2, 0.169, 0.133, 1) 🔗
底部地面的颜色。与ground_horizon_color混合。
ground_horizon_color消失在ground_bottom_color的速度有多快。
float ground_energy_multiplier = 1.0 🔗
底色乘数。较高的值将使地面更亮。
Color ground_horizon_color = Color(0.6463, 0.6558, 0.6708, 1) 🔗
地平线上地面的颜色。与ground_bottom_color混合。
要使用的天空覆盖纹理。该纹理必须使用等矩形投影(类似于PanoramaSkyMaterial)。纹理的颜色将添加到现有天空颜色中,并乘以sky_energy_multiplier和sky_cover_modulate。这主要适合在夜间显示星星,但也可以用于显示白天或晚上的云(具有non-physically-accurate外观)。
Color sky_cover_modulate = Color(1, 1, 1, 1) 🔗
应用于sky_cover纹理的色调。这可用于独立于天空能量更改天空覆盖的颜色或不透明度,这对于白天/夜晚或天气转换很有用。仅当纹理在sky_cover中定义时才有效。
sky_horizon_color消失在sky_top_color的速度有多快。
float sky_energy_multiplier = 1.0 🔗
天空颜色的乘数。更高的值将使天空更亮。
Color sky_horizon_color = Color(0.6463, 0.6558, 0.6708, 1) 🔗
地平线上天空的颜色。与sky_top_color混合。
Color sky_top_color = Color(0.385, 0.454, 0.55, 1) 🔗
顶部天空的颜色。与sky_horizon_color混合。
离太阳中心完全消失的距离。
太阳在太阳盘边缘和[member sun_angle_max之间消失的速度有多快。
如果true,则启用去色带。去色带会增加少量噪音,这有助于减少天空颜色平滑变化带来的色带。