배경: 블루프린트에서 배열 사용
Unreal Engine 블루프린트에서 배열은 기본적으로 동적 배열입니다. 이는 연속된 메모리 공간을 사용하는 배열이지만 크기를 동적으로 조정할 수 있어 일반적인 정적 배열의 단점을 보완한 구조입니다.
1. 배열 생성
변수 생성 후 배열로 변경
- 설명: 변수를 생성한 후, 우측 디테일 창에서 변수의 타입을
Array(배열)로 변경합니다.
- 과정:
- 변수 유형(Variable Type)을 선택.
Array 타입을 활성화.
- 배열로 타입이 변경된 것을 확인.
컴파일 후 배열 관리
- 컴파일하고 저장하면 기본값에서 배열의 값을 추가하거나 수정할 수 있습니다.
- 배열의 각 인덱스에 값을 넣는 구조입니다.
2. 배열의 길이: Length
- 설명: 배열의 길이를 반환하는 함수입니다.
- 사용:
Length를 호출하면 배열의 크기를 가져옵니다.
- 배열에서 마지막 인덱스를 구할 때는
Length - 1을 사용합니다.
- 예시:
- 배열
[1, 2, 3]에서 Length는 3입니다.
3. 값 추가: Add와 AddUnique
Add
- 설명: 배열의 마지막에 새로운 값을 추가합니다.
- 결과:
- 예시:
- 배열
[1, 2]에 Add(3) → [1, 2, 3].
AddUnique
- 설명: 값이 배열에 없을 경우에만 값을 추가합니다.
- 결과:
- 예시:
- 배열
[1, 2]에 AddUnique(2) → [1, 2] (변화 없음).
4. 값 제거: Clear
- 설명: 배열의 모든 값을 제거합니다.
- 결과:
- 예시:
- 배열
[1, 2, 3]에 Clear → [].
5. 값 탐색: Find와 Contains
Find
- 설명: 배열에서 특정 값을 찾아 해당 값의 인덱스를 반환합니다.
- 결과:
- 값이 존재하면 해당 인덱스를 반환.
- 값이 없으면
-1을 반환.
- 예시:
- 배열
[1, 2, 3]에서 Find(2) → 1.
- 배열
[1, 2, 3]에서 Find(4) → -1.
Contains
- 설명: 배열에 특정 값이 존재하는지 여부를 반환합니다.
- 결과:
- 예시:
- 배열
[1, 2, 3]에서 Contains(2) → True.
- 배열
[1, 2, 3]에서 Contains(4) → False.
6. 크기 변경: Resize
- 설명: 배열의 크기를 지정된 값으로 변경합니다.
- 결과:
- 크기가 작아지면 초과된 요소가 삭제됩니다.
- 크기가 커지면 추가된 공간은 기본값으로 초기화됩니다.
- 예시:
- 배열
[1, 2, 3]에 Resize(5) → [1, 2, 3, 0, 0].
- 배열
[1, 2, 3]에 Resize(2) → [1, 2].
7. 값 설정: Set Array Elem
- 설명: 배열의 특정 인덱스 값을 설정합니다.
- 옵션:
- Index: 값을 설정할 배열의 인덱스.
- Item: 설정할 값.
- Size to Fit: 체크 시 배열 크기를 자동으로 확장.
- 결과:
- 인덱스가 배열 크기 내에 있으면 값을 설정.
- 크기 밖이면
Size to Fit 여부에 따라 동작.
- 예시:
- 배열
[1, 2, 3]에서 Index=1, Item=5 → [1, 5, 3].
- 배열
[1, 2, 3]에서 Index=5, Size to Fit 체크 → [1, 2, 3, 0, 0, 5].
8. 배열 반복: For Each Loop
- 설명: 배열을 순회하며 각 요소를 처리할 수 있는 반복문입니다.
- 특징:
- Array Element: 현재 배열의 값.
- Array Index: 현재 배열의 인덱스.
- 예시:
- 배열
[1, 2, 3]에서 For Each → 각각의 값(1, 2, 3)과 인덱스(0, 1, 2)를 추출.