▣ 앉는 키에 대한 Input System을 생성합니다.
▣ 생성한 IA_Crouch노드를 추가하고 오른쪽 마우스를 클릭하여 Crouch라고 검색하여 Crouch 함수와 Un Crouch 함수를 생성합니다.
▣ Crouch함수 : 캐릭터에게 웅크리기 시작하도록 요청합니다. 요청은 CharacterMovementComponent의 다음 업데이트 시 처리됩니다.
▣ Character Movement 컴포넌트에서 Can Crouch를 체크하고 Max Walk Speed Crouched값을 조절하여 앉아있을 때 이동하는 속도를 조절합니다.
▣ Flip Flop노드를 연결하여 키를 누르면 Crouch 함수 Un Crouch함수를 번갈아가면서 호출하는 노드를 완성합니다.
▣ FlipFlop (플립플롭) 노드는 두 출력을 번갈아 실행시키는 출력입니다. 첫 호출 시에는 A 출력을, 두 번째는 B 출력을, 그 이후로 A, B, 계속 번갈아 가며 실행합니다. 이 노드에는 A 출력 호출 시점을 추적할 수 있는 부울 출력도 있습니다.
▣ 애니메이션 블루프린트에 Event Gragh에 가서 Character Movement에 Is Crouching 함수를 불러와 세팅해 주는 노드를 완성합니다.
Crouch함수를 통해서 True False 값으로 반환합니다.
▣ 이동 State에서 Idle에 연결하는 State를 생성합니다.
앉고 대기상태에 대한 State와 앉으면서 이동하는 State를 생성하고 연결합니다.
▣ CrouchIdle State에 들어가서 앉고 대기 하는 애니메이션과 앉고 일어나는 애니메이션 두 개를 가져와서
Blend Poses by bool 노드를 가져와 연결하고 Active Value에 Is Crouch를 연결하여 Is Crouch가 True이면 앉고 대기 애니메이션을 실행하고 False이면 일어나는 애니메이션을 실행하게 합니다.
▣ Blend Poses by bool 노드는 Boolean 값을 트리거로 사용하여 두 포즈 간에 시간 기반 블렌딩을 수행합니다. Boolean이 true 이면 True Pose 입력 핀에 연결된 포즈를 사용하며, Boolean이 false 이면 False Pose에 연결된 포즈를 사용합니다. 각 포즈에는 포즈로 블렌딩 하는 데 소요되는 시간을 제어하는 float 값인 Blend Time 이 있습니다.
▣ Crouch 이동에 대한 Blend Space를 생성하고 Angle과 Speed에 따라 이동하는 회전하는 Blend Space를 완성합니다.
▣ CrouchWalk State에 들어가서 아까 생성한 Blend Space를 가져와서 연결합니다.
▣ 위에 이미지처럼 각각 조건을 지정합니다.
조건은 isCrouch 상태가 True이면 CrouchIdle애니메이션이 실행되고 그 상태에서
Speed가 0 이상이면 Crouch 상태에서 이동하는 애니메이션 실행
isCrouch 상태가 False이면 CrouchIdle이 실행되고 일어나는 애니메이션을 실행합니다.
▣ 컴파일 저장 후 C 키를 누르면 앉고 이동하는 걸 확인할 수 있습니다.
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 UMG 불투명 애니메이션 (0) | 2024.04.12 |
---|---|
언리얼엔진5 spring arm 제어 (0) | 2024.04.12 |
언리얼엔진5 슬로우모션 (1) | 2024.04.07 |
언리얼엔진5 타이머 (1) | 2024.04.06 |
언리얼엔진5 1인칭 3인칭 시점 변경 (2) | 2024.04.06 |
댓글