所以我正在进行1v1 2D游戏(使用刚体物理+力量跳跃/移动),如果最后发送位置和当前位置之间的距离是,我每隔0.05秒发送一次位置+速度数据大于设定数量。
因此数据以不一致的间隔到达并且lerping导致抖动运动。是否有人有足够大的大脑来帮助我弄清楚如何平稳地减少以不一致的间隔收到的对手的位置? (例如:间隔:0.06,0.13,0.83,1.64,0.67等)
目前我尝试过的最流畅的方法就是以对手的速度提供,但实际位置会随着时间的推移变得不同步。
它需要感觉你在本地播放,因为没有抖动/打嗝(即使由于网络延迟,位置略微落后于实际位置)。
总而言之,运动完全是基于物理的(所以屏幕上的2个字符总是以弧形移动)所以问题是我如何结合物理来移动对手的弧线以及纠正位置差异?或者这是否使问题过于复杂?
我使用的是C#,但对解决方案逻辑的解释就足够了!