【C# mathf函数】Mathf.Lerp,Mathf.MoveTowards,Mathf.Clamp等等

本文详细解析了Unity中的Mathf.Lerp, Mathf.MoveTowards和Mathf.Clamp三个函数。Lerp用于线性插值,根据参数t在a和b之间进行平滑过渡;MoveTowards则限制每次移动的最大增量,实现匀速接近目标值;Clamp函数确保值始终在指定范围内。这三个函数在游戏开发中,尤其是物体平滑移动和限制值域方面有广泛应用。

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

Mathf.Lerp

public static float Lerp(float a, float b, float t);
解释:根据t在a b之间进行线性差值
返回结果:插值的浮点数结果介于两个浮点数值之间

这个函数的作用就是将值a增加/减少到值b,而增加/减少的过程是根据t来决定的。
t的取值范围是[0~1],相当于百分比

在这里插入图片描述
当初始值为0时,每次返回的结果就是 5,7.5,8.75…直到结果等于10。
如果t = 0.6f,返回结果为6,8.4,9.36…

Mathf.MoveTowards

public static float MoveTowards(float current, float target, float maxDelta);
解释:将当前值移向目标值

这个函数的作用将值a增加/减少到值b,每次增加/减少的值不超过maxDelta,
直到结果等于b

在这里插入图片描述

这两个函数的作用是一样的,只是过程不一样,自然表现也就不一样
Lerp函数可以理解为每次在a和b之间插入(b-a)*t的数值,相当于做先快后慢的运动,比如可以运用在相机跟随角色运动。
MoveTowards函数可以理解为每次a增加/减少不大于maxDelta的数值,相当于做匀速运动。

Mathf.Clamp

public static float Clamp(float value, float min, float max);

如果value处于min和max之间则返回value值,小于min则返回min值,大于max这返回max值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值