판정박스가 아주 많은 액션게임에선 피격판정을 어떻게 하나요?
모든 판정박스마다 자신과 충돌한 피격판정 박스가 있는지 모든 오브젝트를 돌면서 검사할수도 없는 노릇 아닌가요?
그리고 이런 알고리즘 문제는 어떤 책으로 공부해야 하나요?
판정박스가 아주 많은 액션게임에선 피격판정을 어떻게 하나요?
모든 판정박스마다 자신과 충돌한 피격판정 박스가 있는지 모든 오브젝트를 돌면서 검사할수도 없는 노릇 아닌가요?
그리고 이런 알고리즘 문제는 어떤 책으로 공부해야 하나요?
해골책에서 본거같은데 우웅......>ㅅ<;;;;;;;;
OBB Tree
가장 간단한 해법은 object의 위치 x, y 좌표에서 하나의 축을 기준으로, 이를 테면 x 좌표를 기준으로 그 순서대로 정렬된 리스트가 있으면 좀 최적화 되겠지.
NS2가 그런 방식으로 노드 리스트를 관리함.
정렬된 리스트가 있으먼 binary search 하면 되니까.
결론은 다 돌거니까 잘돌게하렴 이건가여 >ㅅ<;;
예를들면 프레임마다 모든 오브젝트의 피격판정박스 x축을 정렬로 요약한뒤, 판정박스들을 꺼내서 x축 부분이 맞는 경우가 있는지 찿아보는건가요? 감사합니다.
먼가 수학적으로 띠용한게 잇을줄알앗어얌>°<;;;;
낄낄. 좀 더 간단하게 생각해.
티나스프라우// 넴 공격박스 2개랑 피격박스 2개가 있으면 4번의 탐색이 있어야 하잖아요, 이걸 더 줄여서 성능향상을 할 수 있는지가 궁굼해양
지가 처맞았나가 아니고 지가 팼나를 확인해야지
계층충돌을 기본으로 하되, 방향일치, 구충돌, 그 다음 박스든 실린더든 리얼폴리곤하든 하는데
또 하나는 전체 공간을 일정 크기의 cell들로 나누어서 생각한 뒤 각 object들이 생성될 때, 이동할 때마다 자기 object가 닿는 cell의 리스트에 끼워 넣는 거임. 그러면 피격 판정 시 피격 물체가 속한 cell의 list에 있는 object들끼리만 비교하면 되니까.
방향일치에서 절반이 충돌타겟에서 제외되고, 구충돌계산으로 대부분 걸러져
걍 화면의 전체 좌표를 아주 적은 갯수의 배열부터 큰 갯수의 배열까지로 나눈다고 생각해 가령 2배씩. 그렇다면 그 배열집합들의 전체 크기는 화면 크기의 2배의 메모리를 쓰겠지만, 충돌 판정할 캐릭터들을 범주화 해서 성근 배열부터 촘촘한 배열에 까지 마킹한다고 가정해 봐.
그전에 공간 그자체와 먼저 계산하지 뭐
아 격자로 나누라는게 그말이였구나 감사합니다. ㅠㅠ
ㅇㅇ. 이런 문제는 grid 만들어서 해결하는 게 일반적. 내가 두번째 방법으로 제시한 것도 grid 만드는 거고.
ㅇㅇ 지금 세명이 똑같은 설명 하는거임 ㅋㄷㅋㄷ
흑흑 독학충은 움니다.. 이런거 어느책에서 배워요??
걍 생각해 보면 답 나오지 않음?
기본 자료형들일 뿐이야.
알고리즘을 갖다 쓰는것도 중요하지만, 만들 수 있는 사람이 되렴.
넵 감사합니다.