Unity中使用Lerp()函数实现缓动效果

编程入门 行业动态 更新时间:2024-10-05 19:17:11

Unity中使用Lerp()<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数实现缓动效果"/>

Unity中使用Lerp()函数实现缓动效果

在Unity里面Lerp函数可以实现缓动效果
using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

private Vector3 newPos;void Start (){pos = transform.position;}void Update () {if(Input.GetKeyDown(KeyCode.A))pos = new Vector3(-3,8,22);if(Input.GetKeyDown(KeyCode.D))pos = new Vector3(3,8,22);transform.position = Vector3.Lerp(transform.position,pos,Time.deltaTime);
}

}
若Lerp(from(起点),to(终点),value),则
插值函数Lerp()的工作原理(公式):
返回值 = from+value*(to - from);
需要注意的是,这里的value取值范围为0到1。
上例代码中使 value=Time.deltaTime(每帧中的时间增量(一般来说是从0到1的一个动态数值)),这样当Time.deltaTime平滑增加时,通过插值函数的作用,就时物体的position平滑变动,物体就实现了缓动的效果。

更多推荐

Unity中使用Lerp()函数实现缓动效果

本文发布于:2024-02-14 03:32:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761792.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   效果   Unity   Lerp

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!