Skip to main content

Sky

Interact with built-in Sky & Weather system.


🗿Static Class
This is a Static Class. Access it's methods directly with .. It's not possible to spawn new instances.
💂Authority
This static class can be accessed only on 🟧 Client side.

HELIX natively integrates Ultra Dynamic Sky, one of best Unreal Marketplace Asset Packs, it provides a dynamic sky and weather solution for games!

Through the Sky class, we expose it's methods to allow customizing it's parameters in real time!

Examples

Client/Index.lua
-- Spawns a new Ultra Dynamic Sky actor
Sky.Spawn()

-- Sets the time to 16:30
Sky.SetTimeOfDay(16, 30)

Static Functions

ReturnsNameDescription
SpawnReplaces all Sky/Sun actors with the Ultra Dynamic Sky Actor, to be able to use the functions from this page
DestroyAllSkyDestroys all Directional Lights, Sky Lights, Exponential Height Fogs, Volumetric Clouds, Sky Atmosphere, Ultra Dynamic Sky Actors and all Actors with the Sun Actor Tag from the Level
ReconstructReconstruct the Ultra Dynamic Sky Actor, forces most of the changes to be applied
SetMoonTextureSets the Moon Texture
SetMoonTextureRotationSets the Moon Texture Rotation
SetMoonVerticalOffsetSets the Moon Vertical Offset
SetMoonScaleSets the Moon Scale
SetMoonPhaseSets the Moon Phase
SetMoonGlowIntensitySets the Moon Glow Intensity
SetMoonLightIntensitySets the Moon Light Intensity
SetSunAngleSets the Sun Angle
SetSunRadiusSets the Sun Radius
SetSunLightIntensitySets the Sun Light Intensity
SetSkyModeSets the Sky Mode
SetVolumetricCloudColorSets the Volumetric Cloud Color
SetCloudCoverageThe amount of coverage for the cloud layer, from a clear sky to overcast
SetFogThe fogginess of the scene. The impact this has on fog density is scaled from the Fog Density category
SetContrastA simple contrast boost for the sky material. Cannot affect volumetric clouds
SetOverallIntensityThe overall brightness of the shader
SetNightBrightnessCan be used to scale the brightness of the sky and lighting, at night
SetAnimateTimeOfDaySets whether or not to animate the time of day
SetTimeOfDaySets the current time
integer, integer, integerGetTimeOfDayGets the current time
booleanIsSpawnedReturns if the Ultra Dynamic Sky was spawned
WeatherTypeGetWeatherGets the current weather
ChangeWeatherChanges the current weather

Spawn

Replaces all Sky/Sun actors with the Ultra Dynamic Sky Actor, to be able to use the functions from this page. Internally this calls Sky.DestroyAllSky() automatically

Sky.Spawn(spawn_weather?)
TypeParameterDefaultDescription
booleanspawn_weather?falseWhether or not to spawn the Weather Actor (to be able to use Weather related methods)

DestroyAllSky

Destroys all Directional Lights, Sky Lights, Exponential Height Fogs, Volumetric Clouds, Sky Atmosphere, Ultra Dynamic Sky Actors and all Actors with the Sun Actor Tag from the Level

Sky.DestroyAllSky()

Reconstruct

Reconstruct the Ultra Dynamic Sky Actor, forces most of the changes to be applied

Sky.Reconstruct()

SetMoonTexture

Sets the Moon Texture

Set it to empty to restore the default. After setting it, you must call Sky.Reconstruct() to have it applied properly

Sky.SetMoonTexture(texture)
TypeParameterDefaultDescription
Image Pathtexture

SetMoonTextureRotation

Sets the Moon Texture Rotation

Sky.SetMoonTextureRotation(rotation)
TypeParameterDefaultDescription
floatrotation

SetMoonVerticalOffset

Sets the Moon Vertical Offset

Sky.SetMoonVerticalOffset(offset)
TypeParameterDefaultDescription
floatoffset

SetMoonScale

Sets the Moon Scale

Sky.SetMoonScale(scale)
TypeParameterDefaultDescription
floatscale

SetMoonPhase

Sets the Moon Phase

Sky.SetMoonPhase(phase)
TypeParameterDefaultDescription
floatphaseRanges from 0-30

SetMoonGlowIntensity

Sets the Moon Glow Intensity

Sky.SetMoonGlowIntensity(glow_intensity)
TypeParameterDefaultDescription
floatglow_intensity

SetMoonLightIntensity

Sets the Moon Light Intensity

Sky.SetMoonLightIntensity(intensity)
TypeParameterDefaultDescription
floatintensity

SetSunAngle

Sets the Sun Angle

Sky.SetSunAngle(angle)
TypeParameterDefaultDescription
floatangle

SetSunRadius

Sets the Sun Radius

Sky.SetSunRadius(radius)
TypeParameterDefaultDescription
floatradius

SetSunLightIntensity

Sets the Sun Light Intensity

Sky.SetSunLightIntensity(intensity)
TypeParameterDefaultDescription
floatintensity

SetSkyMode

Sets the Sky Mode

After setting it, you must call Sky.Reconstruct() to have it applied properly

Sky.SetSkyMode(sky_mode)
TypeParameterDefaultDescription
SkyModesky_mode

SetVolumetricCloudColor

Sets the Volumetric Cloud Color

This is only applied if SetSkyMode(SkyMode.VolumetricClouds) is set

Sky.SetVolumetricCloudColor(color)
TypeParameterDefaultDescription
Colorcolor

SetCloudCoverage

The amount of coverage for the cloud layer, from a clear sky to overcast

Sky.SetCloudCoverage(cloud_coverage)
TypeParameterDefaultDescription
floatcloud_coverage

SetFog

The fogginess of the scene. The impact this has on fog density is scaled from the Fog Density category

Sky.SetFog(fog_percentage)
TypeParameterDefaultDescription
floatfog_percentage

SetContrast

A simple contrast boost for the sky material. Cannot affect volumetric clouds

Sky.SetContrast(contrast)
TypeParameterDefaultDescription
floatcontrast

SetOverallIntensity

The overall brightness of the shader

Sky.SetOverallIntensity(intensity)
TypeParameterDefaultDescription
floatintensity

SetNightBrightness

Can be used to scale the brightness of the sky and lighting, at night

Sky.SetNightBrightness(brightness)
TypeParameterDefaultDescription
floatbrightness

SetAnimateTimeOfDay

Sets whether or not to animate the time of day

Sky.SetAnimateTimeOfDay(animate, day_length?, night_length?)
TypeParameterDefaultDescription
booleananimateWhether or not to animate the time of day
float or nilday_length?30.0The time (in minutes) from sunrise to sunset
float or nilnight_length?15.0The time (in minutes) from sunset to sunrise

SetTimeOfDay

Sets the current time

Sky.SetTimeOfDay(hours, minutes)
TypeParameterDefaultDescription
integerhours
integerminutes

GetTimeOfDay

Gets the current time

— Returns integer, integer, integer (hours, minutes, seconds).

local ret_01, ret_02, ret_03 = Sky.GetTimeOfDay()

IsSpawned

Returns if the Ultra Dynamic Sky was spawned

— Returns boolean.

local ret = Sky.IsSpawned(including_weather)
TypeParameterDefaultDescription
booleanincluding_weatherif to check for Weather Actor too

GetWeather

Gets the current weather

— Returns WeatherType.

local ret = Sky.GetWeather()

ChangeWeather

Changes the current weather

Sky.ChangeWeather(weather, transition_time)
TypeParameterDefaultDescription
WeatherTypeweatherweather to change
floattransition_timefade time to completely change to new weather

Events

This entity doesn't have own events.