2011-02-28 5 views
1

지형 충돌을 수행하는 방법을 찾았지만 .raw 파일을 사용하고 있습니다. x를 사용하고 있습니다. 그러나 나는 그들이했던 것과 똑같은 일을 할 수 있다고 생각한다. 그들은 객체의 x, y, z 값을 취하여 지형의 모든 단일 삼각형에 대해 그것을 검사 할 수 있습니다. 그것은 의미가 있지만 느린 것 같습니다. 이것은 모든 단일 삼각형에 대한 선택 검사가 느린 것과 같습니다.
더 빠르고 좋은 방법이 있습니까?
업데이트
내 지형이 평평하지 않습니다. 테두리 상자를 사용한다면 제 평면이 평평하지 않습니다.DirectX 9 지형 충돌

답변

0

충돌을 감지하는 데 걸리는 시간을 크게 줄이는 일반적인 방법 중 하나는 공간을 octree으로 구성하는 것입니다.이 방법을 사용하면 특정 노드에서 충돌이 발생할 수 있는지 여부를 매우 신속하게 판단 할 수 있습니다. 일반적으로 게임 엔진을 사용하여 이러한 종류의 작업을 수행하는 것이 더 쉽습니다.

+0

고도 매핑 된 지형의 경우 실제로 쿼드 트리가 필요하지 않습니다. – Goz

+0

@Goz 좋은 지적;) –

1

지난 번 내가이 라이브러리를 사용하여 Bullet 라이브러리를 사용했습니다. 일반 삼각형 메쉬 및 높이 필드를 포함하여 다양한 시나리오에 맞게 최적화 된 다양한 collision shapes을 선택할 수 있습니다. 물리없이 라이브러리의 충돌 루틴을 사용할 수 있습니다.