반응형
Branch 노드와 조건 연산자 (Conditionals)
다음으로 다룰 것은 Branch (분기) 노드와 **조건(Conditionals)**입니다. 이 조건 연산자들은 실제로도 **변수 연산자(Variable Operators)**의 한 종류이지만, 조건을 반환한다는 특징이 있습니다.

1. Branch 노드의 이해
Branch 노드는 코드의 흐름을 분기시키는 역할을 합니다.
- 노드에 **조건(Condition)**을 입력하면,
- 그 조건이 **True (참)**일 경우 True 실행 핀에 연결된 코드를 실행하고,
- 그 조건이 **False (거짓)**일 경우 False 실행 핀에 연결된 코드를 실행합니다.
2. 'Greater Than' 연산자 사용 예시

코인 수량(Amount of Coins) 변수(200)와 덧셈 연산자를 사용하여 조건을 만들어 봅시다.
- Branch 노드 배치: Event BeginPlay에 Branch 노드를 연결합니다.
- 조건 설정: **코인 수량(200)**에서 핀을 당기고 50을 더합니다. (200 + 50 = 250)
- 연산자 검색: 이 결과값(250)에서 핀을 당겨 'Greater Than (보다 큼)' 연산자를 검색하고 클릭합니다.
- 비교: 300을 입력하여 **"250이 300보다 큰가?"**라는 조건을 만듭니다.
- 결과: 250은 300보다 크지 않으므로 이 조건은 False입니다.

- 메시지 연결: Alt 키를 누른 채 기존 실행 핀 연결을 끊고,
- True 핀에 Print String 노드를 연결하고 **"This is True (이것은 참이다)"**를 작성합니다.
- False 핀에 다른 Print String 노드를 연결하고 **"This is False (이것은 거짓이다)"**를 작성합니다.
- 실행: **Compile (컴파일)**하고 **Play (실행)**를 클릭합니다. 화면에 **"This is False"**가 표시됩니다. (예상대로 250은 300보다 크지 않기 때문에 False 코드가 실행됩니다.)
3. 'Not Equal' 연산자 사용 예시

다른 조건 연산자도 사용해 봅시다. 이번에는 'Not Equal (같지 않음)' 연산자입니다.
- 연산자 변경: 'Greater Than' 연산자를 삭제하고, **결과값(250)**에서 핀을 당겨 'Not Equal' 연산자를 검색하고 클릭합니다.
- 비교: 비교할 숫자를 600으로 입력합니다.
- 조건: "250은 600과 같지 않은가?"
- 결과: True입니다. (250과 600은 같지 않으므로 True 코드가 실행됩니다.)
- 실행: Compile하고 Play를 클릭하면 화면에 **"This is True"**가 표시됩니다.
- 조건 반전: 비교할 숫자를 250으로 변경해 봅시다.
- 조건: "250은 250과 같지 않은가?"
- 결과: False입니다. (250은 250과 같으므로 조건이 거짓이 되어 False 코드가 실행됩니다.)
- 실행: Play를 클릭하면 화면에 **"This is False"**가 표시됩니다.

4. 조건 연산자의 중요성
이것이 바로 조건 연산자와 Branch 노드를 사용하는 방법입니다. 이는 매우 중요한 개념으로, 거의 모든 코드에서 사용됩니다.
- 이러한 노드들은 실제로 변수 연산자이기도 하지만, **조건(Conditions)**을 가지고 있기 때문에 조건 연산자라고도 불립니다.
- 이들은 True 또는 False를 반환하는 조건을 생성하며, 이 결과에 따라 코드의 흐름(Branch)을 결정하고 다음 코드를 실행할 수 있게 됩니다.
반응형
'Unreal Engine' 카테고리의 다른 글
Unreal Engine 변수를 활용한 게임 로직 예제: 코인 획득하기 (0) | 2025.10.14 |
---|---|
Unreal Engine 변수 설정하기 (Setting Variables) (0) | 2025.10.14 |
Unreal Engine 변수 연산자 (Variable Operators) (0) | 2025.10.14 |
Unreal Engine Transform (트랜스폼) 변수 유형 (0) | 2025.10.14 |
Unreal Engine Vector (벡터) 변수와 위치 제어, Rotator (로테이터) 변수와 회전 제어 (0) | 2025.10.14 |