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键就可以看到效果了。上面是用Vector3的Lerp函数进行缓动的。里面的参数是(Vector3 from,Vector3 to,float time);比如我们想改变light的颜色或者强度intensity,那么参数是2个浮点数,我们就可以用Mathf.Lerp(float from,float to,float time)进行缓动了。

你可能感兴趣的:(游戏编程)