반응형
반복문(Loops)의 이해와 활용
이제 **반복문(Loops)**에 대해 이야기해 봅시다. 반복문은 특정 코드를 반복해서 실행할 수 있게 해줍니다.
1. For Loop (반복문)

For Loop는 가장 기본적인 반복문 유형 중 하나입니다. (참고로, For Each는 주로 배열에 사용되며, 우리는 For Loop를 사용할 것입니다.)
A. For Loop의 원리

- 인덱스: 반복문은 항상 인덱스(Index) 0부터 시작하는 것을 기억하세요.
- Last Index (마지막 인덱스): 반복을 멈출 인덱스를 설정합니다.
- 예시: Last Index를 5로 설정하면, 0, 1, 2, 3, 4, 5까지 총 6번 코드가 반복됩니다.
- Loop Body (반복 본문): 여기에 반복하고 싶은 코드를 연결합니다. (예: Print String으로 "Hello" 출력)
- Completed (완료): 반복문이 설정된 횟수만큼 완전히 실행된 후에 실행할 코드를 연결합니다. (예: "The loop is done" 출력)


B. 루프 사용 시 주의 사항
- 성능 영향: 반복 횟수를 하드 코딩할 수 있지만, 이는 위험할 수 있습니다. 예를 들어, 10,000번 이상 반복하는 루프는 게임의 성능에 심각한 영향을 미치고, 컴퓨터가 코드를 모두 처리하기 전까지 랙이 발생하거나 게임이 **충돌(crash)**할 수도 있습니다. **무한 루프(infinite loops)**는 게임을 반드시 멈추게 하므로 특히 조심해야 합니다.
- Index 출력: 루프의 Index 핀을 Print String에 연결하여 현재 몇 번째 반복이 진행 중인지 화면에 출력할 수도 있습니다.
- 변수 활용: 하드 코딩 대신 변수를 First Index나 Last Index에 연결하여 반복 횟수를 동적으로 제어하는 것이 좋습니다.
2. For Loop with Break (중단 기능이 있는 반복문)

For Loop with Break 노드는 일반적인 For Loop와 비슷하게 First Index와 Last Index를 설정할 수 있지만, 루프가 완료되기 전에 코드를 실행하여 반복을 중단시킬 수 있는 Break (중단) 실행 핀이 추가되어 있습니다.
A. 루프 중단 로직 구현

이 기능은 루프가 너무 많이 실행되는 것을 막고 싶을 때 유용합니다.
- Custom Event 생성: 루프를 중단시키기 위한 'Break the loop' 같은 커스텀 이벤트를 만듭니다.
- 호출 조건 설정: Loop Body 내에서 Branch 노드를 연결하여 조건을 확인합니다.
- 조건: Index 핀을 가져와 'Greater Than (>)' 연산자를 사용해 **"Index가 20보다 큰가?"**라고 묻습니다.
- Break 실행:
- 조건이 True일 경우 (20번보다 많이 반복된 경우), 이전에 만든 'Break the loop' 이벤트를 호출합니다.
- 이 호출은 루프를 즉시 **중단(Break)**시키고, 코드를 Completed 핀으로 이동시켜 다음 코드를 실행하게 합니다.

B. 핵심 규칙 (반드시 기억하세요)
- 중요: For Loop with Break를 사용할 때는 Break를 실행할 이벤트를 Loop Body (반복 본문) 내부에서 호출해야 합니다. Loop Body 외부에서 호출하면 이미 루프가 완료된 후에 호출되므로 아무 일도 일어나지 않습니다.
이것이 바로 반복문을 사용하는 방법이며, 다음 영상에서는 **While Loop (While 반복문)**에 대해 이야기해 봅시다. 감사합니다!
반응형
'Unreal Engine' 카테고리의 다른 글
| Unreal Engine "Do Once" 및 "Do N" 노드 설명 (0) | 2025.10.27 |
|---|---|
| Unreal Engine While Loop (While 반복문)의 이해와 위험성 (0) | 2025.10.27 |
| Unreal Engine Flip-Flop 노드와 활용 (0) | 2025.10.27 |
| Unreal Engine Sequence (시퀀스) 노드를 이용한 코드 정리 (0) | 2025.10.27 |
| Unreal Engine 실행 흐름 (Execution Flow) 소개와 Is Valid (유효한가) 노드와 실행 흐름 (0) | 2025.10.27 |