"GrabComponentAtLocationWithRotation" 함수는 언리얼 엔진(Unreal Engine)에서 사용되는 함수 중 하나로, 오브젝트나 액터 내에서 특정 위치와 회전값을 기반으로 컴포넌트를 선택하고 상호 작용할 때 사용됩니다. 이 함수를 사용하면 게임에서 오브젝트를 플레이어가 특정 위치와 회전에서 선택하고 조작할 수 있습니다.
이 함수는 특정 위치와 회전을 기반으로 액터 내에서 컴포넌트를 선택하고 그 컴포넌트에 대한 상호 작용을 수행합니다.
매개변수:
사용 예:
cppCopy code
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
if (PlayerController)
{
FVector StartLocation;
FVector EndLocation;
FRotator PlayerViewRotation;
PlayerController->GetPlayerViewPoint(StartLocation, PlayerViewRotation);
EndLocation = StartLocation + (PlayerViewRotation.Vector() * MaxTraceDistance);
FHitResult HitResult;
bool bHit = PlayerController->GrabComponentAtLocationWithRotation(
HitResult,
StartLocation,
EndLocation,
ECollisionChannel::ECC_Visibility,
FCollisionQueryParams::DefaultQueryParam,
ECR_Block
);
if (bHit)
{
// 선택한 컴포넌트와 상호 작용을 수행합니다.
AActor* HitActor = HitResult.GetActor();
UPrimitiveComponent* HitComponent = HitResult.GetComponent();
// ...
}
}
설명: 위의 예시에서는 플레이어의 시점에서 시작 위치(StartLocation)와 시선 방향으로 끝 위치(EndLocation)를 계산하고, 해당 위치로부터 컴포넌트를 선택하려는 시도를 시뮬레이트합니다. 선택된 컴포넌트와 상호 작용을 수행할 수 있으며, 이는 주로 게임의 상호 작용 기능에 사용됩니다.