今日は、2 点間の任意の点の座標を計算する方法を、3 次元点の計算と 2 次元点の計算に分けて説明します。おそらく、開始点の座標に、比率に従って計算された開始点に対するオフセットを加えたものであると考えられます。
/// <summary>
/// 获取两点之间的点
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="progress"></param>
/// <returns></returns>
public static Vector3 BetweenPoint(Vector3 start, Vector3 end, float progress)
{
Vector3 normal = (end - start).normalized;
float distance = Vector3.Distance(start, end);
return normal * (distance * progress) + start;
}
/// <summary>
/// 获取两点之间的点
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="progress"></param>
/// <returns></returns>
public static Vector2 BetweenPoint(Vector2 start, Vector2 end, float progress)
{
Vector2 normal = (end - start).normalized;
float distance = Vector2.Distance(start, end);
return normal * (distance * progress) + start;
}