内容纲要
使用高分辨率拍摄
void CaptureCameraViewSaveToDisk(int32 SizeX, int32 SizeY, FString Path, ACameraActor* InCamera)
{
if (InCamera)
{
//主要是这个
UAutomationBlueprintFunctionLibrary::TakeHighResScreenshot(
SizeX, SizeY, Path, InCamera, false, false
);
}
// 以下为设置视口位置为摄影机位置。
FLevelEditorModule& LevelEditor = FModuleManager::GetModuleChecked<FLevelEditorModule>("LevelEditor");
SLevelViewport* LevelViewport = LevelEditor.GetFirstActiveLevelViewport().Get();
if (!LevelViewport)
{
return false;
}
FLevelEditorViewportClient& LevelViewportClient = LevelViewport->GetLevelViewportClient();
if (InCamera)
{
LevelViewportClient.SetViewLocation(InCamera->GetActorLocation());
LevelViewportClient.SetViewRotation(InCamera->GetActorRotation());
}
}