物理引擎的选择,bullet还是PhysX?

想做个套圈的游戏,搞了个简单的demo

弄了个环装的mesh
其他都一样,就物理引擎选择不一样
image

然后physX的效果是正确的,bullet有问题,环直接没了,cannon有问题,直接穿透过去

2个问题
1、bullet是什么问题
2、如果用PhysX去发布小游戏,性能会怎样,有没有前辈踩过坑?

ps:昨天用3.4.2 physX也有问题, 然后改回3.3.2 至少有个可以跑 所以用的3.3.2测试的

test1.zip (21.1 KB)

这个是demo工程

最后测试的结果是
bullet引擎 环装结构只有勾选了Convex才能与地板发生碰撞,但是中间镂空的透不过去,一旦不勾选Convex, 发生碰撞就会消失
而用physx引擎,不勾选Convex可以正常的像环套进去

但由于physx引擎打包到手机上运行,ios在运行碰撞逻辑时掉到了几帧,还有就是库文件太大了(4.88M),小游戏分包又是一个问题,所以还是得用回bullet引擎。

想向大佬们了解一下在用bullet引擎的情况下,可以让环装mesh透过去的方案。

至于3.3.2与3.4.2的问题其实不是问题,就是勾选Convex的问题

你用的网格碰撞器?是要开启convex凸包才能进行碰撞吧。。。unity也是这样的吧

是网格碰撞器,bullet开convex确实不会消失,但是中间镂空的部分也透不过去
想要的是那种可以套又可以挂的

一个简单的判断,去github看看谁的星星多

这个镂空没过去是凸包开启后,近似计算结果镂空部分也包含在凸包里了吧,建议你去看unity那搜搜有啥解决方案,别人这部分应该很成熟了。或者你自己用多个球形碰撞器组成一个环形碰撞器,这也是一个解决方法

1赞

可以考虑用多个SphereCollider围成一个环形

感谢各位解答
最终的解决的方案是一个刚体上带8个小环的mesh,每个小环都勾选convex,嗯,大概就跟一个8边形的圆环差不多

physx的碰撞计算量太大了,最终还是选择的bullet

还有就是之前测试的bullet圆环消失bug估计是环没有勾convex,圆环凹的地方导致bullet计算出现问题了,导致消失了

1赞