2011-12-05 3 views
0

내 상사가이 소스 코드를 제공하고 강체 물리학 시뮬레이션 지원을 추가하겠습니다. 기본적으로이 소스 코드는 많은 건물과 트래픽이있는 큰 장면을 시뮬레이션합니다. 나는 코드의 충돌 부분을 확인했지만, 그것은 단순히 충돌을 확인하기 위해 경계 상자를 사용하기 때문에 여기 내 질문이 있습니다 :ODE 및 기타 물리 엔진을 사용한 충돌 감지

  1. 내가 원하는 경우 장면은 500 개 이상의 건물 인, 큰이 강체 물리학을 추가하려면 정적 객체에 각 경계 상자를 추가해야합니까? 그래서 그것은 건물과 상호 작용할 수있는 상자와 같은 새로운 물건입니까?

  2. ode에 500 경계 상자를 추가하면 속도는 어떻습니까? 또는 일부 트릭을 사용해야합니까?

  3. 자동차와 같은 오래된 충돌 물건을 보관하여 광선 테스트를하고 그 결과를 유지하려면 어떻게해야합니까? 가능한 경우,이 건물은 또한 ode에 추가됩니다. 불필요한 것입니까? 충돌 상자가 이미 ode에 있거나 내부 광선 검사 대신 ode ray test를 사용해야합니까? 질문은 기본적으로 두 가지 충돌 작업을 모두 처리하는 효율적인 방법이라는 것입니다.

+0

상사가 준 특정 소스 코드에 대해 이야기합니다. 귀하의 질문과 관련이있는 부분을 보도록하겠습니다. 괜찮습니까? – BoltClock

답변

0

예. 각 건물의 경계 상자 (또는 메시)를 ODE에 추가해야합니다. 일반적으로 모든 건물이 포함 된 QuadTree 공간 또는 해시 공간을 사용합니다. 당신이 실제로 움직이기를 원하지 않는다면 건물은 시체가 필요 없습니다.

"오래된 충돌 물건"이라고 말하고 있습니까? 이미 기존 소스에 충돌 코드가 있습니까?

ODE는 광선 검사를 수행 할 수 있습니다. 모든 테스트에 동일한 메소드를 사용하려면 ODE ray 테스트를 사용하도록 코드를 변경할 수 있습니다.

ODE는 충돌을 전혀 생성 할 필요가 없습니다. 이미 좋은 충돌 감지 기능이 있고 강체 시뮬레이션을 원할 경우 각 프레임에 대해 오른쪽 dJointContact 접합을 생성하여 자동차와 그 환경 사이의 상호 작용을 나타내고 자동차/차체의 몸체/몸체 만 시뮬레이트 (단계) s, 해당 연락처를 기반으로합니다.