IC8 Python API:RLPy RISpotLight

From Reallusion Wiki!
Revision as of 19:38, 5 January 2023 by Chuck (RL) (Talk | contribs) (Created page with "{{TOC}} {{Parent|IC_8_Python_API:Modules|iC8 Modules}} {{Modified}} ==Description== This class provides spotlight related operations, i.e. whether or not to cast shadows, li...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Main article: iC8 Modules.
Last modified: 01/5/2023

Description

This class provides spotlight related operations, i.e. whether or not to cast shadows, light color, light ray direction, light strength, etc.

Class Methods

RLPy.RISpotLight.ClearRectTexture(self)

Clear rectangle texture of this light.

Experimental API

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.GetDarkenShadowStrength(self)

Get the light darken shadow strength.

Experimental API

Returns

The value of the "shadow strength" attribute of the light node - float

1 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight") # Find the spotlight by name
2 
3 #get light shadow strength
4 print(light_object.GetDarkenShadowStrength())

RLPy.RISpotLight.GetInverseSquare(self)

Get if light's intensity follows inverse-square law in physics.

Experimental API

Returns

True if light's intensity follows inverse-square law, False if it is not - bool

1 # No example

RLPy.RISpotLight.GetRange(self)

Get the light range.

Experimental API

Returns

The value of the "range" attribute of the light node - float

1 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight") # Find the spotlight by name
2 
3 #get light range
4 print(light_object.GetRange())

RLPy.RISpotLight.GetRectWidthHeight(self)

Get the light's rectangle's width & height.

Experimental API

Returns

rectangle's width & height - RLPy.RVector2f

Parameters

kTime[in] The time at which to set the multiplier.
fMultiplier[in] The Light multiplier value.

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.GetSpotLightBeam(self, nAngle, nFalloff, nAttenuation)

Get the spot light beam parameters.

Experimental API

Parameters

nAngle[out] Get the Light angle value - int nFalloff[out] Get the Light falloff value - int nAttenuation[out] Get the Light attenuation value - int

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
 1 # Find the spotlight by name
 2 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight")
 3 
 4 # Set light beam
 5 light_object.SetSpotLightBeam(RLPy.RTime(0), 90, 50, 2)
 6 
 7 # Get light beam
 8 angle = 0
 9 falloff = 0
10 attenuation = 0
11 status, angle, falloff, attenuation = light_object.GetSpotLightBeam(angle, falloff, attenuation)
12 
13 print(status.IsError())  # False
14 print(angle)  # 90
15 print(falloff)  # 50
16 print(attenuation)  # 2

RLPy.RISpotLight.GetTransmission(self)

Get if light transmits through SSS (subsurface scattering) material.

Experimental API

Returns

True if light transmits, False if it doesn't - bool

1 # No example

RLPy.RISpotLight.GetTubeLength(self)

Get the light's tube length.

Experimental API

Returns

light's tube length - float

1 # No example

RLPy.RISpotLight.GetTubeRadius(self)

Get the light's tube Radius.

Experimental API

Returns

light's tube Radius - float

1 # No example

RLPy.RISpotLight.GetTubeSoftRadius(self)

Get the light's tube SoftRadius.

Experimental API

Returns

light's tube SoftRadius - float

1 # No example

RLPy.RISpotLight.IsCastShadow(self)

Get the light if cast shadow enable.

Experimental API

Returns

True if light is cast shadow enable, False if not - bool

1 # Find the spotlight by name
2 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight")
3 print(light_object.IsCastShadow())

RLPy.RISpotLight.IsRectangleShape(self)

Get if light's shape is a rectangle.

Experimental API

Returns

True if light's shape is a rectangle, False if it is not - bool

1 # No example

RLPy.RISpotLight.IsTubeShape(self)

Get if light's shape is a tube, sphere is also considered a tube with zero length.

Experimental API

Returns

True if light's shape is a tube, False if it is not - bool

1 # No example

RLPy.RISpotLight.LoadIes(self, strIesFilePath)

Load an IES file for this light.

Experimental API

Parameters

strIesFilePath[in] The IES file path you want to load - string

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.LoadRectTexture(self, strTexturePath)

Load a rectangle texture for this light.

Experimental API

Parameters

strTexturePath[in] The texture path you want to load - string

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SaveIes(self, strIesFilePath)

Save the IES file of this light.

Experimental API

Parameters

strIesFilePath[in] The IES file path you want to save - string

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SaveRectTexture(self, strTexturePath)

Save the rectangle texture of this light.

Experimental API

Parameters

strTexturePath[in] The texture path you want to save - string

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetCastShadow(self, bEnable)

Set the light's cast shadow is enable.

Experimental API

Parameters

bEnable[in] If light's cast shadow is enable - bool

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # Find the spotlight by name
2 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight")
3 light_object.SetCastShadow(True)
4 print(light_object.IsCastShadow())

RLPy.RISpotLight.SetDarkenShadowStrength(self, kTime, fStrength)

Set the light's shadow strength.

Experimental API

Parameters

fStrength[in] The Light shadow strength value - float

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # Find the spotlight by name
2 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight")
3 
4 # Set light shadow strength
5 light_object.SetDarkenShadowStrength(RLPy.RTime(0), 50.0)

RLPy.RISpotLight.SetInverseSquare(self, b)

Set light's intensity to follow inverse-square law in physics.

Experimental API

Parameters

b[in] If light's intensity follows inverse-square law - bool

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetRange(self, kTime, fRange)

Set the light range.

Experimental API

Parameters

kTime[in] The time at which to set the beam - RLPy.RLTime
fRange[in] The Light range value - float

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # Find the spotlight by name
2 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight")
3 
4 # Set light range
5 light_object.SetRange(RLPy.RTime(0), 1000.0)
6 print(light_object.GetRange())

RLPy.RISpotLight.SetRectangleShape(self, bRectangle)

Set the light's shape to rectangle.

Experimental API

Parameters

bRectangle[in] If light's shape is a rectangle - bool

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetRectWidthHeight(self, vWidthHeight)

Set the light's rectangle's width & height.

Experimental API

Parameters

vWidthHeight[in] rectangle's width & height - RLPy.RVector2f

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetSpotLightBeam(self, kTime, fAngle, fFalloff, fAttenuation)

Set the spot light beam parameters.

Experimental API

Parameters

kTime[in] The time at which to set the beam - RLPy.RLTime
fAngle[in] The Light angle value - float
fFalloff[in] The Light falloff value - float
fAttenuation[in] The Light attenuation value - float

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # use light name to find object
2 light_object = RLPy.RScene.FindObject(RLPy.EObjectType_Light, "Spotlight") 
3 
4 # set light beam
5 angle = 135.0
6 falloff_power = 40.0
7 attenuation = 2
8 light_object.SetSpotLightBeam(RLPy.RTime(0), angle, falloff_power, attenuation)

RLPy.RISpotLight.SetTransmission(self, b)

Set light to transmit through SSS (subsurfarce scattering) material.

Experimental API

Parameters

b[in] If light transmits through SSS matreial - bool

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetTubeLength(self, fLength)

Set the light's tube length.

Experimental API

Parameters

fLength[in] tube length - float

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetTubeRadius(self, radius)

Set the light's tube radius.

Experimental API

Parameters

radius[in] tube radius - float

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetTubeShape(self, bTube)

Set the light's shape to tube, sphere is also considered a tube with zero length.

Experimental API

Parameters

bTube[in] If light's shape is a tube - bool

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example

RLPy.RISpotLight.SetTubeSoftRadius(self, softRadius)

Set the light's tube soft radius.

Experimental API

Parameters

softRadius[in] tube soft radius - float

Returns

RLPy.RStatus.Success - Succeed
RLPy.RStatus.Failure - Fail
1 # No example