matlab的damp返回参数,unity中的差值函数Lerp和SmoothDamp解析(一)

本文详细解析了Unity中的Lerp和SmoothDamp函数,解释了它们的参数含义和应用场景。通过实例展示了如何使用Lerp实现物体平滑移动,以及两种不同的使用方法,分析了它们的非线性和线性变化特点。同时预告了对SmoothDamp的后续解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

相信做unity的同学或多或少都会有对数值变化进行平滑的需求,比如摄像机的移动,物体颜色的渐变等等,我们不想变化太突然,想让变化过度自然,这个时候我们很自然的会用到Lerp()函数或者SmoothDamp()函数(当然用协程也可以实现),但是我最初使用这两个函数的时候,用出来是这个效果,但是确实不是很理解里面参数所代表的意义,后面还是花了一点点的时间才彻底的清楚这个函数的用法,在这篇文章里我会尝试清晰的把这两个函数一次性讲清楚。(不得不吐槽一下,unity官方文档最初对Lerp函数用法的示例!将Time.deltatime加入第三个参数太不利于理解了!)

1.Lerp解析

1.1Lerp原型以及文字释义

在unityAPI中有各种各样的Lerp可供选择什么Color.Lerp,Vector2.Lerp,Vector3.Lerp等等,网上有些教程把他们一个个拿出来解释,我觉得真的是毫无意义的,最关键的只需要理解其中的一个Lerp就足够了,其它Lerp只是针对它的每一个属性去做变化而已,本质是一样的。

那就是Mathf.Lerp()

//a:变化的起始值

//b:变化的目标值

//t:本次调用返回值所占b和a的差值的比例

//返回值为一个float类型

public static float Lerp(float a, float b, float t);

1.2Lerp初体验

我们拿到一个函数,按照常理去理解,应该调用一次就ok了,效果就出来了,那么我们就在Start()里面调用一次试一下

f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值