Vector3.Lerp 和 Vector3.SmoothDamp 使用的注意事项

在实现相机平滑跟随玩家的过程中,遇到使用Vector3.Lerp时相机启动速度快、存在眩晕感的问题。尝试使用Vector3.SmoothDamp虽解决了部分问题,但对smoothTime的理解和调整仍导致启动加速感。寻求更优的相机追赶和平滑跟随解决方案。
摘要由CSDN通过智能技术生成

这两天在做相机平滑跟随玩家的功能,之前用的DoTween可以解决很大一部分的问题。但是目标位置如果一直在改变的话,就会有奇怪的眩晕感。所以老大说换着Vector3.Lerp 和 Vector3.SmoothDamp 来解决追赶玩家并保持跟随状态。
一开始用的是Vector3.Lerp,用的时候感觉也还行,但是在相机启动的时候会让人感觉速度很快。而且还有很多需要注意的点,比如里面参数t是传【0,1】之间的。相当于百分比去更新当前的位置 ,那么Vector3.Lerp (a,b,t)需要注意的是a是最开始的位置,不是相机当前的位置。那么在规定的时间里去完成lerp ,t+=1/SmoothTime * Time.deltatime,1/SmoothTime * Time.deltatime 为一帧所需要的步长,相机就会匀速到达目标点。但是由于目标点一直在变化,所以最后展现的有加速减速的感觉。
如果下面的a=transform.position,那么t为一个固定的值0.1f,永远保持10%的位置上。

transform.position = Vector3.Lerp(a, targetPos, 0.1f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值