• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

JumpTo() 질문

22.11.01 10:58 작성 조회수 465

0

안녕하세요.

JumpTo() 메서드에서

moveDirection.y += jumpForce; 가 아닌

moveDirection.y = jumpForce; 로도 되는 이유가 궁금합니다!

답변 1

답변을 작성해보세요.

0

중력을 받아 떨어지고 있는 상태에서 moveDirection.y += jumpForce; 를 하게 되면

예를 들어 중력으로 인해 현재 moveDirection.y이 -4.5인 상태이고,

jumpForce가 3이면

moveDirection.y += jumpForce; -4.5 + 3 = -1.5로 속력을 조금 늦췄을 뿐 점프를 할 수 없게 됩니다.

 

그래서 moveDirection.y = jumpForce;와 같이 jumpForce에 적용된 값을 적용합니다.

그럼 위로 이동하는 힘(jumpForce)을 얻어 점프를 하게 되고,

중력에 의해 서서히 힘이 적어지고, 0이 되는 순간이 최고점, 음수가 되었을 때 아래로 떨어집니다.