做一个这种游戏,下落的球最终需要掉落到指定的位置;
目前尝试了物理系统:
理想情况下,只要下落的球初始位置不变,那么下落的轨迹就是固定的;就像这样
但是:box2d里面计算碰撞等,反弹等数据的时候出现浮点等等问题,就会产生不一样的结果
求助一下各位大佬有没有什么好的想法?能达到物理系统的反弹效果
求助一下各位大佬有没有什么好的想法?能达到物理系统的反弹效果
用数学计算 物理引擎刚体太多会卡
这种都是假物理
还好,同时存在几百个刚体也没有卡顿的情况;
你说的数学计算是怎么计算呢,物理引擎也是数学计算
自己写反弹逻辑吗?
物理引擎有太多你这个游戏不需要的计算逻辑。 但是你这里仅仅需要的只有计算入射角和出射角。
录制轨迹。每条路都路径下来。尽量加一些随机的作用力,让他产生不同的结果。我之前有个项目,是前同事做的,就是读取轨迹。服务器给结果,客户端播放随机抽取轨迹
这方法不错
物理要使用帧同步,保证每一帧的计算结果不变。这个需要看源码理解物理系统的运行原理。
这是个赌博游戏吧,我上家公司做这个,老板都被抓了
这个肯定不是真物理啊,他这有规律的,只要控制住小球高度是否能掉入指定格子就行
高度和当前位置能决定球掉落的范围,这个范围只要能包含指定点就50%概率随机往左或右,如果往左无法达到指定位置就直接往右。实际落点在球生成时就决定好了的,过程只要合理就行了
这个以前做过,是单人游戏的,不需要同步啥的,如果要做好点比如链游读博(自行理解哈 )能回查球轨迹的这种就需要跟服务端约定好给你的哈希值包含的移动轨迹信息
用物理引擎跑路径,记录下来,不然物理引擎在不同机型上是会有差别的
可以,简单粗暴
现在的方法就是保存初始掉落的位置,但是引擎计算的时候有点小问题,导致最终的结果不一致了;
你说的轨迹是它掉落的所有点的位置都记录下来吗?
现在尝试自己写假物理
就一个抽奖小游戏
记录每次碰撞后的位置,速度,加速度,角速度,角加速度
就是模拟几条不同的线路随机播放就行了~是定死的~
用A*寻路就可以了~ 每次分叉碰撞按寻路结果走。