Unity中利用C#语言控制Line Renderer绘制自己想要的函数曲线

时间:2024-03-18 15:48:15

利用Line Renderer组件绘制自己想要的函数曲线

前言

首先声明我是一名Unity爱好者,目前小白,把最近研究的记录下来,方便以后参考,有不足 支撑希望大家共同探讨。
unity版本为2017.1.1

步骤

1、已知函数关系,比如正弦函数y=sinx
2、打开unity,创建工程
3、创建空物体,并名命“line”。
Unity中利用C#语言控制Line Renderer绘制自己想要的函数曲线
4、添加Line Renderer组件
Unity中利用C#语言控制Line Renderer绘制自己想要的函数曲线
5、创建脚本,名命为Line.并挂载到空物体上。
代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Threading;

public class Line : MonoBehaviour {
    private LineRenderer lr;
    public float x = 0.1f;
    public float y = 0.1f;
    void Start()
    {
        lr = GetComponent<LineRenderer>();
        lr.material = new Material(Shader.Find("Sprites/Default"));
        lr.startWidth = 0.1f;                                    //设置画线开始宽度
        lr.endWidth = 0.1f;                                      //设置画线结束宽度
        lr.startColor = Color.red;                               //设置画线开始颜色
        lr.endColor = Color.red;                                 //设置画线结束颜色

        // Set some positions
        Vector3[] positions = new Vector3[100];                  //100个设置点

        for (int i = 0; i < 100; i++)
        {
            positions[i] = new Vector3(x, y, 0);
            x += 0.1f;
            y = Mathf.Sin(x);                                             //设置函数
           
            //Debug.Log(positions[i]);
        }

        lr.positionCount = positions.Length;
        lr.SetPositions(positions);

    }

6、效果
点击PLAY就可以看到效果了
Unity中利用C#语言控制Line Renderer绘制自己想要的函数曲线
备注:函数可以任意改变,点数也可以任意增加