패스잇
게임 · 중급

빠르게 움직이는 총알이 얇은 벽을 그냥 통과해 버리는 문제가 보고됐습니다. 왜 이런 현상이 생기는지와 어떤 해결책들이 있는지 설명해 주세요.

힌트 · 이산 시뮬레이션에서 한 스텝 이동량이 충돌체 두께보다 클 때 발생하는 문제로 설명하고, CCD·서브스텝·레이캐스트 방식의 비용 차이를 비교하세요.

터널링이산 충돌 검출연속 충돌 검출(CCD)물리 스텝스윕/레이캐스트

모범답안

터널링 현상입니다. 물리는 고정 스텝마다 위치를 이산적으로 갱신하고 그 시점에서만 겹침을 검사하는데, 한 스텝 이동 거리가 벽 두께보다 크면 이전 프레임은 벽 앞, 다음 프레임은 벽 뒤에 있어 겹치는 순간이 아예 샘플링되지 않습니다. 해결은 세 방향입니다. 해당 오브젝트만 연속 충돌 검출을 켜서 이동 경로를 스윕 검사하거나, 물리 스텝을 줄이거나 서브스텝을 늘리고, 벽 콜라이더를 충분히 두껍게 만듭니다. 총알처럼 아주 빠른 것은 물리 이동 대신 이전 위치에서 현재 위치까지 레이캐스트로 판정하는 편이 비용도 싸고 안정적입니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 게임 개발 면접 질문

← 게임 개발 면접 질문 전체 보기