gpt4 book ai didi

c++ - 移除刚体,但仍然会发生碰撞

转载 作者:行者123 更新时间:2023-11-28 07:35:54 25 4
gpt4 key购买 nike

移除刚体的正确方法是什么,我这样做就是为了移除它:

void removeRigidBody(btDynamicsWorld* pDynamicsWorld, btRigidBody* rb)
{
pDynamicsWorld->removeRigidBody(rb);
delete rb->getMotionState();
delete rb;
}

但是,在我执行 pDynamicsWorld->stepSimulation

之后,对象仍然出现在 pDynamicsWorld->getCollisionObjectArray()

奇怪的是,这不会发生在 ARM 上,只有 x86。

最佳答案

实际上,这就是我所发现的。在评论中发布代码看起来很糟糕,这就是答案的原因。

     //remove the rigidbodies from the dynamics world and delete them
int i;
for (i=m_dynamicsWorld->getNumCollisionObjects()-1; i>=0 ;i--)
{
btCollisionObject* obj = m_dynamicsWorld->getCollisionObjectArray()[i];
m_dynamicsWorld->removeCollisionObject( obj );
delete obj;
}

所以你从碰撞对象中移除了 body 。

关于c++ - 移除刚体,但仍然会发生碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16774336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com