Unity的Lerp函数实现缓动

在Unity里面Lerp函数可以实现缓动效果

下面例子实现点光源的移动

在场景中创建好一个平面,一个点光源,我在这里随便放了一个模型。

然后新建c#脚本,代码如下:

using UnityEngine;

using System.Collections;



public class Lerp : MonoBehaviour {

    

    public Vector3 newPos;

    // Use this for initialization

    void Start () {

        newPos = transform.position;

    }

    

    // Update is called once per frame

    void Update () {

        if(Input.GetKeyDown(KeyCode.Q))

            newPos = new Vector3(-3,8,22);

        if(Input.GetKeyDown(KeyCode.E))

            newPos = new Vector3(3,8,22);

        

        transform.position = Vector3.Lerp(transform.position,newPos,Time.deltaTime);

    }

}

 

  然后将脚本拖动到点光上面,按下键盘Q和E键就可以看到效果了。

Unity的Lerp函数实现缓动Unity的Lerp函数实现缓动

上面是用Vector3的Lerp函数进行缓动的。里面的参数是(Vector3 from,Vector3 to,float time);

比如我们想改变light的颜色或者强度intensity,那么参数是2个浮点数,我们就可以用Mathf.Lerp(float from,float to,float time)进行缓动了。

 

你可能感兴趣的:(unity)