2013-04-14 6 views
0

그래서 boundingbox를 만들고 성공적으로 테스트했습니다. 나는 이제 vector[] corners = new vector[8]vector[] corners1 = new vector[8]에 8 개의 모서리 점을 모두 가지고 있으며 model.intersect (model1) 대신 코드가 무엇인지 궁금 할뿐입니다. 왜 이렇게하고 싶은지 이유는 벡터의 일부 점을 변경하여 모델이 기울기를 올릴 수 있기 때문입니다. 당신이 AABB 충돌을 위해 당신을 위해 그것을 수행하는 BoundingBox의 구조체가 ...Xna BoundingBox 탐지를 수동으로 생성 하시겠습니까?

답변

0

먼저 ....

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.boundingbox.aspx

두 번째 ... 당신은 스스로 그것을 원하는 경우

  1. AABB 충돌을 점검하기 만하면 바운딩 상자의 모든 정점의 최소 및 최대 좌표를 결정하여 경계 최소 및 최대와 비교할 수 있습니다.

    012 당신이 A와 B 객체 사이의 OBB 충돌을 확인해야하는 경우
  2. 만 0 (최소의 정점 인 공간에서 공간

    BVertexInASpace = B.WorldVertex.Select(v => Matrix.Transform(v, A.TransformInverted)); 
    

    의 공간 및 작업에 B의 정점을 변환해야 , 0,0)이며 최대 정점은 (너비, 높이, 깊이)이므로 BVertexInASpace 정점이 내부에 있는지 확인하면됩니다.