ProceduralSky
Inherits: Sky < Resource < Reference < Object
根据用户输入的参数按程序生成的 Sky 类型。
描述
ProceduralSky 提供了一种方法,通过定义太阳、天空和地面的程序性参数,以快速创建一个有效的背景。天空和地面非常相似,它们是由地平线上的两种颜色以及在这两种颜色之间插值渐变曲线来定义。同样,太阳也是由天空中的位置、颜色和平缓曲线来描述。同时,太阳也定义了最小和最大的角度,这两个值定义了太阳从开始和结束的距离的平缓曲线,进而,最终定义了天空中太阳的大小。
在参数改变后,ProceduralSky 会在 CPU 上更新。它被存储在一个纹理中,然后在场景中作为背景显示。这使得它相对来说,不适合在游戏进行过程中实时更新。但,如果纹理尺寸足够小,它仍然可以相对频繁地更新,因为当多线程可用时,它是在后台线程上。
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
枚举
enum TextureSize:
TEXTURE_SIZE_256 = 0 —- 天空纹理将为 256x128。
TEXTURE_SIZE_512 = 1 —- 天空纹理将为 512x256。
TEXTURE_SIZE_1024 = 2 —- 天空纹理将为 1024x512。这是默认大小。
TEXTURE_SIZE_2048 = 3 —- 天空纹理将为 2048x1024。
TEXTURE_SIZE_4096 = 4 —- 天空纹理将为 4096x2048。
TEXTURE_SIZE_MAX = 5 —- 代表 TextureSize 枚举的大小。
属性说明
- Color ground_bottom_color
Default |
|
Setter | set_ground_bottom_color(value) |
Getter | get_ground_bottom_color() |
地面底部的颜色。
- float ground_curve
Default |
|
Setter | set_ground_curve(value) |
Getter | get_ground_curve() |
从 ground_horizon_color 渐变到 ground_bottom_color 的速度。
- float ground_energy
Default |
|
Setter | set_ground_energy(value) |
Getter | get_ground_energy() |
来自地面的能量贡献量。
- Color ground_horizon_color
Default |
|
Setter | set_ground_horizon_color(value) |
Getter | get_ground_horizon_color() |
地面在地平线上的颜色。
- float sky_curve
Default |
|
Setter | set_sky_curve(value) |
Getter | get_sky_curve() |
从 sky_horizon_color 渐变到 sky_top_color 的速度。
- float sky_energy
Default |
|
Setter | set_sky_energy(value) |
Getter | get_sky_energy() |
来自天空的能量贡献量。
- Color sky_horizon_color
Default |
|
Setter | set_sky_horizon_color(value) |
Getter | get_sky_horizon_color() |
天空在地平线上的颜色。
- Color sky_top_color
Default |
|
Setter | set_sky_top_color(value) |
Getter | get_sky_top_color() |
天空顶部的颜色。
- float sun_angle_max
Default |
|
Setter | set_sun_angle_max(value) |
Getter | get_sun_angle_max() |
太阳完全淡出消失的位置与太阳中心的距离。
- float sun_angle_min
Default |
|
Setter | set_sun_angle_min(value) |
Getter | get_sun_angle_min() |
太阳开始从实心淡出的距离。
- Color sun_color
Default |
|
Setter | set_sun_color(value) |
Getter | get_sun_color() |
太阳的颜色。
- float sun_curve
Default |
|
Setter | set_sun_curve(value) |
Getter | get_sun_curve() |
太阳在 sun_angle_min 和 sun_angle_max 之间淡出消失的速度。
- float sun_energy
Default |
|
Setter | set_sun_energy(value) |
Getter | get_sun_energy() |
来自太阳的能量贡献量。
- float sun_latitude
Default |
|
Setter | set_sun_latitude(value) |
Getter | get_sun_latitude() |
太阳的极坐标高度。
- float sun_longitude
Default |
|
Setter | set_sun_longitude(value) |
Getter | get_sun_longitude() |
太阳的极坐标方向。
- TextureSize texture_size
Default |
|
Setter | set_texture_size(value) |
Getter | get_texture_size() |
ProceduralSky 将生成的 Texture 的大小。该大小是用 TextureSize 来设置的。