좀 더 세밀한 충돌판정을 위해!
Game Project/TPS Style Prototype (3인칭 슈팅) / 2010/03/06 14:02
이전 포스트에 써야 할 내용인데 동영상도 있고 해서 따로 포스트를 작성합니다.
좀비(..;;) 사이사이로 검은색 막대기 같은 것이 보이시나요?
단순 Bounding Sphere 를 이용하여 전체를 감싸는 충돌판정을 해줬었는데 좀 더 세밀하게 조정해주었습니다.
일단 뼈대의 변환행렬을 가져올 수 있어야 합니다. (이전 포스트에서 손에 무기를 쥐어주는 방식으로..)
그리고 해당 뼈대의 모양에 맞게 이쁘게.. x,y,z로 충돌처리 해줄 메쉬를 늘려주고 변환행렬을 곱해 적용시키면 됩니다.
보통은 Box 형식으로 뼈대크기대로 적용하는걸로 보아왔었는데, 제가 적용시켜 놓은것은 Sphere입니다..
모양만보면 절대 Sphere가 아닌데.. Face수를 적게해줘서 저런모양이 나오도록 해줬습니다.
솔직히 Box만들기가 귀찮아서 테스트겸 Sphere로 대신하려고 하였는데 사람형태의 메쉬에는 오히려 Box보다 찌그러트린 Sphere가 잘 맞는 것 같습니다 ㅡ,.ㅡ;;
아, 그리고 이렇게되면 충돌판정 연산수가 기하급수적으로 늘어나게 되지요.
그림에 나온 좀비의 세부 충돌판정용 Sphere의 수는 16개입니다.
만약 좀비가 20마리라면 320번의 연산을 해줘야하는 경우가 생기지요..
그러므로 Bounding Sphere를 이용하여 연산 수를 줄여줘야 합니다.
처음엔 뼈대정보도 얻어올 필요 없이 그냥 좀비의 위치만 얻어오고 좀비 메쉬의 크기만한 Bounding Sphere와의 충돌을 판정합니다.
만약 이전 단계가 참이라면 그때 세부 충돌판정을 해 주면 되겠지요.. 위의 그림처럼 타겟부분에 유효한 좀비가 하나만 들어왔다면
연산수는 320번에서 35번으로 확 줄어들게 됩니다.
꼭 세부충돌판정을 또다른 충돌판정으로 접근하진 않아도 됩니다. 방식에는 여러가지가 있지요~
전체 지도의 몬스터가 매우 많고 화면에 분포는 적을경우에는 세부충돌판정을 위해 Bounding Sphere를 사용하는 것 보다 현재 카메라의 View행렬, Projection 행렬 정보를 통해 보이지 않는 각도는 아예 제외시켜버리는 방법도 있습니다.
'Game Project > TPS Style Prototype (3인칭 슈팅)' 카테고리의 다른 글
| 좀 더 세밀한 충돌판정을 위해! (2) | 2010/03/06 |
|---|---|
| 2010. 03. 06 작업현황 (0) | 2010/03/06 |
| 2010. 02. 28 작업현황 (0) | 2010/02/28 |
| 2010. 02. 25 작업현황 (2) | 2010/02/25 |
| 2010. 02. 21 작업현황 (0) | 2010/02/21 |
| 3인칭 카메라 기능추가 (0) | 2010/02/10 |


댓글을 달아 주세요
오 이제 진짜 게임 같네요.. 총도 여러개고 주인공도 티니에서 총든 사람으로 바뀌었네요 ㅋㅋ
저도 이런거 해보려고 하는데 지형만드는거에서부터 시작이 안되네여 ㅠㅠㅋ
언제쯤 이정도가 될련지는..의문..ㅋㅋ
저는 지형 같은 경우에는 가로/세로로 선 그리는 것 부터 시작해서 높이도 바꿔보고 파일도 불러오고 하면서 갖춰나갔습니다.
아주 간단한 것 부터 차근차근 하시면 도움이 되실거에요 @_@!