【问题标题】:Collision between kinematic bodies in Bullet PhysicsBullet Physics 中运动学体之间的碰撞
【发布时间】:2017-03-14 09:57:27
【问题描述】:

我正在使用 Bullet Physics Engine。 我创建的世界基于:

  • 静态对象 --> 地面
  • 动态对象 --> 将被其他对象移动。
  • 2 运动对象 --> 它们将移动动态对象。我需要从外部控制它们,所以我需要运动对象。

每个运动学和动态学之间的碰撞按预期工作。

但是,当一个运动学与另一个运动学发生碰撞时,它会超越,我需要它们碰撞并对碰撞做出“反应”(就像一个动态体)

我一直在寻找答案,但没有找到任何解决方案。 我能做些什么? 谢谢

【问题讨论】:

    标签: collision-detection collision bulletphysics bullet kinematics


    【解决方案1】:

    我需要从外部控制它们,所以我需要运动对象

    这种说法并不完全准确。动态对象也可以控制。

    但是,当一个运动学与另一个运动学发生碰撞时,它会超越,我需要它们碰撞并对碰撞做出“反应”(就像一个动态体)

    运动机构不会在引擎内相互碰撞/反应。人们可以在外部重现该代码以使它们做出反应,但不要去那里。如果您必须让您创建的运动物体与其他运动物体发生反应,那么我建议使用动态物体。

    我能做什么?

    而不是将这些物体创建为运动物体:

    1. 将它们创建为动态实体;和
    2. 使用基于力量/冲动的constraint mechanism 来“控制”它们。

    【讨论】:

    • 好吧,我将 body 的方法从 setLinealVelocity() 更改为 ApplyCentralImpulse,一切正常。非常感谢,标记为解决方案。我还将运动学更改为动力学。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多