在Unreal Engine中,可以通过相机来获取可视范围的坐标。

首先,获取当前相机的引用,可以通过以下代码来获取:

APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
if(PlayerController)
{
    AActor* CameraActor = PlayerController->GetViewTarget();
    if(CameraActor)
    {
        UCameraComponent* CameraComponent = CameraActor->FindComponentByClass<UCameraComponent>();
        if(CameraComponent)
        {
            // 在这里可以使用CameraComponent获取相机相关的信息
        }
    }
}

然后,可以使用相机的相关函数和属性来获取可视范围的坐标。

例如,可以使用GetCameraView()函数来获取相机的视图信息,该函数返回一个FMinimalViewInfo结构体,其中包含了相机的位置、旋转和可视范围等信息。

FMinimalViewInfo ViewInfo;
if(CameraComponent)
{
    CameraComponent->GetCameraView(0, ViewInfo);
    FVector CameraLocation = ViewInfo.Location;
    FRotator CameraRotation = ViewInfo.Rotation;
    float FOV = ViewInfo.FOV;
    // 可视范围的坐标信息可以在这里使用
}

除了上述方法外,还可以使用ProjectWorldToScreen()函数将世界坐标转换为屏幕坐标。

FVector WorldLocation; // 需要转换的世界坐标
FVector2D ScreenLocation;
if(CameraComponent)
{
    bool bScreenProjectionSuccessful = CameraComponent->ProjectWorldToScreen(WorldLocation, ScreenLocation);
    if(bScreenProjectionSuccessful)
    {
        // 在这里可以使用ScreenLocation获取到的屏幕坐标
    }
}

这些方法可以帮助你获取到可视范围的坐标信息。

Unreal Engine: 获取相机可视范围坐标

原文地址: https://www.cveoy.top/t/topic/pYQG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录