2017-04-12 3 views
0

저는 Bullet 및 OpenGL을 사용하고 있으며 기본적으로 하나의 몸체가 있습니다.이 몸체는 화면에 표시하고 충돌은 발생시키지 않습니다.하나의 몸체에 대한 모든 충돌 사용 안 함

시각적이어야합니다. 이 같은 객체를 생성

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 모든 글 머리 기호를 시각적으로 만드는 클래스를 추가했습니다. 이제 콘크리트 바디의 충돌을 불가능하게하는 플래그 또는 구성 매개 변수가 필요합니다. 다시 한 번 감사드립니다 – aserrin55

0

강체가 아무것도 충돌하지 확인하는 가장 쉬운 방법은, 그러나 그것은 만약 것으로,이 충돌 그룹의 설정과 세계

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

참고 강체를 추가 할 때 0

에 마스크하는 것입니다 역동적 인 몸체는 여전히 중력에 의해 영향을 받아서 쓰러 질 것입니다. 물론 필요한 경우 이러한 구성을 사용할 수 있습니다. 모든 충돌을 무시하지만 힘은 여전히 ​​그러한 몸에 적용될 수 있다는 것을 명심하십시오.

관련 문제