关于帧同步的平滑表现问题在线讨论

发表于2020-08-10
评论4 8.8k浏览

最近在研究帧同步游戏, 遇到了几个问题想和大家讨论.
首先确定逻辑帧为15/秒, 也就是66ms一次(听说王x荣耀也是这样)

 

1,看文章说物理是放在逻辑帧计算, 也就是说物理更新频率只有15次/秒? 这可能会造成碰撞不精准的问题, 不知道我理解的对不对?

2, 帧同步怎么计时, 协程和update应该是不能用的, 只能用逻辑帧时间?(计时间隔有66ms), 这样也太不精准了?

3,逻辑帧已经碰撞了 但是表现层还在缓动, (举个例子, 逻辑帧已经到达到b点, 这个玩家应该死亡, 但是显示层还在a->b的路上缓动, 这个应该怎么处理呢)

 

谢谢大家

  • 允许他人重新传播作品,但他人重新传播时必须在所使用作品的正文开头的显著位置,注明用户的姓名、来源及其采用的知识共享协议,并与该作品在磨坊上的原发地址建立链接
  • 可对作品重新编排、修改、节选或者以作品为基础进行创作和发布
  • 不可将作品进行商业性使用
  • 需在以作品基础上创作的演绎作品上适用相同类型的知识共享许可条款

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

4个评论

  • 亦枫 2020-11-19 1楼
    我没看过王者荣耀的源码,也不知道怎么针对王者荣耀解答你的问题,不过就我做过得帧同步项目,给出你的答案。第一个问题 物理逻辑帧更新不频繁,会导致物理不精准的问题吗?不会,这里面会涉及到你要在每一帧,进行射线检测算法,来算你每一帧的漏洞,进行及时检测。逻辑帧更新频率慢的话,还有一个好处,就是算法频率不高,这样减轻CPU 运行压力
  • 亦枫 2020-11-19 2楼
    第二个问题 帧同步计时器,是由服务器来计时,和反馈的,客户端进行模拟时间,执行操作每一帧,协程是不能使用的,因为协程更新是根据 渲染帧来走的,Update 处理一些跟渲染有关的,比如平滑移动,平滑转向,帧时间算法,等等。
  • 亦枫 2020-11-19 3楼
    第三个 问题。逻辑帧只会比渲染帧快,不会比渲染帧慢,渲染帧的所有平滑都是基于逻辑帧来做的,
  • 何源 2020-11-28 4楼
    我做的帧同步是Update由帧同步服务器推动的,Upadate中即处理逻辑也处理渲染,通过消息把同步信息推送出去。由各对象自行处理逻辑渲染