实现物理引擎的网络同步方案

Reference

浅谈物理引擎的网络同步方案 - 知乎 (zhihu.com)
【火箭联盟物理系统、网络同步讲解(含字幕)】It IS Rocket Science!The Physics of Rocket League Detailed_哔哩哔哩_bilibili
网络同步在游戏历史中的发展变化(五)—— 物理同步 - GameRes游资网

Unity可确定性定点数(软浮点)物理引擎 - JeasonBoy - 博客园 (cnblogs.com)
Unity基于定点数的3D物理系统,可以用于帧同步 - 知乎 (zhihu.com)

图形学物理模拟领域资源整理 - 知乎 (zhihu.com)

好烦,让Unity物理引擎根据给定的Delta来Tick无法做到,只能实现一个简易的物理引擎来做,或者实现一个简易的碰撞检测系统。

即使Unity的物理引擎可以让用户来Tick,但是在实际中即使同样的输入也会有不同的结果,因为浮点计算的存在。

就像什么八叉树检测,八叉树场景管理只是优化的一种方法,同时还可以用多线程优化,但是常见的,一旦涉及到了多线程,就会产生竞态现象。

方案1:使用bepuphysics1int这个定点数物理库

好处是:

不用自己写物理实现,加快开发进度

可以直接用里面的定点数了

坏处是:

有文章中提到这个定点数的物理消耗大

方案2:自己实现一个定点数物理库

好处:

可以多学很多物理检测相关的知识

如果仅仅实现胶囊体圆形规则凸多边形的话不是非常困难

坏处:

这好像是个巨坑,如果按照严格的物理模拟来的话