index | Which position to set. |
position | The new position. |
Set the position of the vertex in the line.
Consider using SetPositions instead, if setting multiple positions, as it is much faster than making individual function calls for each position.
See Also: numPositions property.
#pragma strict public var c1: Color = Color.yellow; public var c2: Color = Color.red; public var lengthOfLineRenderer: int = 20; function Start() { var lineRenderer: LineRenderer = gameObject.AddComponent.<LineRenderer>(); lineRenderer.material = new Material(Shader.Find("Particles/Additive")); lineRenderer.widthMultiplier = 0.2f; lineRenderer.numPositions = lengthOfLineRenderer; // A simple 2 color gradient with a fixed alpha of 1.0f. var alpha: float = 1.0f; var gradient: Gradient = new Gradient(); gradient.SetKeys([new GradientColorKey(c1, 0.0f), new GradientColorKey(c2, 1.0f)], [new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f)]); lineRenderer.colorGradient = gradient; } function Update() { var lineRenderer: LineRenderer = GetComponent.<LineRenderer>(); var t: var = Time.time; for (var i: int = 0; i < lengthOfLineRenderer; i++) { lineRenderer.SetPosition(i, new Vector3(i * 0.5f, Mathf.Sin(i + t), 0.0f)); } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour {
// Creates a line renderer that follows a Sin() function // and animates it.
public Color c1 = Color.yellow; public Color c2 = Color.red; public int lengthOfLineRenderer = 20;
void Start() {
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer>(); lineRenderer.material = new Material (Shader.Find("Particles/Additive")); lineRenderer.widthMultiplier = 0.2f; lineRenderer.numPositions = lengthOfLineRenderer;
// A simple 2 color gradient with a fixed alpha of 1.0f. float alpha = 1.0f; Gradient gradient = new Gradient(); gradient.SetKeys( new GradientColorKey[] { new GradientColorKey(c1, 0.0f), new GradientColorKey(c2, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) } ); lineRenderer.colorGradient = gradient; }
void Update() {
LineRenderer lineRenderer = GetComponent<LineRenderer>(); var t = Time.time; for(int i = 0; i < lengthOfLineRenderer; i++) { lineRenderer.SetPosition(i, new Vector3(i * 0.5f, Mathf.Sin(i + t), 0.0f)); } }
}