반응형
Get All Actors of Class (클래스의 모든 액터 가져오기) 노드 설명
이번 섹션을 마무리하기 전에 Get All Actors of Class 노드에 대해 알아보겠습니다.
1. Get All Actors of Class 노드 기본

- 레벨 블루프린트로 이동하여 Begin Play 이벤트를 만듭니다.
- Begin Play에서 드래그하여 Get All Actors를 검색하고 Get All Actors of Class 노드를 선택합니다.
- Get All Actors of Class 노드의 기능:

-
- 현재 레벨에 배치된 특정 클래스의 모든 액터를 찾아서 가져옵니다.
- 가져온 액터들은 배열(Array) 형태로 반환됩니다. (출력 핀 옆의 정사각형 아이콘이 이것이 배열임을 나타냅니다.)
- 클래스 지정:

-
- Actor Class 드롭다운에서 우리가 만든 BP_LightPole을 선택합니다.
- 이제 이 노드는 레벨에 있는 모든 BP_LightPole 액터를 배열에 담아 반환합니다.


2. 태그(Tag)를 사용한 필터링 (참고)
- 이와 유사하게 Get All Actors With Tag 노드를 사용할 수도 있습니다.
- 이 노드는 지정된 태그를 가진 모든 액터를 찾아서 배열에 담습니다. (예: 태그가 **"Player"**인 모든 액터를 가져옴)
3. 배열에서 특정 액터에 접근하여 컴포넌트 제어
먼저, 레벨에 BP_LightPole 액터 4개를 배치합니다. 이제 블루프린트에서 이 네 개의 액터 중 첫 번째 액터에 접근해 보겠습니다.
- Get (배열에서 가져오기) 노드:
- Get All Actors of Class의 Return Value (배열) 핀에서 드래그하여 Get 노드를 검색하고 선택합니다.
- Index에 0을 입력합니다. (배열은 0부터 시작하므로, 이것은 첫 번째 라이트 폴을 가져오는 것입니다.)
- 컴포넌트 접근:
- 이제 Get 노드의 출력 (첫 번째 라이트 폴 액터)에서 드래그합니다.
- Point Light 컴포넌트의 변수명인 Point Light를 검색하고, 목록 하단에서 Get Point Light 노드를 선택합니다. (액터 내부의 컴포넌트에 접근하는 것입니다.)
- 색상 변경:
- Get Point Light의 출력에서 드래그하여 Set Light Color 노드를 검색하여 연결합니다.
- 색상을 빨간색으로 설정합니다.
- 테스트: Play를 클릭하면, 레벨에 있는 첫 번째 라이트 폴의 조명 색상만 빨간색으로 변경되고, 나머지 세 개의 라이트 폴은 기본 색상을 유지합니다.
무작위(Random) 액터의 컴포넌트 제어

이제 네 개의 라이트 폴 중 무작위로 하나를 선택하여 색상을 변경하도록 로직을 수정해 봅시다.
- 배열 길이 확인 (Last Index):
- Get All Actors of Class의 Return Value (배열) 핀에서 드래그하여 Last Index (마지막 인덱스) 노드를 검색하여 연결합니다.
- 이 노드는 현재 배열에 담긴 액터 개수(예: 4개)를 기반으로 마지막 항목의 인덱스 (예: 3)를 자동으로 계산해 줍니다. (액터 개수가 바뀌어도 코드를 수정할 필요가 없습니다.)
- 무작위 정수 (Random Integer):
- Last Index의 출력 핀에서 드래그하여 Random Integer (무작위 정수) 노드를 검색합니다.
- Last Index의 결과값을 Max 입력 핀에 연결합니다. (예: 0부터 3 사이의 무작위 정수를 얻게 됩니다.)
- Get 노드 연결: Random Integer 노드의 출력을 Get 배열 노드의 Index 입력 핀에 연결합니다.
- 최종 로직: 레벨의 모든 라이트 폴을 가져온다 마지막 인덱스를 기준으로 무작위 정수를 얻는다 배열에서 무작위 정수에 해당하는 라이트 폴 액터를 가져온다 해당 액터의 조명 색상을 빨간색으로 설정한다.
- 테스트: Play를 클릭할 때마다 네 개의 라이트 폴 중 무작위로 하나가 선택되어 빨간색으로 변경되는 것을 확인할 수 있습니다.

결론: Get All Actors of Class 노드는 레벨에 존재하는 특정 타입의 액터 전체를 배열 형태로 가져와서 집합적으로 또는 선택적으로(무작위 포함) 액터의 속성이나 행동을 제어할 때 사용되는 매우 중요한 노드입니다.
반응형
'Unreal Engine' 카테고리의 다른 글
| Unreal Engine 블루프린트 통신 (Blueprint Communication) 소개 (0) | 2025.11.11 |
|---|---|
| Unreal Engine 액터 해즈 태그 (Actor Has Tag) 노드 설명 (0) | 2025.11.10 |
| Unreal Engine 오버랩 이벤트 (Overlap Events) 및 충돌 감지 (0) | 2025.11.09 |
| Unreal Engine 편집 가능한 변수와 생성 시 노출 (Editable Variables & Expose on Spawn) (0) | 2025.11.08 |
| Unreal Engine 씬 컴포넌트 (Scene Components) 설명 (0) | 2025.11.08 |