문서 읽어보면서 여러가지 하고있는데


collision filtering이 이해가 안되는데


몇 가지 질문이 있음.


1. 같은 그룹, 마스크끼리만 충돌체크가 되는 거임? 그런데 다 다르게 했는데도 지형(질량 0)- 오브젝트간의 충돌은 되던데 이건 지형이여서 그런거임?


2. 1번이 거짓이라면 같은 그룹,마스크가 아니어도 시뮬레이션상에서는 충돌이 되고 충돌 필터링 할때만 걸러지는것임?


3. 충돌이 됐는지 안됐는지 체크하는 함수가

virtual bool needsCollision(btCollisionObject* body0,btCollisionObject* body1); 

virtual bool needsResponse(btCollisionObject* body0,btCollisionObject* body1); 

virtual void dispatchAllCollisionPairs(btOverlappingPairCache* pairCache,const btDispatcherInfo& dispatchInfo,btDispatcher* dispatcher) ;


이렇게 3가지가 있던데


needsCollision과

needsResponse의 차이가 뭐임?


그리고  dispatchAllCollisionPairs  이 함수는 보니까 내가 콜백함수를 구현해서 객체를 만든 후 이를 이용해서 필터를 추가하는것 같은데 사용법이 너무... 몰?루겠음..