본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-31

TArray

트리거 박스에는 가고일 석상만 들어갈 수도 있지만, 사람이 실수로 들어갈 수도 있다.

따라서 오버랩된 것이 무엇인지 알 필요가 있으며, GetOverlappingActoros 함수를 통해 이를 알 수 있다.

함수를 살펴보면 TArray를 사용한다.

이는 배열의 일종이며, <>사이에 어떤 타입의 값을 저장할지 명시하게 된다.

우리는 오버랩된 액터를 찾기에 AActor*를 작성하게 된다.

그리고 보면 해당 함수는 리턴 ㄱ밧이 없고, 오버랩된 액터에 대해 참조표시가 있는 것을 볼 수 있다.

이를 통해 오버랩된 액터들에 대한 파라미터가 아웃 파라미터인 것을 추정할 수 있다.

두 번째 값에 대해서는 디폴트로 설정되어있으므로 신경쓰지 않아도 된다.

 

이제 간단하게 오버랩된 액터들을 위해 먼저 TArray를 선언하고 이어서 함수에 담아주자.

다음으로 액터의 갯수를 체크하여, 만약 액터의 갯수가 1이상이라면, (액터가 존재한다면) 해당 액터의 이름을 출력해보자.

if 문을 통해 액터의 갯수를 체크하고, 배열의 인덱스 번호를 직접 적어서 해당 인덱스에 위치한 배열의 이름을 얻어 출력해준다.

우리가 원하는 건 처음 들어간 액터의 이름이므로, 제일 첫 번째에 해당하는 0을 넣어준다.

 

이 과정이 매 Tick마다 수행되므로, 트리거 박스 내에 새로운 액터가 들어갈 때마다 새롭게 해당 액터의 이름이 출력된다.