2017-04-12 13 views
0

私はBulletとOpenGLで作業していますが、基本的には画面に表示させたいが衝突はしないようにしたい体が1つあります。1体のすべての衝突を無効にする

ビジュアルである必要があります。

このようなオブジェクトを作成I'am:

btBoxShape* colShape = createBoxShape(btVector3(1, 1, 1)); 
m_collisionShapes.push_back(colShape); 
btTransform startTransform; 
startTransform.setIdentity(); 
btScalar mass(0.5f); 
bool isDynamic = (mass != 0.f); 
btVector3 localInertia(0, 0, 0); 
    if (isDynamic) 
     colShape->calculateLocalInertia(mass, localInertia); 
startTransform.setOrigin(btVector3(5.0, 0.5, 0.0)); 
createRigidBody(mass, startTransform, colShape); 

これは、衝突やその他の弾丸の体と対話する必要はありません。

これを取得するためのフラグなどがありますか?

答えて

1

物理エンジンの計算に渡さずに、描画したいものを描画します。 OpenGLは衝突計算に完全に関係なく、OpenGLで描画することができます。

+0

実際に私が書いたコードでは、箇条書きのボディをグラフィカルに描画するので、コードを変更する代わりにボディからの衝突を無効にすることが可能かどうかを知りたいのです。 – aserrin55

+0

@ aserrin55それでは、どのフラグをチェックしているのか、何を描画するのか、何を描画しないのかを決めるために照会しているものを知るのに役立ちます。 – Vallentin

+0

@VallentinすべてのBullet Bodyをビジュアルにするクラスを追加しました。今、コンクリートのボディの衝突を無効にするフラグや設定パラメータが必要です。もう一度ありがとうございます – aserrin55

0

剛体は何と衝突しないようにする最も簡単な方法は、しかし、もしそれがだと、それが衝突グループの設定、世界に

mWorld->addRigidBody(object, 0, 0); 

注意を剛体を追加する場合は0

にマスクすることがありますダイナミックボディはまだ重力の影響を受けて落ちます。もちろん、必要に応じてこのような設定を使用することもできます。それはすべての衝突を無視しますが、力はまだそのような体に適用することができますことを覚えておいてください。

関連する問題