![](http://ac.namu.la/20240401sac/b799d04d2922ba9bc040dd242e6552ef08f8c084e1820047054830428037bcbf.jpg?expires=1719795600&key=lk3MuS6ps91LUQeGQrFOqw)
문서 읽어보면서 여러가지 하고있는데
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 이 함수는 보니까 내가 콜백함수를 구현해서 객체를 만든 후 이를 이용해서 필터를 추가하는것 같은데 사용법이 너무... 몰?루겠음..