Files
WulaFallenEmpireRW/Source/WulaFallenEmpire/Utils/BezierUtil.cs
Tourswen 242866bada 好玩
2025-11-03 02:39:00 +08:00

30 lines
928 B
C#

using System.Collections.Generic;
using UnityEngine;
namespace WulaFallenEmpire.Utils
{
public static class BezierUtil
{
// Generates points for a quadratic Bezier curve.
public static List<Vector3> GenerateQuadraticPoints(Vector3 start, Vector3 control, Vector3 end, int segments)
{
List<Vector3> points = new List<Vector3>();
if (segments <= 0) segments = 1;
for (int i = 0; i <= segments; i++)
{
float t = (float)i / segments;
float u = 1f - t;
float tt = t * t;
float uu = u * u;
Vector3 p = uu * start; // (1-t)^2 * P0
p += 2 * u * t * control; // 2(1-t)t * P1
p += tt * end; // t^2 * P2
points.Add(p);
}
return points;
}
}
}