본문 바로가기
[ CODING STUDY ]/》언리얼엔진5 실습

언리얼엔진5 캐릭터 앉기

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

 

▣ 앉는 키에 대한 Input System을 생성합니다. 

 

 

▣ 생성한 IA_Crouch노드를 추가하고 오른쪽 마우스를 클릭하여 Crouch라고 검색하여 Crouch 함수와 Un Crouch 함수를 생성합니다. 

 

▣ Crouch함수 : 캐릭터에게 웅크리기 시작하도록 요청합니다. 요청은 CharacterMovementComponent의 다음 업데이트 시 처리됩니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/BlueprintAPI/Character/Crouch?application_version=5.3

 

Crouch

Crouch

dev.epicgames.com

 

 

▣ Character Movement 컴포넌트에서 Can Crouch를 체크하고 Max Walk Speed Crouched값을 조절하여 앉아있을 때 이동하는 속도를 조절합니다. 

 

 

▣ Flip Flop노드를 연결하여 키를 누르면 Crouch 함수 Un Crouch함수를 번갈아가면서 호출하는 노드를 완성합니다. 

 

FlipFlop (플립플롭) 노드는 두 출력을 번갈아 실행시키는 출력입니다. 첫 호출 시에는 A 출력을, 두 번째는 B 출력을, 그 이후로 A, B, 계속 번갈아 가며 실행합니다. 이 노드에는 A 출력 호출 시점을 추적할 수 있는 부울 출력도 있습니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/flow-control-in-unreal-engine?application_version=5.3

 

언리얼 엔진의 흐름 제어

조건에 따라 실행 흐름을 제어할 수 있는 노드입니다.

dev.epicgames.com

 

 

▣ 애니메이션 블루프린트에 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 이 있습니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/animation-blueprint-blend-nodes-in-unreal-engine

 

언리얼 엔진의 애니메이션 블루프린트 블렌드 노드

기준 세트에 따라 여러 애니메이션을 함께 블렌딩하는 애니메이션 노드입니다.

dev.epicgames.com

 

 

▣ Crouch 이동에 대한  Blend Space를 생성하고 Angle과 Speed에 따라 이동하는 회전하는 Blend Space를 완성합니다.

 

 

▣ CrouchWalk State에 들어가서 아까 생성한 Blend Space를 가져와서 연결합니다. 

 

 

 

 

 

▣ 위에 이미지처럼 각각 조건을 지정합니다. 

조건은 isCrouch 상태가 True이면 CrouchIdle애니메이션이 실행되고 그 상태에서

Speed가 0 이상이면 Crouch 상태에서 이동하는 애니메이션 실행

isCrouch 상태가 False이면 CrouchIdle이 실행되고 일어나는 애니메이션을 실행합니다. 

 

 

▣ 컴파일 저장 후 C 키를 누르면 앉고 이동하는 걸 확인할 수 있습니다. 

728x90
반응형

댓글