흐름 제어

Woogie_·2025년 5월 25일

Unreal Engine

목록 보기
14/15

Branch

  • 조건이 참일 경우 참으로 flow가 흐르고 거짓일 경우 false로 흐르게 하는 분기문
  • b + 좌클릭 시 생성

Sequence

  • 순서대로 블루프린트 노드를 쭉 실행 후 다음 실행할 노드들의 집합을 실행시켜줌
  • s + 좌클릭 시 생성

  • 0번 실행 후 1번 실행

Flip Flop

  • A, B를 왔다 갔다 실행이됨
  • Is A 의 경우 현재 실행 중인 것이 A이면 True, 아니면 False

Min, Max, Clamp

  • Max : 변수들 중 가장 큰 값을 출력
  • Min : 변수들 중 가장 작은 값을 출력
  • Clamp : 어떠한 값이 Min, Max 범위에서 벗어나지 않게 하는 노드

While Loop

  • 반복 실행을 시켜주는 노드
  • 조건을 만족 시킬 경우 Loop Body에 연결된 노드들을 실행
  • 실행 후 다시 조건을 확인하여 만족할 경우 계속 반복
  • 조건이 False가 될 경우에 Loop가 종료

  • 조건을 제대로 작성하지 않을 경우 무한 루프에 빠질 수 있다
  • 블루프린트의 경우 오류를 잡아주지만 C++의 경우 프로그램을 강제 종료 해야 하는 상황 발생

  • 예제) Default Value가 10 인 변수가 Loop를 돌며 숫자를 출력하고 -1 씩 값이 줄어들다 0이 될 경우 루프가 종료

For Loop

  • 반복문 노드
  • First Index 에서 Last Index 까지만 Loop를 실행

For Loop with break

  • break 지점이 존재 하는 Loop 노드
  • break 지점을 정해줬을 때 break 조건을 만족한다면 루프는 종료
  • 예제) 랜덤 숫자를 찾기 위해 반복문을 돌렸을 때 랜덤 숫자와 index 가 같으면 break 후 랜덤 숫자를 출력

Gate

  • 노드 이름 그대로 Start Closed에 따라 Enter 후 Exit가 가능해짐
  • Start Closed 일 경우 Exit를 갈 수 없고 Start Closed가 체크 해제 되있을 경우 Exit로 나갈 수 있음

  • Open, Close, Toggle 핀을 사용하여 코드가 흐르는 중에 분기를 조절할 수 있음
  • Open 핀에 연결된 동작을 통해 Gate를 열 수 있고 Close 핀에 연결된 동작을 통해 Gate를 닫을 수 있음
  • Toggle은 열렸다 닫혔다를 번갈아 가면서 수행됨 (Open 일 때 Close로 변경, Close 일 때 Open으로 변경)

  • MultiGate 도 존재
  • Out 핀이 여러 개 존재하여 Sequence 처럼 순서대로 진행되며 Out이 될 때마다 문을 닫는 역할
  • Loop가 켜져 있을 경우 모든 성문이 닫혔을 때 모든 성문이 동시에 다시 열림
  • Is Random이 체크 되어 있을 경우 Out 순서가 랜덤으로 실행 됨
  • Start Index를 통해 Out 시작 순서를 바꿀 수 있음

Do Once

  • 게이트랑 마찬가지로 스타트와 클로스가 존재하지만 단 한번만 실행
  • Reset을 통해 다시 실행할 수 있음

Do N

  • Do Once와 같지만 실행 횟수만 N번 실행

Enum

  • 열거형
  • Content Browser > 우클릭 > Blueprints > Enumeration 으로 생성
  • 이름 컨벤션은 앞에 대문자 E 를 붙이고 이름 작성
  • 내부적으로는 0, 1, 2로 임의로 정해준 변수들과 같지만 열거형을 사용함으로써 하나의 타입이 될 수 있다

  • 열거형 타입으로 생성 되었기 때문에 이전에 만든 EState 타입 내에서 Default Value를 설정해줄 수 있음

  • 열거형의 타입에 대한 동작을 하기 위해선 (Enum) 이라고 적힌 노드들을 사용해야 함

  • Byte to Enum EState를 통해 열거형 내의 Index를 이용해 불러올 수 있게 해준다

Switch on Enum

  • 열거형 상태에 따라서 어떤 분기를 갖게 하는지 정해줄 수 있는 노드

profile
상상을 구현하는 개발자

0개의 댓글