• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

Slerp 질문

21.08.30 15:58 작성 조회수 177

1

강의 초반 부분, 회전을 위해서 Slerp함수를 사용하실때 3번째 인자에 10 * Time.deltaTime 을 넣으신 이유가 궁금합니다.

이전에 키보드로 이동하는 OnKey()함수에서의 Slerp에서는 0.2f라는 고정된 값을 넣으셨는데요.

둘의 차이가 궁금합니다.

혹시나 Update문에서 바로 rotation을 하는것이라 프레임 체크를 위해서 저런 값을 넣으신건가요?


또 Slerp함수에서 3번째 인자는 0,1 사이의 값을 넣어야만 하는것으로 알고있는데

Time.deltatime에 두자리수를 곱해주면 항상 0에서 1사이의 값이 나오는지도 궁금합니다.

답변 1

답변을 작성해보세요.

2

게임에서 Update문 안에서 프레임마다 하는 작업은
사실 대부분 시간에 비례한 무엇인가를 곱해줘야 합니다.
0.2f 라는 고정값을 넣는다고 가정하면,
컴퓨터 성능에 따라 게임 진행 속도도 달라지게 됩니다.
(구린 컴퓨터로 했더니 캐릭터가 기어가고, 최신 컴퓨터로 하면 캐릭터가 빨라진다??)
Time.deltaTime은 얼추 경과된 시간을 곱하기 때문에, 이런 문제가 사라집니다.
이론적으로 그렇긴 한데 회전과 같이 크게 중요한 로직 부분이 아니라면 뭐 대충 고정값을 넣어도 무방합니다.