版本:Unity 6 (6000.0)
语言英语
  • C#

LineRenderer.SetPosition

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提出的每一个更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void SetPosition(int index, Vector3 position);

参数

index 要设置的位置。
position 新的位置。

描述

设置线中顶点的位置。

如果要设置多个位置,请考虑使用 SetPositions,因为它比对每个位置进行单个函数调用快得多。

其他资源:positionCount 属性。

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("Sprites/Default")); lineRenderer.widthMultiplier = 0.2f; lineRenderer.positionCount = 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)); } } }