我用的是Three.js和Physijs。我有一堵墙,它应该充当边界,但是物体(特别是盒子)经常通过它,如果力足够的话。碰撞是被检测到的,因为它们不那么干净,但是它们开始旋转或者向某个方向弹跳。有没有办法增加墙对碰撞物体的最大作用力?
这面墙的四个点都在同一平面上,形成一个长方形。网格由两个大的三角形面组成。我用的是ConvexMesh。
把这两个三角形分成许多较小的三角形并不能减轻这个问题。
我可以确定法线是好的,因为墙的阴影是正确的。
如何在不将墙壁转换为的情况下解决这个问题?
我也将感谢解释为什么会发生这种情况。我猜引擎限制了碰撞所能施加的最大力。
发布于 2015-10-07 14:03:58
我想是运动夹紧
https://github.com/chandlerprall/Physijs/wiki/Collisions
当一个物体具有较高的速度时,如果它在模拟步骤之间通过和通过其他物体,那么碰撞就会被忽略。若要解决此问题,请启用CCD运动夹紧。对于大小为1的立方体,请尝试: //启用mesh.setCcdMotionThreshold(1),如果物体在一个模拟帧中移动超过1米; //设置嵌入球的半径,使其小于对象mesh.setCcdSweptSphereRadius(0.2);
希望这行得通我现在就试一试
https://stackoverflow.com/questions/27198115
复制相似问题