본문 바로가기
[ Unity ]/- 유니티 실습

유니티 Jumping

by MRG 2024. 10. 12.
728x90
반응형

 

 

▣ 코드 설명

LayerMask groundLayer:
캐릭터가 닿을 수 있는 땅의 레이어를 지정합니다. Unity에서 레이어는 충돌 처리를 위한 그룹을 나눌 때 사용됩니다. groundLayer는 땅으로 간주할 레이어를 선택할 수 있도록 합니다.


CheckIfGrounded() 함수:
Raycast를 이용하여 캐릭터의 발 밑에 땅이 있는지 확인하는 함수입니다. Raycast는 캐릭터의 위치에서 아래쪽으로 발사되며, groundLayer에 속한 오브젝트와 충돌하는지 여부를 확인합니다.


중력 적용 및 이동 처리:
캐릭터가 공중에 있으면 중력이 지속적으로 적용되어 아래로 내려오게 되고, 착지했을 때는 중력에 의해 속도가 과도하게 증가하는 것을 막기 위해 velocity.y = -2f로 설정됩니다.
controller.Move()는 플레이어 캐릭터를 이동시키는 메서드입니다.


점프 처리:
Input.GetButtonDown("Jump")를 통해 플레이어가 점프 버튼을 눌렀는지 확인합니다. 점프가 가능할 때는 velocity.y에 계산된 속도를 할당하여 위쪽으로 이동하게 됩니다.


애니메이션 제어:
점프를 시작할 때는 animator.SetTrigger("JumpUp")로 JumpUp 애니메이션이 실행되고, 착지할 때는 JumpDown 애니메이션이 실행됩니다. 이 애니메이션들은 Unity의 Animator 시스템을 통해 제어됩니다.

 

 

 

Unity - Scripting API: Input.GetButtonDown

Call this function from the Update function, since the state gets reset each frame. It will not return true until the user has released the key and pressed it again. Use this only when implementing action like events IE: shooting a weapon. Use Input.GetAxi

docs.unity3d.com

 

 

Unity - Scripting API: Physics.Raycast

Description Casts a ray, from point origin, in direction direction, of length maxDistance, against all colliders in the Scene. You may optionally provide a LayerMask, to filter out any Colliders you aren't interested in generating collisions with. Specifyi

docs.unity3d.com

 

 

 

728x90
반응형

댓글