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

🌅 天空

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

🗿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场景的雾度。此设置对雾气密度的影响会根据“雾气密度”类别的数值进行缩放
SetMoonAngle设置月亮角度
SetMoonGlowIntensity设置月亮光晕强度
SetMoonLightIntensity设置月亮光照强度
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​

场景的雾度。此设置对雾气密度的影响会根据“雾气密度”类别的数值进行缩放
Sky.SetFog(fog_percentage)

Parameters

TypeParameterDefaultDescription
floatfog_percentage Required parameter 雾气浓度,范围从 0 到 100

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

SetMoonLightIntensity​

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

Parameters

TypeParameterDefaultDescription
floatintensity 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.