게임 · 중급
수천 개 오브젝트가 서로 근접 판정을 해야 하는 상황에서 공간 분할을 도입한다면, 균일 그리드와 쿼드트리·옥트리 중 무엇을 어떤 기준으로 선택하시겠어요?
힌트 · 모든 쌍을 비교하는 비용 문제에서 출발해, 오브젝트 분포의 균일성·크기 편차·갱신 빈도를 선택 기준으로 제시하세요.
브로드 페이즈균일 그리드쿼드트리/옥트리근접 쿼리셀 크기
모범답안
기준은 오브젝트의 공간 분포와 갱신 빈도입니다. 모든 쌍을 비교하면 개수의 제곱으로 늘어나므로, 브로드 페이즈에서 공간을 나눠 인접 영역만 검사하도록 줄이는 것이 목적입니다. 오브젝트 크기가 비슷하고 맵에 고르게 퍼져 있으며 매 프레임 움직인다면, 삽입·삭제가 상수 시간인 균일 그리드가 유리하고 셀 크기를 탐색 반경 정도로 잡습니다. 반대로 특정 구역에 심하게 몰리거나 크기 편차가 크면 쿼드트리, 3D로 높이 분포까지 의미 있으면 옥트리가 낫습니다. 정적 지형은 트리, 동적 유닛은 그리드로 나눠 쓰는 절충도 자주 씁니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 게임 개발 면접 질문
- 프레임이 목표치에 못 미칠 때 CPU 바운드인지 GPU 바운드인지 어떤 방법으로 구분하시겠어요? 판단 근거와 각 경우의 대응 방향을 함께 말씀해 주세요.
- 반투명 이펙트와 UI를 화면에 많이 겹쳐 놓았더니 특히 모바일에서 프레임이 크게 떨어졌습니다. 오버드로우와 알파 블렌딩 관점에서 원인과 대응을 설명해 주세요.
- 빠르게 움직이는 총알이 얇은 벽을 그냥 통과해 버리는 문제가 보고됐습니다. 왜 이런 현상이 생기는지와 어떤 해결책들이 있는지 설명해 주세요.
- 위치 보간에는 Lerp를, 회전 보간에는 Slerp를 쓰라는 이야기를 하는데 그 이유가 무엇인지 설명해 주시고, 매 프레임 Lerp를 호출해 목표값을 따라가게 만드는 코드의 주의점도 말씀해 주세요.
- 실내 스테이지의 조명을 구성할 때 라이트맵을 구워 쓰는 방식과 실시간 조명을 쓰는 방식의 트레이드오프를 설명해 주세요. 동적으로 움직이는 캐릭터는 어떻게 처리하나요?
- 넓은 필드에 나무와 건물이 많은 맵에서 LOD를 적용한다면 어떤 기준으로 단계를 나누시겠어요? LOD가 줄여주는 비용과 부작용도 함께 설명해 주세요.