--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)
--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)
--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)
--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)
--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 ReceiveShadowsgetset
Enable this option to make the line display any shadows that are cast upon it.
--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)
--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)
--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)
--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)
--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 WidthMultipliergetset
Set an overall multiplier that is applied to the LineRenderer.widthCurve to get the final width of the line.
--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)
--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)
--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)
--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 UseWorldSpacegetset
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.
--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 Loopgetset
Enable this to connect the first and last positions of the line, and form a closed loop.
--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 NumCornerVerticesgetset
Set this to a value greater than 0, to get rounded corners between each segment of the line.
--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 NumCapVerticesgetset
Set this to a value greater than 0, to get rounded corners on each end of the line.
--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 TextureModegetset
Control how the Texture is applied to the line. (0-3)
--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)
--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)