wiki.sine.space | sinespace

Difference between revisions of "Scripting/SLineRenderer"

From wiki.sine.space
Jump to: navigation, search
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/slinerenderer")
 
Line 1: Line 1:
 
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/slinerenderer
=Public Member Functions=
+
 
+
{{ScriptFunction|void|SetPosition|(int index, SVector position);|Set the position of a vertex in the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|SVector|GetPosition|(int index);|Get the position of a vertex in the line|5=<pre></pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|void|SetPositions|(SVector[] positions);|Set the positions of all vertices in the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|SVector[]|GetPositions|();|description|5=<pre></pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|void|SetWidth|(float start, float end);|Set width at start and end|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|void|SetColors|(SColor start, SColor end);|Set color at start and end (Line shader necessary)|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
 
+
 
+
=Properties=
+
 
+
{{ScriptFunction|bool|Enabled|{ get;set; }|Makes the renderer visible if enabled.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|bool|ReceiveShadows|{ get;set; }|Enable this option to make the line display any shadows that are cast upon it.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|bool|IsVisible|{ get; }|To check if this renderer is visible.|5=<pre></pre>|6=}}
+
 
+
{{ScriptFunction|bool|CastShadows|{ get;set; }|Specify if and how the line casts shadows when a suitable Light shine on it.|5=<pre></pre>|6=<pre>--clicking this object toggles between it's cast shadows option
+
 
+
thisObject = Space.Host.ExecutingObject
+
 
+
function OnClickFunction()
+
  thisObject.LineRenderer.CastShadows =  not thisObject.LineRenderer.CastShadows
+
end
+
 
+
thisObject.AddClickable()
+
thisObject.Clickable.OnClick(OnClickFunction)</pre>}}
+
 
+
{{ScriptFunction|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|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|bool|UseLightProbes|{ get;set; }|The light probe interpolation type.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|float|StartWidth|{ get;set; }|Set the width at the start of the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|float|EndWidth|{ get;set; }|Set the width at the end of the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|float|WidthMultiplier|{ get;set; }|Set an overall multiplier that is applied to the LineRenderer.widthCurve to get the final width of the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|SColor|StartColor|{ get;set; }|Set the color at the start of the line.|5=<pre></pre>|6=<pre>
+
--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)</pre>}}
+
 
+
{{ScriptFunction|SColor|EndColor|{ get;set; }|Set the color at the end of the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|int|PositionCount|{ get;set; }|Set/get the number of vertices.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|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.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|bool|Loop|{ get;set; }|Enable this to connect the first and last positions of the line, and form a closed loop.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|int|NumCornerVertices|{ get;set; }|Set this to a value greater than 0, to get rounded corners between each segment of the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|int|NumCapVertices|{ get;set; }|Set this to a value greater than 0, to get rounded corners on each end of the line.|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|int|TextureMode|{ get;set; }|Control how the Texture is applied to the line. (0-3)|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
{{ScriptFunction|int|Alignment|{ get;set; }|Set the direction that the line faces. (0 or 1)|5=<pre></pre>|6=<pre>--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)</pre>}}
+
 
+
 
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 06:03, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/slinerenderer