|
|
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}}
| + | |