Gate, MultiGate, Do Once, Do N
1. Gate
개념
- Gate 노드는 실행 흐름을 제어하는 역할을 합니다.
- 문이 열리고 닫히는 구조를 통해 신호의 흐름을 허용하거나 차단할 수 있습니다.
구성 요소
-
입력 핀:
- Enter: 실행 신호를 입력받아 Gate 상태에 따라 통과 여부를 결정.
- Open: Gate를 열어 실행 신호가 통과하도록 설정.
- Close: Gate를 닫아 실행 신호가 차단되도록 설정.
- Toggle: Gate 상태를 전환(열림 ↔ 닫힘).
- Start Closed: Gate가 초기 상태에서 닫혀 있는지 여부를 결정.
-
출력 핀:
- Exit: Gate가 열려 있을 때 Enter 핀을 통해 들어온 실행 신호를 출력.
실행 흐름
- Gate 초기 상태:
Start Closed
가 True
로 설정 → Gate가 닫힌 상태로 시작.
- Open 사용:
- Gate를 열어 실행 신호가 통과 가능하도록 변경.
- Enter 사용:
- Gate가 열린 상태일 때만 실행 신호가 통과하여
Exit
핀으로 전달.
- Close 사용:
- Toggle 사용:
- Gate 상태를 전환(열리면 닫히고, 닫히면 열림).
응용 예제
- 성문 구현:
- 플레이어가 특정 트리거를 밟으면 Gate가 열리고, 다른 트리거를 밟으면 Gate가 닫힘.
- 조건부 실행:
- 특정 조건이 충족되었을 때만 실행 신호가 다음 노드로 전달.
2. MultiGate
개념
- MultiGate는 여러 실행 흐름을 순차적 또는 랜덤하게 분배하는 노드입니다.
- 여러 성문(Gate)이 존재한다고 생각하면 쉽습니다.
구성 요소
-
입력 핀:
- Reset: 현재 출력 상태를 초기화.
- Is Random: 출력 핀을 순차적으로가 아닌 랜덤하게 선택.
- Loop: 모든 출력 핀이 사용된 후 다시 처음부터 반복 실행.
- Start Index: MultiGate의 시작 인덱스 설정.
-
출력 핀:
- Out #: 실행 신호를 전달받아 순차적 또는 랜덤하게 출력.
실행 흐름
- 순차 실행:
- 실행 신호가 들어올 때마다
Out 0 → Out 1 → Out 2
로 순서대로 출력.
- 랜덤 실행:
Is Random
이 활성화되면 출력 핀이 무작위로 선택.
- 루프 설정:
Loop
가 활성화되면 모든 출력 핀이 사용된 후 처음으로 돌아가 반복.
- Reset 사용:
응용 예제
- NPC 랜덤 대화:
- 애니메이션 재생:
- 여러 애니메이션 중 하나를 랜덤하게 선택해 실행.
3. Do Once
개념
- Do Once 노드는 실행 신호를 한 번만 출력하는 노드입니다.
- 한 번 실행된 이후에는 더 이상 신호를 출력하지 않음.
구성 요소
-
입력 핀:
- Reset: Do Once를 초기화하여 다시 실행 가능.
-
출력 핀:
- Completed: 한 번만 실행된 후 신호를 출력.
실행 흐름
- 첫 실행 시 Completed 핀으로 실행 신호를 출력.
- 이후 입력 신호가 들어와도 무시.
- Reset 핀에 신호가 전달되면 초기화되어 다시 실행 가능.
응용 예제
- 게임 내 이벤트:
- UI 초기화:
4. Do N
개념
- Do N 노드는 실행 신호를 N번 출력하는 노드입니다.
- N번 실행 후에는 더 이상 신호를 출력하지 않음.
구성 요소
-
입력 핀:
- Enter: 실행 신호 입력.
- Reset: Do N을 초기화하여 다시 실행 가능.
-
출력 핀:
- Exit: N번 실행될 때마다 신호를 출력.
- Counter: 현재 실행 횟수를 출력.
실행 흐름
- 초기 상태에서 입력 신호가 들어오면 설정된 N번만큼 실행 신호 출력.
- 실행 횟수가 N에 도달하면 입력 신호를 무시.
- Reset 핀에 신호가 전달되면 실행 횟수를 초기화하여 다시 실행 가능.
응용 예제
- 제한된 반복 실행:
- 타이머 기능:
Gate, MultiGate, Do Once, Do N 비교
노드 종류 | 역할 | 특징 |
---|
Gate | 실행 흐름 제어 | 열리고 닫히는 상태로 실행 신호를 제어 |
MultiGate | 여러 실행 흐름을 분배 | 순차적 또는 랜덤 실행 가능 |
Do Once | 한 번만 실행 | Reset으로 초기화 가능 |
Do N | N번 실행 | 실행 횟수 제한 가능 |