rra*_*lvv 5 filter collision bulletphysics
有没有办法在Bullet Physics中设置Broadphase Filter Callback如下:
复合动力体由两个形状构成,比如一个圆柱体和一个盒子,其中圆柱体只能与其他动态体内的圆柱碰撞,而盒子只能与第三种体碰撞,这是一个静态的球体
不允许任何其他碰撞:带球体的圆柱体,不得碰撞; 带盒子的盒子,也不要碰撞
下图显示了我上面所描述的内容

你可以这么做。这是代码
struct FilterCallback : public btOverlapFilterCallback
{
virtual bool needBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const;
};
// ....
FilterCallback filterCallback;
// ....
m_dynamicsWorld->getPairCache()->setOverlapFilterCallback(filterCallback);
bool FilterCallback::needBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const
{
// return false for pair with no colision
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |