SLineRenderer
Index
Functions Index
void SetPosition (int index, SVector position)
SVector GetPosition (int index)
void SetPositions (SVector[] positions)
SVector[] GetPositions ()
void SetWidth (float start, float end)
void SetColors (SColor start, SColor end)
Properties Index
bool Enabled get
set
bool ReceiveShadows get
set
bool IsVisible get
bool CastShadows get
set
bool MotionVectors get
set
bool UseLightProbes get
set
float StartWidth get
set
float EndWidth get
set
float WidthMultiplier get
set
SColor StartColor get
set
SColor EndColor get
set
int PositionCount get
set
bool UseWorldSpace get
set
bool Loop get
set
int NumCornerVertices get
set
int NumCapVertices get
set
int TextureMode get
set
int Alignment get
set
SGameObject GameObject get
Functions
SetPosition
void SetPosition (int index, SVector position)
Set the position of a vertex in the line.
Space.Host.ExecutingObject.LineRenderer.SetPosition(1,Vector.New(0,0,0))
--this object will continuously render a line between two different game objects
refObject1 = Space.Host.GetReference("object1") --Add in References section of Scripting Runtime Component
refObject2 = Space.Host.GetReference("object2") --Add in References section of Scripting Runtime Component
thisObject = Space.Host.ExecutingObject
function OnUpdateFunction()
thisObject.LineRenderer.PositionCount = 2 --this is necessary
thisObject.LineRenderer.SetPosition(1,refObject1.WorldPosition)
thisObject.LineRenderer.SetPosition(2,refObject2.WorldPosition)
end
thisObject.OnUpdate(OnUpdateFunction)
GetPosition
SVector GetPosition (int index)
Get the position of a vertex in the line
vectorPosition = Space.Host.ExecutingObject.LineRenderer.GetPosition(1)
SetPositions
void SetPositions (SVector[] positions)
Set the positions of all vertices in the line.
Space.Host.ExecutingObject.LineRenderer.SetPositions({Vector.New(0,0,0) , Vector.New(1,1,1)})
--this object will continuously render a line between two different game objects
refObject1 = Space.Host.GetReference("object1") --Add in References section of Scripting Runtime Component
refObject2 = Space.Host.GetReference("object2") --Add in References section of Scripting Runtime Component
thisObject = Space.Host.ExecutingObject
function OnUpdateFunction()
thisObject.LineRenderer.PositionCount = 2 --this is necessary
thisObject.LineRenderer.SetPositions({refObject1.WorldPosition,refObject2.WorldPosition})
end
thisObject.OnUpdate(OnUpdateFunction)
GetPositions
SVector[] GetPositions ()
Get the positions of all vertices in the line.
tableVectorPositions = Space.Host.ExecutingObject.LineRenderer.GetPositions()
SetWidth
void SetWidth (float start, float end)
Set width at start and end
Space.Host.ExecutingObject.LineRenderer.SetWidth(5,7)
--the below script will make a slider set both the Line Renderer's Start Width and End Width
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
OVC = function()
local width = (refSlider.UISlider.Value * 5) -- from 0 to 5
refLineRenderer.LineRenderer.SetWidth(width,width)
end
refSlider.UISlider.OnValueChanged(OVC)
SetColors
void SetColors (SColor start, SColor end)
Set color at start and end (Line shader necessary)
Space.Host.ExecutingObject.LineRenderer.SetColors(Color.Red, Color.Blue)
--clicking the object will open a color picker that changes both Line Renderer's Start Color and End Color
thisGameObject = Space.Host.ExecutingObject
originalStartColor = thisGameObject.LineRenderer.StartColor
originalEndColor = thisGameObject.LineRenderer.EndColor
OnChange = function(SColor)
thisGameObject.LineRenderer.SetColors(SColor,SColor)
end
OnSelect = function(SColor)
thisGameObject.LineRenderer.SetColors(SColor,SColor)
end
OnCancel = function()
thisGameObject.LineRenderer.SetColors(originalStartColor,originalEndColor)
end
OnClick = function()
Space.Dialogues.ColorPicker("title","okbutton", OnChange, OnSelect, OnCancel, originalStartColor)
end
thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)
Properties
Enabled
bool Enabled get
set
Makes the renderer visible if enabled.
Space.Host.ExecutingObject.LineRenderer.Enabled = false
--clicking this object toggles it's LineRenderer component On/Off
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
thisObject.LineRenderer.Enabled = not thisObject.LineRenderer.Enabled
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
ReceiveShadows
bool ReceiveShadows get
set
Enable this option to make the line display any shadows that are cast upon it.
Space.Host.ExecutingObject.LineRenderer.ReceiveShadows = false
--clicking this object toggles it's Recieve Shadows options
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
thisObject.LineRenderer.ReceiveShadows = not thisObject.LineRenderer.ReceiveShadows
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
IsVisible
bool IsVisible get
To check if this renderer is visible.
isVisible = Space.Host.ExecutingObject.LineRenderer.IsVisible
CastShadows
bool CastShadows get
set
Specify if and how the line casts shadows when a suitable Light shine on it.
Space.Host.ExecutingObject.LineRenderer.CastShadows = true
MotionVectors
bool MotionVectors get
set
Specifies whether this renderer has a per-object motion vector pass. If set to true, this object will have a per-object motion vector pass rendered
Space.Host.ExecutingObject.LineRenderer.MotionVectors = true
--clicking this object toggles it's Line Renderer's Motion Vectors (Per Object Motion or Force no motion)
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
thisObject.LineRenderer.MotionVectors = not thisObject.LineRenderer.MotionVectors
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
UseLightProbes
bool UseLightProbes get
set
The light probe interpolation type.
Space.Host.ExecutingObject.LineRenderer.UseLightProbes = true
--clicking this object toggles it's Light Probe between Off and Blend Mode
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
thisObject.LineRenderer.UseLightProbes = not thisObject.LineRenderer.UseLightProbes
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
StartWidth
float StartWidth get
set
Set the width at the start of the line.
Space.Host.ExecutingObject.LineRenderer.StartWidth = 1
--the below script will make a slider change the Line Renderers start width
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
refSlider.UISlider.Value = refLineRenderer.LineRenderer.StartWidth / 2 --initial position of slider
OVC = function()
refLineRenderer.LineRenderer.StartWidth = (refSlider.UISlider.Value * 2) -- from 0 to 2
end
refSlider.UISlider.OnValueChanged(OVC)
EndWidth
float EndWidth get
set
Set the width at the end of the line.
Space.Host.ExecutingObject.LineRenderer.EndWidth = 2
--the below script will make a slider change the Line Renderer's End Width
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
refSlider.UISlider.Value = refLineRenderer.LineRenderer.EndWidth / 2 --initial position of slider
OVC = function()
refLineRenderer.LineRenderer.EndWidth = (refSlider.UISlider.Value * 2) -- from 0 to 2
end
refSlider.UISlider.OnValueChanged(OVC)
WidthMultiplier
float WidthMultiplier get
set
Set an overall multiplier that is applied to the LineRenderer.widthCurve to get the final width of the line.
Space.Host.ExecutingObject.LineRenderer.WidthMultiplier = 1.2
--the below script will make a slider change the Line Renderer's Width Multiplier
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
refSlider.UISlider.Value = refLineRenderer.LineRenderer.WidthMultiplier / 5 --initial position of slider
OVC = function()
refLineRenderer.LineRenderer.WidthMultiplier = (refSlider.UISlider.Value * 5) -- from 0 to 5
end
refSlider.UISlider.OnValueChanged(OVC)
StartColor
SColor StartColor get
set
Set the color at the start of the line.
Space.Host.ExecutingObject.LineRenderer.StartColor = Color.Red
--clicking the object will open a color picker that changes the Line Renderer's Start Color
thisGameObject = Space.Host.ExecutingObject
originalColor = thisGameObject.LineRenderer.StartColor
OnChange = function(SColor)
thisGameObject.LineRenderer.StartColor = SColor
end
OnSelect = function(SColor)
thisGameObject.LineRenderer.StartColor = SColor
end
OnCancel = function()
thisGameObject.LineRenderer.StartColor = originalColor
end
OnClick = function()
Space.Dialogues.ColorPicker("title","okbutton", OnChange, OnSelect, OnCancel, originalColor)
end
thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)
EndColor
SColor EndColor get
set
Set the color at the end of the line.
Space.Host.ExecutingObject.LineRenderer.EndColor = Color.Blue
--clicking the object will open a color picker that changes the Line Renderer's End Color
thisGameObject = Space.Host.ExecutingObject
originalColor = thisGameObject.LineRenderer.EndColor
OnChange = function(SColor)
thisGameObject.LineRenderer.EndColor = SColor
end
OnSelect = function(SColor)
thisGameObject.LineRenderer.EndColor = SColor
end
OnCancel = function()
thisGameObject.LineRenderer.EndColor = originalColor
end
OnClick = function()
Space.Dialogues.ColorPicker("title","okbutton", OnChange, OnSelect, OnCancel, originalColor)
end
thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)
PositionCount
int PositionCount get
set
Set/get the number of vertices.
Space.Host.ExecutingObject.LineRenderer.PositionCount = 10
--the below script will make a slider change the Line Renderer's Position Count
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
refSlider.UISlider.Value = refLineRenderer.LineRenderer.PositionCount / 20 --initial position of slider
OVC = function()
refLineRenderer.LineRenderer.PositionCount = refSlider.UISlider.Value * 20 -- from 0 to 20
end
refSlider.UISlider.OnValueChanged(OVC)
UseWorldSpace
bool UseWorldSpace get
set
If enabled, the points are considered as world space coordinates. If disabled, they are local to the transform of the GameObject to which this component is attached.
Space.Host.ExecutingObject.LineRenderer.UseWorldSpace = true
--clicking this object toggles it's Use World Space option
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
thisObject.LineRenderer.UseWorldSpace = not thisObject.LineRenderer.UseWorldSpace
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
Loop
bool Loop get
set
Enable this to connect the first and last positions of the line, and form a closed loop.
Space.Host.ExecutingObject.LineRenderer.Loop = true
--clicking this object toggles it's Loop option
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
thisObject.LineRenderer.Loop = not thisObject.LineRenderer.Loop
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
NumCornerVertices
int NumCornerVertices get
set
Set this to a value greater than 0, to get rounded corners between each segment of the line.
Space.Host.ExecutingObject.LineRenderer.NumCornerVertices = 2
--the below script will make a slider change the Line Renderer's Corner Vertices
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
refSlider.UISlider.Value = refLineRenderer.LineRenderer.NumCornerVertices / 10 --initial position of slider
OVC = function()
refLineRenderer.LineRenderer.NumCornerVertices = refSlider.UISlider.Value * 10 -- from 0 to 10
end
refSlider.UISlider.OnValueChanged(OVC)
NumCapVertices
int NumCapVertices get
set
Set this to a value greater than 0, to get rounded corners on each end of the line.
Space.Host.ExecutingObject.LineRenderer.NumCapVertices = 2
--the below script will make a slider change the Line Renderer's End Cap Vertices
thisGameObject = Space.Host.ExecutingObject
refSlider = Space.Host.GetReference("Slider") --Add Reference to Scripting Runtime Component
refLineRenderer = Space.Host.GetReference("LineRenderer") --Add Reference to Scripting Runtime Component
refSlider.UISlider.Value = refLineRenderer.LineRenderer.NumCapVertices / 20 --initial position of slider
OVC = function()
refLineRenderer.LineRenderer.NumCapVertices = refSlider.UISlider.Value * 20 -- from 0 to 10
end
refSlider.UISlider.OnValueChanged(OVC)
TextureMode
int TextureMode get
set
Control how the Texture is applied to the line. (0-3)
Space.Host.ExecutingObject.LineRenderer.TextureMode = 2
--clicking this object toggles between it's 4 Texture Modes
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
if thisObject.LineRenderer.TextureMode == 3 then
thisObject.LineRenderer.TextureMode = 0
else
thisObject.LineRenderer.TextureMode = thisObject.LineRenderer.TextureMode + 1
end
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
Alignment
int Alignment get
set
Set the direction that the line faces. (0 or 1)
Space.Host.ExecutingObject.LineRenderer.Alignment = 1
--clicking this object toggles it's Alignment option between View (0) and Transform Z (1)
thisObject = Space.Host.ExecutingObject
function OnClickFunction()
if thisObject.LineRenderer.Alignment == 0 then
thisObject.LineRenderer.Alignment = 1
else thisObject.LineRenderer.Alignment = 0
end
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
GameObject
SGameObject GameObject get
Property Description
theGameObject = Space.Host.ExecutingObject.LineRenderer.GameObject