找人合伙买一个,看下原理 
sixsixsixsixsixsix
另外我在测试过程中,出现了两次不同步的状态,一次应该是楼主说的重启导致的,还有一次是手机卡住然后重连和电脑的不一致(电脑没卡顿),不知道是不是也是因为和重启有关
还是尽量把code时间挪到白天的好
大哥注意休息…出现不同步最好的判断方法就是刷新浏览器,重新演算一遍看能不能回到一样的状态。毕竟导致不同步的因素有很多,也有可能是我处理网络部分代码有bug…但绝对不是上面所说的每帧误差导致的。我只是想演示物理同步的可行性…而这也是我通过无数次测试才得出来的结论
这些函数里面包括sin和cos
既然使用这些函数有可能导致不一致这一点已经达成共识,接下来的问题就是如何不用这些三角函数实现本地物理碰撞计算 —— 这是不可能的,比如碰撞反弹和旋转计算都需要用到他们。
直接替换函数实现不行吗?规定函数实现,那么结果也会一致
还有我想问问楼主在网络波动的状态下,回滚状态是通过服务器状态同步还是客户端自己回滚到上一帧,以及提个建议。个人认为最好的demo是一个类似桌球的项目,给球一个力度让他在固定区域内撞击其他球,球永不销毁,这样才能比较好看出时间有没有对同步造成影响
不同步状态,全都是客户端按帧独立计算
需要的1234
如果做了这些步骤,那么理论上没有就没有不同步的了,除非还有其他未知因素导致结果不一致,楼主的项目应该没啥毛病,虽然我没买
想要排除这些函数的计算,那就等于是在重新改造物理引擎了,但是看楼主的说法似乎并不是这么搞的。
别看了。。。看这个就是纸上谈兵,根本就不需要要使用任何函数,简单的四则运算,不同的机器结果都可能会不同,我是实际测出来过的。你们实锤一下再下结论的好。
举个简单的例子:
56/100 我遇到过有人的机器计算结果是0.5600000001
(大概是两三年前的时候测试过这块)
我当时测试时候用的是一台安卓魅族(好像是联发科的U),另一台是苹果,而且我发现并不是所有运算都有差异,当时测了好久,也只测出一两个实例(当然我没发现的肯定有)。
浮点数在不同硬件上是无法保证完全一致,但在很多硬件上又能相互一致,所以很难看出来问题,帧同步最难的不是技术流程,而是当发现不同步出现的时候怎么去fix,没有健壮的体系去支撑这个bugfix,只能说谁用谁知道。加油:)
我这边就浮点数精度问题,使用decimal计算,precision:9,然后mac机和安卓都会对不上,已经不相信js能做准确的小数计算了
而且刚刚就是mac机web上测试,简单的小数加法,出现了0.000002的误差导致判断出错,不得已把precision改到12才正常,我人都傻了,反正测试阶段,估计真机上卡到爆,后续再说吧,真的js感觉一点都不好用

