答案 0 :(得分:2)
Vector3[] GetPointsInbetween(Vector3 a, Vector3 b, float offset){
int count = (int)((b - a).magnitude / offset);
Vector3[] result = new Vector3[count];
Vector3 delta = (b - a).normalized * offset;
for (int i = 0; i < count; i++) {
result[i] = a + delta * i;
Debug.Log(result[i]);
}
return result;
}
但.magnitude
和.normalized
是非常昂贵的操作,请尽量避免在Update()
中使用此操作
答案 1 :(得分:0)
您可以使用Vector3.MoveTowards
http://docs.unity3d.com/ScriptReference/Vector3.MoveTowards.html
答案 2 :(得分:0)
我不熟悉Unitiy函数,但正式地描述了两点之间的线性插值。点A
和B
之间的线段可以通过参数化形式
A * s + B * (1-s)
其中s
来自[0,1]
区间。