본문 바로가기
Unreal Engine

Unreal Engine Switch on Enumeration (열거형 전환) 노드 설명

by hfgraphic 2025. 10. 29.
반응형

 

Switch on Enumeration (열거형 전환) 노드 설명

 

자, 이제 Switch on Enumeration (열거형 전환) 노드에 대해 이야기해 봅시다.

 

1. 열거형 항목 정리하기

  1. 먼저, 이전에 추가했던 불필요한 항목을 삭제하겠습니다. 생성했던 E_CharacterMovement 열거형 파일로 돌아갑니다.
  2. Crouch2 항목을 삭제하고 **저장(Save)**합니다.

 

2. Switch on Enumeration 노드 사용하기

 

  1. 레벨 블루프린트로 돌아와서 CharacterMovement 열거형 변수 Get 노드를 그래프로 드래그합니다.
  2. 출력 핀에서 드래그하여 Switch를 검색하면, Switch on E_CharacterMovement (현재 열거형 이름) 노드를 찾을 수 있습니다.

 

  1. Switch on E_CharacterMovement 노드는 다음과 같은 특징을 가집니다.
  • 이 노드는 열거형 목록에 있는 모든 항목을 별도의 **실행 핀(Execution Pin)**으로 나열합니다.
  • 이 핀들은 열거형 변수의 현재 값에 따라 특정 코드를 실행할 수 있게 해줍니다.
  • 활용: 플레이어의 상태가 Crouch (웅크리기)라면 이 코드를, Run (달리기)라면 저 코드를 실행하는 식으로 상태에 따른 분기 처리를 할 수 있습니다.

3. Switch 노드를 이용한 이동 속도 제어 예시

 

캐릭터의 움직임 상태에 따라 **이동 속도(Movement Speed)**를 다르게 설정하는 예시를 만들어 봅시다.

  1. 새로운 변수를 만듭니다. 이름을 MovementSpeed라고 지정합니다.
  2. 변수 타입을 Float (소수점이 있는 숫자)로 변경합니다.
  3. MovementSpeed 변수를 Alt 키를 누른 채 그래프로 드래그하여 Set 노드를 만듭니다.
  4. 이제 각 열거형 상태(핀)에 맞는 이동 속도를 설정하고 연결합니다.
열거형 상태
이동 속도 (Movement Speed)
설명
Crouch (웅크리기)
50
웅크릴 때의 속도
Walk (걷기)
70
걸을 때의 속도
Run (달리기)
100
달릴 때의 속도
Sprint (질주)
150
질주할 때의 속도
Prone (엎드리기)
0
엎드리면 움직일 수 없으므로 0으로 설정

 

  1. 각 열거형 핀에서 드래그하여 해당 속도 값으로 설정된 Set MovementSpeed 노드에 연결합니다.
  2. 모든 Set MovementSpeed 노드의 완료 핀을 최종 Print String 노드에 연결하여, 설정된 속도 값이 화면에 출력되도록 합니다. (디버깅 목적으로 속도 변수 값을 Print String에 연결합니다.)

 

4. 테스트 및 결론

  1. **컴파일(Compile)**하고 Play를 클릭합니다.
  2. CharacterMovement 변수의 기본값은 현재 열거형 목록의 첫 번째 값인 Crouch일 것입니다. (만약 기본값을 변경하지 않았다면)
  3. 화면에는 Crouch에 설정된 속도인 50이 출력됩니다.
  4. 만약 CharacterMovement 변수의 기본값 Walk로 변경하고 Play를 누르면, 70이 출력될 것입니다.

Switch on Enumeration 노드를 사용하면 변수의 현재 **상태(State)**에 따라 정확히 어떤 코드를 실행해야 하는지 명확하게 분기할 수 있어 매우 강력합니다.


 

5. 추가 활용 예시: 사용자 인터페이스(UI)

 

이 노드는 **사용자 인터페이스(User Interface, UI)**에서도 매우 유용합니다. (나중에 UI에 대한 강좌를 만들 예정입니다.)

  • 열거형을 사용하여 창(Window) 목록을 만들 수 있습니다. (예: 메인 메뉴, 캐릭터 선택 화면, 프로필 화면 등)
  • Switch on Enum을 사용하여 현재 어떤 창이 활성화되었는지에 따라 해당 창을 띄우는 특정 코드를 실행할 수 있습니다.

 

**열거형(Enumerations)**은 배우기 매우 쉽습니다. 단순한 목록이며, 목록에 항목을 추가하고 싶다면 열거형 파일로 돌아가서 추가하면 Switch 노드에 자동으로 반영됩니다. 이후 새로 추가된 실행 핀에 필요한 코드를 연결하여 사용할 수 있습니다. 

 

반응형