lerp 线性插值 无规律抖动

如图,一个小赛车游戏,镜头脚本下添加跟随小车的逻辑,通过线性插值希望跟随效果有缓动的效果,可是,使用后,会有不规律的抖动出现…而且是有的时候会出现,有的时候不出现,要稍微跑一段时间,有时一开始就会出现

我也怀疑过是自身逻辑问题,可是我直接用坐标同步的方法,没有任何抖动出现,如下图:

无解啊,求引擎组大佬帮忙看看

@Jno

没有理解你想要实现的效果。
跟随效果应该是持续在游戏过程中的,你说的缓动效果指的是什么?

猜测原因是因为经过插值之后,this.node.position 也变化了,导致下一帧插值的时候起始值出现了变化。

就是想实现小车不要一直在镜头中间,通过插值,会有一种缓冲的感觉,可是在unity下面也是用这样的插值函数,实现的跟随没有出现类似的抖动…

求引擎组的大大们帮忙看看:cry: @jare @_PP

摄像机跟随 最好在lateUpdate使用

1赞

+1 Camera的移动最好在lateUpdate里面处理

this.node.x = cc.misc.lerp(this.node.x, 汽车.x, 0.1);
this.node.y = cc.misc.lerp(this.node.y, 汽车.y, 0.1);

是放在update和lateUpdate都试过了…还是很明显的,直接坐标同步不会有抖动,用lerp,跑几分钟就会出现抖动

老哥你的方法我也试过了,自己封装lerp函数再调用,也是一样会有抖动的问题,我在想会是我对车的坐标控制出的问题么?可是如果是车自身的问题的话,应该坐标同步的时候,也会同样的出现抖动才合理

可以打log看一下,是不是update的dt不稳定。

dt不稳定就是必然的了,可是dt我已经作为插值参数了,理论上应该能避免dt的影响

相机一定要放在汽车后面 因为是按照节点树的顺序刷新的 如果相机在前面 会导致先刷新相机坐标 之后汽车坐标再改变的情况

抖动基本上都是摄像机移动逻辑有问题导致画面震动。你看下向量的lerp操作是否有超出targetPosition,一般都是没有clamp操作导致的。

你解决这个问题了没有,如果解决了可以分享下解决方案吗

你玩下我这个是不是你想要得效果?
https://hansen-hjs.github.io/cv/demo/dash/

解决了吗

我的也和你一样,帧率不稳定或者比较低的时候就会出现抖动的情况,兄弟,你后来解决了吗?

好像还挺好玩的

老哥解决了吗