경험에 의한 충돌 감지 학습에 어려움을 겪고 있습니다. 나는 Minecraft라는 박스 게임을 만들고 있으며, 충돌 탐지를 구현하는 단계에 있습니다.C++ 3D 완벽한 충돌 감지
모든 것이 내 자신의 충돌 감지기를 만들고 가능한 한 가벼운 큐브로 구성되어 있기 때문에 x 축과 y 축을 모두 수행했습니다.
"픽셀 완벽"충돌을 만드는 방법이 있습니까? 즉, 플레이어의 경계 상자 (또는 원)가 충돌로 등록 된 상자를 터치 할 때입니까? 그것은 기본적으로 특정 여백 내에서 충돌을 감지
if(-TOUCH_DISTANCE-1 < yPlayer-yBox && yPlayer-yBox < TOUCH_DISTANCE-1)
{
collisionNorth = true;
}
if(-TOUCH_DISTANCE+1 < yPlayer-yBox && yPlayer-yBox < TOUCH_DISTANCE+1)
{
collisionSouth = true;
}
그리고 내가 :(좋아하지 않는 오류를 의미하는 "충돌 벽을 상쇄 +/- 1을 주목하라 : 지금이 내가 한 것입니다. "
더 낮은 속도에서 작동하지만, 일단 속도 변화를 일으킨 다음에는 너무 빨라서 오른쪽으로 넘어가므로 충돌을 더 이상 감지 할 수 없습니다. 입방체를 통해 ... 증명할 수있는 방법이 있습니까?
이것은 특히 플레이어가 고속으로 떨어지는 경우 z 축에서 성가시다. 존경할만한 충돌 마진을 정의 할 때 그것은 궁극적으로 불쾌 해 보일 것입니다 (플레이어 절반은 묻혔습니다).
음, 2 일간 상당의 코드가 있습니다. 연속 모델은 정확한 것일뿐만 아니라 (이 경우) 비용도 저렴합니다. – Solenoid