您的位置:首页 > 移动开发 > Unity3D

Unity Vector3.Lerp()与Vecotr3.MoveTowards()方法区别

2015-10-13 19:48 2436 查看
<pre name="code" class="html">static function Lerp (from : Vector3, to : Vector3, t : float) : Vector3
两个向量之间的线性插值。
按照数字t在from到to之间插值。
1. 当 t <= 0f, = from 。
2. 当 t >= 1f, = to 。
3. 当 0f < t < 1f, = from + (to - from ) * t。
4. 相当于在规定的时间内完成运动。

static function MoveTowards (current : Vector3, target : Vector3, maxDistanceDelta : float) : Vector3
当前的地点移向目标。
这个函数基本上和Vector3.Lerp相同,而是该函数将确保我们的速度不会超过maxDistanceDelta。maxDistanceDelta的负值从目标推开向量,就是说maxDistanceDelta是正值,当前地点移向目标,如果是负值当前地点将远离目标。
1. maxDistanceDelta有效取值范围:maxDistanceDelta <= (target - current).magnitude(向量的长度),当 maxDistanceDelta > (target - current).magnitude 与 maxDistanceDelta = (target - current).magnitude效果一样。
2. maxDistanceDelta > 0 && maxDistanceDelta <= (target - current).magnitude, 则当前点移向目标target。
3. maxDistanceDelta  < 0 , 则当前点远离目标target。
4. 相当于按照一定的速度匀速完成运动。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: