人物走路,update中设置位置会抖动

人物走路抖动,希望过来人指点下,找不到什么好的解决办法,也找不到抖动的原因

``我试过moveto,setposition都不太理想,位置是服务器下发的数组,我在update中操作的

伪代码:
update (dt) {
要去的坐标index
if(当前的坐标距离要去的坐标距离<固定值){
index ++
}
人物位置.setPostion()
}

}

没看懂伪代码的表达…
如果我做的话
服务器下发一系列位置数组, 依次取出每个坐标和当前坐标计算出方向,朝着该方向以一定速度更新人物节点坐标就行,到达了一个位置再取数组里面的下一个位置,重复过程至最后一个位置移动完毕

1赞

抖动可能是小数点问题吧

在同步移动时,客户端用从服务器拿到的速度方向来做移动会比较好一些,或者是同步输入,通过相同的移动逻辑进行移动,中间可能会有误差的产生,但只要低于一定的范围就可以接收。如果误差大了再校正,可以通过立方体抖动的方法平滑插值过渡。
楼主有空可以了解一下网络同步算法中的导航推测算法,对你做这种涉及到网络同步的移动会有帮助

1赞

这应该是发帖时间最近的了 creator 2.0.9 亲测还是抖动,对比了laya,就是不抖动。希望官方能解决下,这么明显的问题,自己对比下不就知道了么。

一个update接口里面dt*speed 的去移动 调整speed速度 用个小方块 看的一清二楚的

说dt不稳定的 creator的dt确实不稳定 laya也不是绝对稳定,只不过比creator好些。60帧每秒 打印一帧时间 小于11,大于19的频率比laya高,只能做这么多了

@jare @panda

顶一下

顶 顶顶

https://forum.cocos.com/t/topic/75153/13?u=bigbear

楼主,这个本来就不该是引擎解决的问题

我觉得抖动可能和dt无关,2.4.3空项目添加一个scrollview,随便划一下也能看到明显抖动。

滑动也是基于dt的

兄dei~scrollView 滑动抖动解决了没

没有。。。。