1.已知两个点,求这两个点之间上的某个距离上的点
使用方法 Vector3 pos = Vector3.MoveTowards(current,target,maxDistanceDelta);
// 摘要:
// Calculate a position between the points specified by current and target, moving
// no farther than the distance specified by maxDistanceDelta.
// 参数:
// current:
// The position to move from.
// target:
// The position to move towards.
// maxDistanceDelta:
// Distance to move current per call.
// 返回结果:
// The new position.
public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);
2.已知起点,求往某个方向上一段距离上的点的位置
Ray ray = new Ray(gunPoint.transform.position, transform.TransformDirection(Vector3.forward));
Vector3 viewportPos = launcherCamera.WorldToViewportPoint(ray.GetPoint(GameInstantiateData.Instance.int_CameraToCastleDis ));
//第一步:创建一个射线,传入起点 跟 射线反向
// 摘要:
// Creates a ray starting at origin along direction.
// 参数:
// origin:
// direction:
public Ray(Vector3 origin, Vector3 direction);
//第二步:通过ray.GetPoint(),传入所需要的距离的值就可以了
// 摘要:
// Returns a point at distance units along the ray.
// 参数:
// distance:
public Vector3 GetPoint(float distance);