U3D中,常见的移动方法:
1.从a点移动到b点:
①Vector3.MoveToward方法
a.transform.position = Vector3.MoveTowards(a.transform.position, b.transform.position, Time.deltaTime * speed);
(Time.deltaTime*speed,时间×速度=每帧移动的距离)
②transfrom.translate方法
瞬间移动(闪现):transform.Translate(b.transform.position - a.transfrom.position);
有过程的移动,有两种:
I 匀速移动,原理同MoveToward:
transfrom.Translate((b.transform.position-a.transform.position).normalized * Time.detalTime * speed);
(向量归一化,用Time.detalTime*speed来表示每帧移动的距离)
II 先快后慢,主要因为a向量-b向量,在a移动过程中会不断变小:
transform.Translate((a.transfrom.posiiton-b.transfrom.position) * Time.detalTime *toslow);
((a.transfrom.posiiton-b.transfrom.position) * Time.deta