인프런 커뮤니티 질문&답변
궁금한 게 있습니다.
작성
·
301
0
퀴즈
56%나 틀려요. 한번 도전해보세요!
게임 오브젝트의 이동 계산 시 Time.deltaTime 값을 곱해주는 주된 이유는 무엇일까요?
캐릭터의 최대 이동 속도를 제한하기 위해
모든 컴퓨터에서 초당 이동 거리를 일정하게 유지하기 위해
물리 엔진 계산의 정확도를 높이기 위해
오브젝트의 회전 상태에 따라 이동 방향을 결정하기 위해
답변 1
0
Rookiss
지식공유자
1.
이동 함수는 굉장히 다양하고, 어떤걸 어떻게 이용하더라도 결과가 동일하게 나오면 됩니다.
Rotate 계열 함수로도 회전을 할 수 있기는 한데,
현 상황에서는 [특정 키를 누르면 특정 지정 방향으로 바라보고 멈춰있기]를 바랍니다.
그런데 바로 해당 방향을 쳐다보게 하면 어색하기 때문에,
최대한 스르륵 회전하면서 해당 방향에 안착하게 만들고 싶은 것이죠.
Slerp는 Sphere Interpolate의 약자로 [구면 보간]을 의미하는데
보간이란 [두 값을 적당히 석어 주는] 것으로 생각하시면 됩니다.
[현재 값] 과 [최종 목적 값] 을 건내주고 둘 사이의 값으로 설정해서
스르륵 고개를 돌리는 효과를 만든 것이죠.
반면 이동은 그런거 없이 그냥 원하는 방향으로 쭉 이동만 하면 되는 것이니
해당 방향으로 position을 더해주거나 Translate을 해주면 바로 끝납니다.
2.
Vector.forward는 딱히 로컬 좌표가 아닙니다.
말 그대로 (0,0,1)이라는 벡터를 나타내는 것이기 때문에
월드 좌표인 position에 그대로 더해주면 월드 좌표를 0,0,1 방향으로 늘리라는 얘기가 됩니다.





