Unity中Vector3结构体的插值方法

在上一篇文章中我们学习了关于mathf提供的插值运算的静态方法Lerp方法,并用这个方法实现了一个物体跟着另外一个物体移动,但是,mathf的插值运算由于是只对一个值进行运算,所以我们要借助vector3的一个成员变量来实现x,y,z的变化,因为通过this.transform.position.x得到的位置的x只可以得不可以改

而vector3提供的插值运算可以实现位置x,y,z一起变化,即我们直接就可以实现一个物体的位置朝着另外一个物体的位置移动,方便了很多

vector3提供了俩个插值运算的方法,一个是lerp,一个是slerp,它们的区别是运动轨迹的不同,前者是直线运动,后者是弧形运动

vector3提供的俩种方法的使用和mathf里面的运动方法是一样的,一种是先快后慢,永远不会到达,即每一帧会改变开始的位置,随着开始的位置不断接近目标位置速度变化越来越慢。另外一种是匀速运动,要注意当目标位置发生改变的时候,插值系数也要重新置为0,插值系数为0-1当插值系数>=1的时候开始位置到达目标位置,且匀速运动传入的开始位置不可以是每一帧变化的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值