충돌 체크에 관한건데요

수학, 물리학 등 게임 프로그래밍의 기반이 되는 이론에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

충돌 체크에 관한건데요

Post by 비회원 »

제가 두개의 육면체를 두고 충돌체크하는데요..
하나의 육면체가 x축으로 이동을하고 ,또다른 하나의 육면체는 멈춰있습니다.

1번 육면체가 -10,0,0 에 있고 2번육면체는 -2,0,0 에위치있는데요
1번육면체가 x축에 +방향으로 움직이는데, 충돌체크를
평면방정식을 이용하여 구현해봤습니다.

각각의 도형에 min,max값을 뽑아서 바운딩박스를 만들어 이동할때마다
min,max값을 다시뽑아서 8개의 위치점을 선언해주고 이 점의 값으로
평면방정식을 유도하는데요,, 문제는

2번도형의 각 점과 1번의 6개의 평면방정식을 이용하여 계산을 하면 정확한 값이 나오지를 않습니다.

제가 개념을 잘못알고 있어서인지 모르겠는데,, 제 생각으로는 법선벡터를 전부 도형 바깥쪽으로
향하게 하고 평면방정식을 이용하여 계산을하면 0이거나 이하의 값이 나오면 충돌을 한걸로
계산을 하게 되면 될꺼라고 생각했는데... 전혀 뜬금없는 값이 나오고
도형이 가까이 가지도않았는데 충돌된것으로 계산이되어 버리는데요..

어떻게 해야하나요?? 그리고 원래 법선벡터는 방향의 의미만 있는건가요??
마지막으로 의문점은 위치가 이동될떄마다 법선벡터나 평면방정식의 값이 바뀌어야 되는거아닌가요??

글이 다소 어지럽게 써졌는데요.. 이해해주시고요.. 이 의문점좀 풀어주세요 ㅜㅜ
비회원

Post by 비회원 »

위치가 이동되면.
평면방정식은 당연히 변하게 되지만
법선벡터는 변하지 않아도 상관없습니다.
그리고 계산할때 법선텍터를 단위벡터로 만들어 주었는지 궁금하군요

Normalize해서 1의 크기로 만들어준다음 내적해서 나오는 계산해야 합니다.
Locked