패스잇
게임 · 중급

위치 보간에는 Lerp를, 회전 보간에는 Slerp를 쓰라는 이야기를 하는데 그 이유가 무엇인지 설명해 주시고, 매 프레임 Lerp를 호출해 목표값을 따라가게 만드는 코드의 주의점도 말씀해 주세요.

힌트 · 쿼터니언은 단위 구 위의 점이라는 점, Slerp가 일정한 각속도를 보장하는 점, 매 프레임 Lerp는 지수 감쇠이며 프레임률에 의존한다는 점을 엮으세요.

선형 보간구면 선형 보간단위 쿼터니언각속도프레임률 의존

모범답안

회전은 단위 쿼터니언, 즉 구 위의 점으로 표현되기 때문입니다. 두 쿼터니언을 그냥 선형 보간하면 경로가 구 내부를 지나 정규화가 필요하고 중간 구간의 각속도가 균일하지 않습니다. Slerp는 구면 위 최단 호를 따라가 일정한 각속도를 보장해 카메라나 무기 조준처럼 회전 속도가 중요한 곳에 맞습니다. 각도 차가 작을 때는 차이가 미미해 정규화한 Lerp로 대체해 비용을 아끼기도 합니다. 그리고 매 프레임 Lerp(현재값, 목표값, 계수)는 보간이 아니라 지수 감쇠 추적이라, 계수를 상수로 두면 프레임률에 따라 추적 속도가 달라지므로 델타 타임을 반영해야 합니다.

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

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

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

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