跳至正文
版本:最新版 - a1.169.2 ⚖️

🌅 天空

与内置的天空与天气系统交互。

🗿Static ClassClient Only🧑‍💻API Source

nanos world 原生集成了 Ultra Dynamic Sky,这是虚幻商城中最出色的资产包之一,它为游戏提供了动态的天空和天气解决方案!

通过 Sky 类,我们公开了它的方法,以便允许实时自定义其参数!

🎒 示例​

Client/Index.lua
-- 生成一个新的 Ultra Dynamic Sky Actor
Sky.Spawn()

-- 将时间设为 16:30
Sky.SetTimeOfDay(16, 30)

🗿 静态函数​

ReturnsNameDescription
ChangeWeather改变天气
DestroyAllSky从关卡中销毁所有的定向光源、天空光源、指数高度雾、体积云、天空大气、超动态天空 Actor 以及所有带有 Sun 标签的 Actor
integer, integer, integerGetTimeOfDay获取当前时间
WeatherTypeGetWeather获取当前天气
booleanIsSpawned返回超动态天空是否已生成
Reconstruct重新构建超动态天空 Actor,强制应用大部分更改
SetAnimateTimeOfDay设置是否为时刻开启动画
SetCloudCoverage云层的覆盖量,从晴空到阴天
SetContrast对天空材质的简单对比度提升。无法影响体积云
SetFog场景的雾度。其对雾密度的影响按雾密度类别缩放。在已生成天气的情况下,它还会将天气的雾固定为此值,因此之后的天气变化会保持该值,直到以 nil 调用
SetMoonAngle设置月亮角度
SetMoonGlowIntensity设置月亮光晕强度
SetMoonLightColor设置月光光照颜色,即月亮在夜间投射的光的颜色
SetMoonLightIntensity设置月亮光照强度
SetMoonMaterialColor设置月亮材质颜色,用于给月亮纹理着色
SetMoonPhase设置月相,从新月到满月循环
SetMoonScale设置月亮大小缩放
SetMoonTexture设置月亮纹理
SetMoonTextureRotation设置月亮纹理旋转
SetMoonVerticalOffset设置月亮垂直偏移
SetNightBrightness可用于缩放夜间天空和照明的亮度
SetOverallIntensity着色器的整体亮度
SetSkyMode设置天空模式
SetSunAngle设置太阳角度
SetSunLightIntensity设置太阳光照强度
SetSunScale设置太阳大小缩放
SetTimeOfDay设置当前时间
SetVolumetricCloudColor设置体积云颜色
booleanSpawn将所有天空/太阳 Actor 替换为超动态天空 Actor,以便能够使用此页面中的函数

Moderate

ChangeWeather​

改变天气
Sky.ChangeWeather(weather, transition_time)

Parameters

TypeParameterDefaultDescription
WeatherTypeweather Required parameter 要改变到的天气类型
floattransition_time Required parameter 完全渐变到新天气所需的时间

Moderate

DestroyAllSky​

从关卡中销毁所有的定向光源、天空光源、指数高度雾、体积云、天空大气、超动态天空 Actor 以及所有带有 Sun 标签的 Actor
Sky.DestroyAllSky()

Moderate

GetTimeOfDay​

获取当前时间
local hours, minutes, seconds = Sky.GetTimeOfDay()

Returns

TypeDescription
integer一天中的小时(0-23)
integer分钟(0-59)
integer秒数(0-59)

See also SetTimeOfDay.


Moderate

GetWeather​

获取当前天气
local ret = Sky.GetWeather()

Returns

TypeDescription
WeatherType当前天气

Optimal

IsSpawned​

返回超动态天空是否已生成
local ret = Sky.IsSpawned(including_weather)

Parameters

TypeParameterDefaultDescription
booleanincluding_weather Required parameter 是否同时检查天气 Actor

Returns

TypeDescription
booleanUltra Dynamic Sky 是否已生成

Slow

Reconstruct​

重新构建超动态天空 Actor,强制应用大部分更改
Sky.Reconstruct()

Moderate

SetAnimateTimeOfDay​

设置是否为时刻开启动画
Sky.SetAnimateTimeOfDay(animate, day_length?, night_length?)

Parameters

TypeParameterDefaultDescription
booleananimate Required parameter 是否为时刻开启动画
float or nilday_length?30.0
从日出到日落的时间(分钟)
float or nilnight_length?15.0
从日落到日出的时间(分钟)

Moderate

SetCloudCoverage​

云层的覆盖量,从晴空到阴天
Sky.SetCloudCoverage(cloud_coverage)

Parameters

TypeParameterDefaultDescription
floatcloud_coverage Required parameter 范围从 0(晴天)到 10(阴天)

Moderate

SetContrast​

对天空材质的简单对比度提升。无法影响体积云
Sky.SetContrast(contrast)

Parameters

TypeParameterDefaultDescription
floatcontrast Required parameter 天空的对比度系数

Moderate

SetFog​

场景的雾度。其对雾密度的影响按雾密度类别缩放。在已生成天气的情况下,它还会将天气的雾固定为此值,因此之后的天气变化会保持该值,直到以 nil 调用
Sky.SetFog(fog_percentage?)

Parameters

TypeParameterDefaultDescription
float or nilfog_percentage?nil
雾量,从 0 到 100,或传入 nil 将雾交还给天气控制

Moderate

SetMoonAngle​

设置月亮角度
Sky.SetMoonAngle(yaw, pitch)

Parameters

TypeParameterDefaultDescription
floatyaw Required parameter 偏航角(度)
floatpitch Required parameter 俯仰角(度)

Moderate

SetMoonGlowIntensity​

设置月亮光晕强度
Sky.SetMoonGlowIntensity(glow_intensity)

Parameters

TypeParameterDefaultDescription
floatglow_intensity Required parameter 新的月晕强度

Moderate

SetMoonLightColor​

设置月光光照颜色,即月亮在夜间投射的光的颜色
Sky.SetMoonLightColor(color)

Parameters

TypeParameterDefaultDescription
Colorcolor Required parameter 新的月光光照颜色

Moderate

SetMoonLightIntensity​

设置月亮光照强度
Sky.SetMoonLightIntensity(intensity)

Parameters

TypeParameterDefaultDescription
floatintensity Required parameter 新的月光光照强度

Moderate

SetMoonMaterialColor​

设置月亮材质颜色,用于给月亮纹理着色。

之后调用 Reconstruct() 以应用该设置
Sky.SetMoonMaterialColor(color)

Parameters

TypeParameterDefaultDescription
Colorcolor Required parameter 新的月亮材质颜色

Moderate

SetMoonPhase​

设置月相,从新月到满月循环
Sky.SetMoonPhase(phase)

Parameters

TypeParameterDefaultDescription
floatphase Required parameter 范围为 0-30

Moderate

SetMoonScale​

设置月亮大小缩放
Sky.SetMoonScale(scale)

Parameters

TypeParameterDefaultDescription
floatscale Required parameter 新的月亮缩放比例

Slow

SetMoonTexture​

设置月亮纹理。

设为空可恢复默认值。设置后,必须调用 Sky.Reconstruct() 才能正确应用
Sky.SetMoonTexture(texture)

Parameters

TypeParameterDefaultDescription
Image Pathtexture Required parameter 新的月亮纹理

Moderate

SetMoonTextureRotation​

设置月亮纹理旋转
Sky.SetMoonTextureRotation(rotation)

Parameters

TypeParameterDefaultDescription
floatrotation Required parameter 新的月亮纹理旋转

Moderate

SetMoonVerticalOffset​

设置月亮垂直偏移
Sky.SetMoonVerticalOffset(offset)

Parameters

TypeParameterDefaultDescription
floatoffset Required parameter 新的月亮垂直偏移量

Moderate

SetNightBrightness​

可用于缩放夜间天空和照明的亮度
Sky.SetNightBrightness(brightness)

Parameters

TypeParameterDefaultDescription
floatbrightness Required parameter 夜间亮度系数

Moderate

SetOverallIntensity​

着色器的整体亮度
Sky.SetOverallIntensity(intensity)

Parameters

TypeParameterDefaultDescription
floatintensity Required parameter 天空的总体亮度系数

Moderate

SetSkyMode​

设置天空模式。

设置后,必须调用 Sky.Reconstruct() 才能正确应用
Sky.SetSkyMode(sky_mode)

Parameters

TypeParameterDefaultDescription
SkyModesky_mode Required parameter 新的天空模式

Moderate

SetSunAngle​

设置太阳角度
Sky.SetSunAngle(yaw, pitch)

Parameters

TypeParameterDefaultDescription
floatyaw Required parameter 偏航角(度)
floatpitch Required parameter 俯仰角(度)

Moderate

SetSunLightIntensity​

设置太阳光照强度
Sky.SetSunLightIntensity(intensity)

Parameters

TypeParameterDefaultDescription
floatintensity Required parameter 新的太阳光照强度

Moderate

SetSunScale​

设置太阳大小缩放
Sky.SetSunScale(radius)

Parameters

TypeParameterDefaultDescription
floatradius Required parameter 新的太阳缩放比例

Moderate

SetTimeOfDay​

设置当前时间
Sky.SetTimeOfDay(hours, minutes, transition_time?)

Parameters

TypeParameterDefaultDescription
integerhours Required parameter 一天中的小时(0-23)
integerminutes Required parameter 分钟(0-59)
float or niltransition_time?0.0
平滑过渡到新时间所需的秒数,设为 0 表示立即更改

See also GetTimeOfDay.


Moderate

SetVolumetricCloudColor​

设置体积云颜色。

这仅在设置了 SetSkyMode(SkyMode.VolumetricClouds) 时才会应用
Sky.SetVolumetricCloudColor(color)

Parameters

TypeParameterDefaultDescription
Colorcolor Required parameter 新的体积云颜色

Slow

Spawn​

将所有天空/太阳 Actor 替换为超动态天空 Actor,以便能够使用此页面中的函数。

在内部,这会自动调用 Sky.DestroyAllSky()
local ret = Sky.Spawn(spawn_weather?, find_existing?)

Parameters

TypeParameterDefaultDescription
booleanspawn_weather?false
是否生成天气 Actor(以便能够使用与天气相关的方法)
booleanfind_existing?true
是否尝试寻找地图中已生成的现有天空与天气 Actor,并改用它们的引用

Returns

TypeDescription
boolean如果地图中找到了现有的超动态天空 Actor 并使用了其引用,则返回 true;如果生成了一个新的,则返回 false

🚀 事件​

This class doesn't have own events.