Make Unreal REAL.
article thumbnail
Unreal Engine 5 C++ Multiplayer Shooter

 

현재 무기를 장착하지 않아도 앉을 수는 있지만, 애니메이션이 적용되지 않은 상태이다.


` 키를 누르고 show collision을 입력해 확인해보면 다음과 같다.

  • 앉아서 캡슐의 크기가 줄었지만, 애니메이션은 적용되지 않은 상태다.

 


에셋 중에 EpicCharacter_CrouchWalk_2D라는 블렌드 스페이스가 있다.

 

 

Speed 축 하나를 가지며, 0일 때는 자동으로 가만히 있으므로 Idle을 별도로 나눠줄 필요가 없다.

 

이 블렌드 스페이스를 앉았을 때의 애니메이션으로 사용해도 될 것 같다.

 


애니메이션 블루프린트에서 앉아서 걷는 부분도 추가해, 캐릭터 클래스의 bIsCrouched 값에 따라 재생되도록 한다.

 

 

현재 무기를 들지 않고 걷는 경우, Orient Rotation to Movement 옵션이 켜져 있어 해당 방향으로 알아서 회전하게 된다.

  • 그런데, 회전 속도가 조금 느린 감이 있다.

 

 

Character Movement 컴포넌트에서 Rotation Rate의 Z (Yaw) 회전 속도를 높여준다.

 

 

C++에서 기본값을 설정해줄 수도 있다.

 

 

언리얼 엔진은 기본적으로 웅크린 상태에서 점프를 허용하지 않는다.

 

 

하지만 CanJumpInternal_Implementation() 함수를 오버라이드해 강제로 점프를 가능하게 할 수도 있다.

 

여기서는 간단하게 Jump() 함수를 오버라이드해 웅크린 상태에서 점프 키가 눌리면 일어나도록 한다.

 

 

SetupPlayerInputComponent() 함수에서 Jump Action에 ACharacter::Jump() 함수가 아닌, 오버라이드 한 ABlasterCharacter::Jump() 함수를 바인딩 시켜주어야 한다.

 

 

이제 웅크린 상태에서 Jump를 누르면 일어나게 된다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그