작성
·
503
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이 되는 순간이 최고점, 음수가 되었을 때 아래로 떨어집니다.