Skip to main content
Version: latest - a1.15.x βš–οΈ

πŸ’‘ Light

A Light represents a Lighting source.

πŸ’‚Authority
This class can be spawned on both 🟧 Client and 🟦 Server (if you spawn it on client, it won't be synchronized with other players).
πŸ‘ͺInheritance
This class inherits from Base Actor .

πŸŽ’ Examples​

local my_light = Light(
Vector(-152, 245, 115),
Rotator(0, 90, 90), -- Relevant only for Rect and Spot light types
Color(1, 0, 0), -- Red Tint
LightType.Point, -- Point Light type
100, -- Intensity
250, -- Attenuation Radius
44, -- Cone Angle (Relevant only for Spot light type)
0, -- Inner Cone Angle Percent (Relevant only for Spot light type)
5000, -- Max Draw Distance (Good for performance - 0 for infinite)
true, -- Whether to use physically based inverse squared distance falloff, where Attenuation Radius is only clamping the light's contribution. (Spot and Point types only)
true, -- Cast Shadows?
true -- Enabled?
)

πŸ—οΈ Constructor​

local my_light = Light(location?, rotation?, color?, light_type?, intensity?, attenuation_radius?, cone_angle?, inner_cone_angle_percent?, max_daw_distance?, use_inverse_squared_falloff?, cast_shadows?, visible?)
TypeNameDefaultDescription
Vector locationVector(0, 0, 0)
Rotator rotationRotator(0, 0, 0)Relevant only for Rect and Spot LightTypes
Color colorColor(1, 1, 1)
LightTypelight_typeLightType.Point
number intensity30
number attenuation_radius250
number cone_angle44Relevant only for Spot LightType
number inner_cone_angle_percent0Inner Cone Angle Percent (Relevant only for Spot LightType) (0-1)
number max_daw_distance5000Max Draw Distance (Good for performance) - 0 for infinite
boolean use_inverse_squared_fallofftrueWhether to use physically based inverse squared distance falloff, where Attenuation Radius is only clamping the light's contribution. (Spot and Point types only)
boolean cast_shadowstrue
boolean visibletrue
tip

nanos world provides 3 types of lights: Spot, Point and Rect. All lights are Dynamic and because of that, very expensive! Keep that in mind before spawning 1000 lights πŸ˜‰.

🦠 Functions​

Inherited Actor Functions
Base Actorscripting-reference/classes/base-classes/actor
ReturnsNameDescription
AddImpulseApplies a force in world world to this Actor
AttachToAttaches this Actor to any other Actor, optionally at a specific bone
DestroyDestroys this Actor
DetachDetaches this Actor from AttachedTo Actor
SetCollisionSets this Actor's collision type
SetForceAdds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel
SetGravityEnabledSets whether gravity is enabled on this Actor
SetVisibilitySets whether the actor is visible or not
SetHighlightEnabledSets whether the highlight is enabled on this Actor, and which highlight index to use
SetOutlineEnabledSets whether the outline is enabled on this Actor, and which outline index to use
SetLifeSpanSets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed.
SetLocationSets this Actor's location in the game world
SetRotationSets this Actor's rotation in the game world
SetRelativeLocationSets this Actor's relative location in local space (only if this actor is attached)
SetRelativeRotationSets this Actor's relative rotation in local space (only if this actor is attached)
SetScaleSets this Actor's scale
SetNetworkAuthoritySets the Player to have network authority over this Actor
SetValueSets a value in this Actor
TranslateToSmoothly moves this actor to a location over a certain time
RotateToSmoothly rotates this actor to an angle over a certain time
boolean IsBeingDestroyedReturns true if this Actor is being destroyed
boolean IsVisibleReturns true if this Actor is visible
boolean IsGravityEnabledReturns true if gravity is enabled on this Actor
boolean IsInWaterReturns true if this Actor is in water
boolean IsNetworkDistributedReturns true if this Actor is currently network distributed
boolean IsValidReturns true if this Actor is valid (i.e. wasn't destroyed and points to a valid Actor)
table of Base Actor GetAttachedEntitiesGets all Actors attached to this Actor
Base Actor or nilGetAttachedToGets the Actor this Actor is attached to
table GetBoundsGets this Actor's bounds
CollisionTypeGetCollisionGets this Actor's collision type
number GetIDGets the universal network ID of this Actor (same on both client and server)
Vector GetLocationGets this Actor's location in the game world
Rotator GetRotationGets this Actor's angle in the game world
Vector GetForceGets this Actor's force (set by SetForce())
boolean HasNetworkAuthorityReturns true if the local Player is currently the Network Authority of this Actor
boolean HasAuthorityGets if this Actor was spawned by the client side
Vector GetScaleGets this Actor's scale
string GetTypeGets the type of this Actor
any GetValueGets a value stored on this Actor at the given key. Please refer to Entity Values for more information
Vector GetVelocityGets this Actor's current velocity
AddActorTagAdds an Unreal Actor Tag to this Actor
RemoveActorTagRemoves an Unreal Actor Tag from this Actor
table of string GetActorTagsGets all Unreal Actor Tags on this Actor
function SubscribeSubscribes to an Event
UnsubscribeUnsubscribes all callbacks from this Event in this Actor within this Package, or only the callback passed
ReturnsNameDescription
SetColorSets the light color
SetTextureLightProfileSets the light Texture Profile
SetCastShadows
SetIntensity
SetAttenuationRadius
boolean GetCastShadows
number GetIntensity
number GetAttenuationRadius
Color GetColor

SetColor​

Sets the light color
my_light:SetColor(color)
TypeParameterDefaultDescription
Color colorThe light color

SetTextureLightProfile​

Sets the light Texture Profile
my_light:SetTextureLightProfile(light_profile)
TypeParameterDefaultDescription
LightProfilelight_profileThe Light Profile to use

SetCastShadows​

my_light:SetCastShadows(is_shadows_enabled)
TypeParameterDefaultDescription
boolean is_shadows_enabled

SetIntensity​

my_light:SetIntensity(intensity)
TypeParameterDefaultDescription
number intensity

SetAttenuationRadius​

my_light:SetAttenuationRadius(attenuation_radius)
TypeParameterDefaultDescription
number attenuation_radius

GetCastShadows​



Returns boolean ()
local ret = my_light:GetCastShadows()

GetIntensity​



Returns number ()
local ret = my_light:GetIntensity()

GetAttenuationRadius​



Returns number ()
local ret = my_light:GetAttenuationRadius()

GetColor​



Returns Color ()
local ret = my_light:GetColor()

πŸš€ Events​

Inherited Actor Events
Base Actorscripting-reference/classes/base-classes/actor
NameDescription
DestroyTriggered when an Actor is destroyed
SpawnTriggered when an Actor is spawned/created
ValueChangeTriggered when an Actor has a value changed with :SetValue()
This entity doesn't have own events.

πŸ’‘ Light Profiles​

Light Profiles are texture files which describes a light's distribution from a light source using real world measured data.

tip

Please check Unreal Engine Light Profile documentation for more information about Light Profiles!

nanos world provides 50 Light Profiles included in the base game which you can use to enhance your Lights. You can set them using :SetTextureLightProfile() with the enum LightProfile.