防止碰撞在子弹物理学中应用冲量

我正在开发使用Bullet和Ogre的第三人称射击游戏。 当角色模型与世界上的物体碰撞时,例如上电,碰撞对角色施加力并使其旋转。 我怎样才能防止碰撞对角色施加一个力量?

我已经为btDynamicsWorld :: setInternalTickCallback设置了一个方法,所以我知道哪些物体正在碰撞和btManifoldPoint。

请注意,我将Torque应用于身体以便顺利旋转,因此我不能简单地防止旋转。

谢谢你的帮助。


我不熟悉你提到的物理引擎,但是我知道一些关于真实物理的东西......

基本上如果你绘制一个自由的身体图和代表力的箭头,你可以确定净效应。 或者,如果您知道所需的净效应,则可以计算出需要增加力量或移除力量的位置。

您可以在碰撞时增加一个相等且相反的力/扭矩。 这会使你的物体的净力量为零。

或者你可以采取造成这些力量的因素并使它们无质量。 力=质量*加速度。 如果质量为零,并且物理引擎基于真实世界物理,那么它不应该对碰撞产生任何净力。

希望有所帮助。

链接地址: http://www.djcxy.com/p/95469.html

上一篇: Prevent collisions applying impulse in Bullet physics

下一篇: OpenGL + SDL rotation around local axis