인프런 커뮤니티 질문&답변

susan1231님의 프로필 이미지

작성한 질문수

따라하면서 배우는 고박사의 유니티 기초

CharacterController 기반의 오브젝트 이동 (13:41)

JumpTo() 질문

작성

·

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