SLineRenderer

Index

Functions Index

Properties Index

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

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.