배경: 블루프린트에서 배열 사용

Unreal Engine 블루프린트에서 배열은 기본적으로 동적 배열입니다. 이는 연속된 메모리 공간을 사용하는 배열이지만 크기를 동적으로 조정할 수 있어 일반적인 정적 배열의 단점을 보완한 구조입니다.


1. 배열 생성

변수 생성 후 배열로 변경

  • 설명: 변수를 생성한 후, 우측 디테일 창에서 변수의 타입을 Array(배열)로 변경합니다.
  • 과정:
    1. 변수 유형(Variable Type)을 선택.
    2. Array 타입을 활성화.
    3. 배열로 타입이 변경된 것을 확인.

컴파일 후 배열 관리

  • 컴파일하고 저장하면 기본값에서 배열의 값을 추가하거나 수정할 수 있습니다.
  • 배열의 각 인덱스에 값을 넣는 구조입니다.

2. 배열의 길이: Length

  • 설명: 배열의 길이를 반환하는 함수입니다.
  • 사용:
    • Length를 호출하면 배열의 크기를 가져옵니다.
    • 배열에서 마지막 인덱스를 구할 때는 Length - 1을 사용합니다.
  • 예시:
    • 배열 [1, 2, 3]에서 Length3입니다.

3. 값 추가: Add와 AddUnique

Add

  • 설명: 배열의 마지막에 새로운 값을 추가합니다.
  • 결과:
    • 배열의 크기가 1 증가하며 값이 추가됩니다.
  • 예시:
    • 배열 [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

  • 설명: 배열에 특정 값이 존재하는지 여부를 반환합니다.
  • 결과:
    • 값이 존재하면 True, 없으면 False.
  • 예시:
    • 배열 [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)를 추출.

profile
李家네_공부방

0개의 댓글