通过LineRenderer画线使玩家跟随线条移动
using Cinemachine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CreatLine : MonoBehaviour
{
    public CinemachineVirtualCamera cam;
    public LineRenderer line;
    public GameObject airplane;
    public float speed = 1;
    Queue<Vector3> que = new Queue<Vector3>();
    Vector3 pos;
    float time;
    float startime;
    // Start is called before the first frame update
    void Start()
    {
        pos = airplane.transform.position;//保存飞机坐标初始值
        que.Enqueue(airplane.transform.position);//将飞机初始值加入队列
    }
    // Update is called once per frame
    void Update()
    {
      
        if (Input.GetMouseButton(0))
        {
            Vector3 pp = Camera.main.WorldToScreenPoint(airplane.transform.position);//把飞机的世界坐标转成屏幕坐标
            Vector3 ppp = new Vector3(Input.mousePosition.x, Input.mousePosition.y, pp.z);//这是一个由鼠标在屏幕上的x,y和飞机在屏幕上z轴的点构成的v3坐标
            Vector3 p = Camera.main.ScreenToWorldPoint(ppp);//将这个v3坐标再从新转成世界坐标
            que.Enqueue(p);//加入队列 先进先出 从开始的第一个点开始
            line.positionCount = que.Count;//lineRenderer的端点数量等于队列长度
            line.SetPositions(que.ToArray());//设置端点
          
        }
        else if (Input.GetMouseButtonUp(0))
        {
            PlaneMove();
            cam.Priority = 12;
            cam.Follow = airplane.transform;
            cam.LookAt = airplane.transform;
        }
        if (pos != airplane.transform.position)//当飞机现在 的位置不等于初始坐标
        {
            airplane.transform.position = Vector3.Lerp(airplane.transform.position, pos, (Time.time - startime) / time);
            line.positionCount = que.Count;
            line.SetPositions(que.ToArray());
           
        }
        else if (que.Count > 0)//当队列中的端点数大于0将一直执行
        {
            PlaneMove();
        }
    }
    public void PlaneMove()
    {
        pos = que.Dequeue();//每执行一次进行一次出队
        startime = Time.time;
        time = Vector3.Distance(airplane.transform.position, pos) / speed;
    }
}

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号