Unreal FOverlapResult

250x250

FOverlapResult

FOverlapResult는 언리얼엔진에서 Overlap검사 결과를 담는 구조체입니다.

OverlapMultiByChannel이나 OverlapMultiByObjectType 같은 함수를 호출했을 때, "어떤 액터/컴포넌트와 겹쳤는지"에 대한 정보를 담아주는 타입니다.

UE 5.4 

전에는 그냥 써도 됐었던 거 같은데 빌드할 때 오류가 있길래 보니까 5.4부터는 FOverlapResult를 사용하기 위해서는 Include를 따로 해줘야 하는 것 같더라고요.

#include "Engine/OverlapResult.h"

찾아보니까 CollisionQueryResult.h안에 정의되어 있어서 다른 충돌 관련 헤더를 Include 하면 자연스럽게 따라왔는데 5.4부터 바뀌었다고 하네요.

사용방법.

#include "Engine/OverlapResult.h"

//예시.
void func(){
	const FVector SelfLoc = GetActorLocation();
	FCollisionShape Shape = FCollisionShape::MakeSphere(Radius);
	FCollisionQueryParams Params;
	Params.AddIgnoredActor(this);
	TArray<FOverlapResult> Hits;
	DrawDebugSphere(GetWorld(), SelfLoc,Radius,30,FColor::Red,false,1);
	bool bAny = GetWorld()->OverlapMultiByChannel(Hits,SelfLoc,FQuat::Identity,ECC_Pawn,Shape,Params);
	if (!bAny)return nullptr;
	for (const FOverlapResult& Hit : Hits) {
		AActor* Other = Hit.GetActor(); 
	}
}

 

Designed by JB FACTORY