Unity:使用TrailRenderer 逐步生成路线。

TrailRenderer 在Unity中是一种拖尾画线,我们可以利用它画出路线并显示画线过程(动画)。

代码比较简单,如下:

public List gameObjects = new List();//坐标

    public TrailRenderer trailRenderer;

    public Transform tagret;//移动的物体

    public float speed=20;//画线速度
    public float timespeed = 0.01f;  //时间间隔
    void Start()
    {
    
        trailRenderer.autodestruct = false;//取消TrailRenderer的自动销毁

        StartCoroutine(MoveToway1(tagret, gameObjects, 0, speed, timespeed));
    }

    
    public IEnumerator MoveToway1(Transform obj, List ways,  int index1, float speed, float time)
    {
        while (index1 <= ways.Count - 1)
        {
            obj.localPosition = Vector3.MoveTowards(obj.localPosition, ways[index1].transform.position, speed * Time.deltaTime);
            yield return new WaitForSeconds(time);

            if (Vector3.Distance(ways[index1].transform.position, obj.localPosition) < 0.00001f)
            {
                index1++;
            }
        }
   
    }

效果如下:
Unity:使用TrailRenderer 逐步生成路线。_第1张图片
Unity:使用TrailRenderer 逐步生成路线。_第2张图片
使用这种画出路线也有一定的弊端,画线速度过快时线条会不规整,拐弯处锯齿严重。

你可能感兴趣的:(学习记录)