반응형
Switch on Enumeration (열거형 전환) 노드 설명
자, 이제 Switch on Enumeration (열거형 전환) 노드에 대해 이야기해 봅시다.
1. 열거형 항목 정리하기

- 먼저, 이전에 추가했던 불필요한 항목을 삭제하겠습니다. 생성했던 E_CharacterMovement 열거형 파일로 돌아갑니다.
- Crouch2 항목을 삭제하고 **저장(Save)**합니다.
2. Switch on Enumeration 노드 사용하기
- 레벨 블루프린트로 돌아와서 CharacterMovement 열거형 변수 Get 노드를 그래프로 드래그합니다.
- 출력 핀에서 드래그하여 Switch를 검색하면, Switch on E_CharacterMovement (현재 열거형 이름) 노드를 찾을 수 있습니다.

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

3. Switch 노드를 이용한 이동 속도 제어 예시
캐릭터의 움직임 상태에 따라 **이동 속도(Movement Speed)**를 다르게 설정하는 예시를 만들어 봅시다.
- 새로운 변수를 만듭니다. 이름을 MovementSpeed라고 지정합니다.
- 변수 타입을 Float (소수점이 있는 숫자)로 변경합니다.
- MovementSpeed 변수를 Alt 키를 누른 채 그래프로 드래그하여 Set 노드를 만듭니다.
- 이제 각 열거형 상태(핀)에 맞는 이동 속도를 설정하고 연결합니다.

|
열거형 상태
|
이동 속도 (Movement Speed)
|
설명
|
|
Crouch (웅크리기)
|
50
|
웅크릴 때의 속도
|
|
Walk (걷기)
|
70
|
걸을 때의 속도
|
|
Run (달리기)
|
100
|
달릴 때의 속도
|
|
Sprint (질주)
|
150
|
질주할 때의 속도
|
|
Prone (엎드리기)
|
0
|
엎드리면 움직일 수 없으므로 0으로 설정
|
- 각 열거형 핀에서 드래그하여 해당 속도 값으로 설정된 Set MovementSpeed 노드에 연결합니다.
- 모든 Set MovementSpeed 노드의 완료 핀을 최종 Print String 노드에 연결하여, 설정된 속도 값이 화면에 출력되도록 합니다. (디버깅 목적으로 속도 변수 값을 Print String에 연결합니다.)
4. 테스트 및 결론

- **컴파일(Compile)**하고 Play를 클릭합니다.
- CharacterMovement 변수의 기본값은 현재 열거형 목록의 첫 번째 값인 Crouch일 것입니다. (만약 기본값을 변경하지 않았다면)
- 화면에는 Crouch에 설정된 속도인 50이 출력됩니다.
- 만약 CharacterMovement 변수의 기본값을 Walk로 변경하고 Play를 누르면, 70이 출력될 것입니다.
Switch on Enumeration 노드를 사용하면 변수의 현재 **상태(State)**에 따라 정확히 어떤 코드를 실행해야 하는지 명확하게 분기할 수 있어 매우 강력합니다.
5. 추가 활용 예시: 사용자 인터페이스(UI)
이 노드는 **사용자 인터페이스(User Interface, UI)**에서도 매우 유용합니다. (나중에 UI에 대한 강좌를 만들 예정입니다.)
- 열거형을 사용하여 창(Window) 목록을 만들 수 있습니다. (예: 메인 메뉴, 캐릭터 선택 화면, 프로필 화면 등)
- Switch on Enum을 사용하여 현재 어떤 창이 활성화되었는지에 따라 해당 창을 띄우는 특정 코드를 실행할 수 있습니다.
**열거형(Enumerations)**은 배우기 매우 쉽습니다. 단순한 목록이며, 목록에 항목을 추가하고 싶다면 열거형 파일로 돌아가서 추가하면 Switch 노드에 자동으로 반영됩니다. 이후 새로 추가된 실행 핀에 필요한 코드를 연결하여 사용할 수 있습니다.
반응형
'Unreal Engine' 카테고리의 다른 글
| Unreal Engine 열거형, 멀티 게이트, Switch 활용 예시: 무작위 과일 먹기 (0) | 2025.10.31 |
|---|---|
| Unreal Engine 열거형(Enumeration) 비교하기 (0) | 2025.10.29 |
| Unreal Engine 열거형(Enumeration) 소개, 생성 및 사용하기 (0) | 2025.10.29 |
| Unreal Engine 게이트 (Gate) 및 멀티 게이트 (Multi-Gate) 노드 설명 (0) | 2025.10.28 |
| Unreal Engine "Do Once" 및 "Do N" 노드 설명 (0) | 2025.10.27 |