using Core.Utility; using UnityEngine; public class DrawParabola : MonoBehaviour { public Vector3 startPos = new Vector3(0, 0, 0); public Vector3 targetPos = new Vector3(10, 5, 10); public int segments = 100; // 抛物线段数 private LineRenderer lineRenderer; private Parabola3DPath path; [ContextMenu("dasdasd")] public void Start22() { // 初始化 LineRenderer lineRenderer = gameObject.AddComponent(); lineRenderer.positionCount = segments + 1; lineRenderer.useWorldSpace = true; lineRenderer.startWidth = 0.1f; lineRenderer.endWidth = 0.1f; // 初始化 Parabola3DPath path = new Parabola3DPath(startPos, targetPos); // 绘制抛物线 DrawPath(); } void DrawPath() { for (int i = 0; i <= segments; i++) { float t = i * (path.totalFlightTime / segments); Vector3 position = path.GetPositionAtTime(t); lineRenderer.SetPosition(i, position); } } }