/// <summary> /// 获取曲线 /// </summary> /// <param name="path"></param> /// <returns></returns> public static List<Vector3> GetCrvePaths(Vector3[] path) { List<Vector3> paths = new List<Vector3>(); try { Vector3[] vector3s = PathControlPointGenerator(path); Vector3 prevPt = Interp(vector3s, 0); paths.Add(prevPt); int SmoothAmount = path.Length * 20; for (int i = 1; i <= SmoothAmount; i++) { float pm = (float)i / SmoothAmount; Vector3 currPt = Interp(vector3s, pm); prevPt = currPt; paths.Add(prevPt); } } catch (System.Exception ex) { } return paths; }
时间: 2024-02-14 11:08:34 浏览: 112
这是一个 C# 的静态方法,用于获取一条曲线的点集合。它接受一个 Vector3 类型的数组作为参数,表示曲线上的控制点。该方法首先通过 PathControlPointGenerator 方法生成一组控制点,然后通过 Interp 方法计算出曲线上的点,并将这些点添加到 List<Vector3> 类型的 paths 中,最后将 paths 返回。在 for 循环中,通过 SmoothAmount 参数控制曲线的平滑度,具体实现是通过使用 Interp 方法计算出每个点的位置,从而得到整条曲线上的点。如果在计算过程中出现异常,该方法会将 paths 返回一个空集合。
阅读全文