天天看点

宝宝跟随、宠物跟随主人

游戏中,宠物幻兽也是必不可少的,此篇博客为大家带来的是利用线性插值Lerp()实现宝宝跟随的效果, Vector3.Lerp((from : Vector3, to : Vector3, t : float),form为初始点,to为终点,t为插值因数,当t=1的时候返回最大值to,当t=0时返回最小值from,t为0~1的浮点小数,以下为让宠物移动的脚本:

//宝宝要到达的位置
    public Transform petPoition;
    //创建一个大龙,获取朝向
    public GameObject dragon;
    void LateUpdate()
    {
        //利用线性插值Lerp()配合增量时间 Time.deltaTime 让宝宝逐渐接近要到达的位置,产生滑动效果。
        transform.position = Vector3.Lerp(transform.position, petPoition.position,Time.deltaTime);
        transform.LookAt(dragon.transform.position);//宝宝看向大龙
           

脚本中LateUpdate()方法在Update方法后执行,通常用于实现物理应用。

Time.deltaTime表示增量时间,通过不断把宝宝的位置变为宝宝位置到要到达的位置的插值,而这个插值的因数为Time.deltaTime最终会等于1,因此插值也就是宝宝最终的位置也会与目标位置重合,而展现的效果也是宝宝一开始跟随的速度快到后来也会越来越慢,但最终不会脱离对象,下面以小龙为例,为大家展示这个效果:

宝宝跟随、宠物跟随主人

线性插值Lerp()方法在游戏制作的应用会很广泛,今后会为大家深入了解。

我是博主小磊,欢迎转载、关注、丢香蕉~~

继续阅读