개발나라 스용공주

[UNREAL] 블루프린트 BluePrint 이론(10) / 열거형 본문

개발일지/UNREAL ENGINE

[UNREAL] 블루프린트 BluePrint 이론(10) / 열거형

스용공주 2024. 1. 15. 21:22
728x90
728x90

오늘 알아볼 형태는 열거형이다.

 

열거형은 숫자로 일일히 우리가 표현하고자 하는 상태의 값을 지정하는 것이 아니라 열거형으로 분리하여 우리가 표현하고자 하는 상태의 이름을 문자로서 표현(지정)해주는 것이다.

열거형의 장점은 형식 자체는 정수와 크게 다른 점은 없지만 우리가 일일히 코딩해주지 않고도 원하는 숫자에 그에 맞는 이름을 붙여서 사용해주는 것이 유용하다.

 

열거형은 아래 사진과 같이 만들 수 있다.

블루프린트 => 열거형

 

 

만든 열거형에 들어가서 Idle, Moving, Attack 등의 상태를 만들어줄 것이다.

그럼 이제 이 3가지 상태는 EState 안의 하나의 타입으로 분류 된다.

우측 추가 버튼을 눌러 만들기 / 입력한 디스플레이 이름이 하나의 타입이 된 상태

 

 

열거형을 만들어준 뒤 저장 후 블루프린트로 돌아와서 해당 열거형을 담을 변수를 만들어주고 변수 유형을 방금 생성한 열거형인 EState로 설정하고 컴파일해준다.

 

컴파일해주면 아래 사진과 같이 기본값에 State 부분에 우리가 열거형에 기입한 값들이 나오는 것을 알 수 있다.

 

 

해당 열거형 변수는 일단 변수들과 같이 Get, Set 모두 가능하며 Set은 아래 사진과 같이 상태값을 설정해줄 수 있다.

Get
Set

 

 

그리고 아래 사진과 같이 Switch on EState를 사용하면 상태에 따라 설정해둔 노드를 실행한다.

만약 동작하고자 하는 애니메이션이 있다면 해당 애니메이션이 실행될 것이다.

 

 

 

EState to Enum이라는 기능이 있는데 이것은 우리가 열거형 EState에 입력한 값의 자리에 따라 숫자로 값을 출력해준다.

더보기

EState to Enum : 어떤 정수를 우리가 만든 열거형으로 변형시켜준다.

0번이 입력되어져있는데 우리는 지금 0번에 Idle이 입력되어져있으므로 아래 노드를 실행하면 다음과 같은 결과값이 출력되는것을 볼 수 있다. 값을 0이 아닌 1로 하면 Moving이 출력되고 2로 하면 Attack이 출력되는 것을 확인할 수 있다.

 

이를 응용하여 나중에 0,1,2 중 랜덤으로 값을 넣어 3가지 상태 중 하나의 상태로 만들 수 있다.

728x90
728x90
Comments