返回介绍

LineRenderer.SetPositions 设置位置

发布于 2019-12-18 15:37:56 字数 3078 浏览 1986 评论 0 收藏 0

JavaScript => public function SetPositions(positions: Vector3[]): void;
C# => public void SetPositions(Vector3[] positions);

Parameters 参数

Description 描述

Set the positions of all vertices in the line.

设置线条上所有的顶点的位置。

This method is preferred to SetPosition, as it is more efficient to set all positions using a single command than to set each position individually.

该方法更倾向于SetPosition,因为它是使用单个命令设置所有位置比单个地设置每个位置更有效。

JavaScript:

	// Creates a line renderer that follows a Sin() function
	// and animates it.
 
	var c1 : Color = Color.yellow;
	var c2 : Color = Color.red;
	var lengthOfLineRenderer : int = 20;
 
	function Start() {
		 var lineRenderer : LineRenderer = gameObject.AddComponent.<LineRenderer>();
		 lineRenderer.material = new Material (Shader.Find("Particles/Additive"));
		 lineRenderer.SetColors(c1, c2);
		 lineRenderer.SetWidth(0.2,0.2);
		 lineRenderer.SetVertexCount(lengthOfLineRenderer);
	}
 
	function Update() {
		var lineRenderer : LineRenderer = GetComponent.<LineRenderer>();
		var points = new Vector3[lengthOfLineRenderer];
		var t = Time.time;
		for(var i : int = 0; i < lengthOfLineRenderer; i++) {
			points[i] = Vector3(i * 0.5, Mathf.Sin(i + t), 0);
		}
		lineRenderer.SetPositions(points);
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    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.SetColors(c1, c2);
        lineRenderer.SetWidth(0.2F, 0.2F);
        lineRenderer.SetVertexCount(lengthOfLineRenderer);
    }
    void Update() {
        LineRenderer lineRenderer = GetComponent<LineRenderer>();
        Vector3[] points = new Vector3[lengthOfLineRenderer];
        float t = Time.time;
        int i = 0;
        while (i < lengthOfLineRenderer) {
            points[i] = new Vector3(i * 0.5F, Mathf.Sin(i + t), 0);
            i++;
        }
        lineRenderer.SetPositions(points);
    }
}

linerenderer

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文