79 if (FJsonObjectConverter::UStructToJsonObjectString(Wrapper, OutputString))
83 FString DirectoryPath = FPaths::GetPath(FullPath);
84 if (!IFileManager::Get().DirectoryExists(*DirectoryPath))
86 IFileManager::Get().MakeDirectory(*DirectoryPath,
true);
88 return FFileHelper::SaveStringToFile(OutputString, *FullPath);
148 TArray<FString> ProfileNames;
149 const FString ConfigDir = FPaths::ProjectContentDir() / TEXT(
"Carla/Config/PostProcess/");
150 IFileManager::Get().FindFiles(ProfileNames, *(ConfigDir / TEXT(
"*.json")),
true,
false);
151 for (FString& Name : ProfileNames)
153 Name = FPaths::GetBaseFilename(Name);
static TAutoConsoleVariable< FString > CVarCarlaPostProcessViewportProfile(TEXT("carla.PostProcess.ViewportProfile"), TEXT("Cinematic"), TEXT("RGB sensors see."), ECVF_Default)
static FString ProfileOrFallback(const TAutoConsoleVariable< FString > &CVar, const TCHAR *Fallback)
static TAutoConsoleVariable< FString > CVarCarlaPostProcessProfile(TEXT("carla.PostProcess.Profile"), TEXT("AutomotiveHDR"), TEXT("spawned without post_process_profile (or with \"Default\")."), ECVF_Default)
static FString ResolveProfileName(const FString &Requested)
static bool LoadAllPostProcessFromJsonToPostProcessComponent(UPostProcessComponent *Volume, const FString &FileName)
static bool SaveAllPostProcessComponentToJson(UPostProcessComponent *Volume, const FString &FileName)
static bool LoadAllPostProcessFromJsonToPostProcessVolume(APostProcessVolume *Volume, const FString &FileName)
static bool LoadAllPostProcessFromJsonToSceneCapture(USceneCaptureComponent2D *SensorCamera, const FString &FileName)
static FString GetPostProcessConfigPath(const FString &FileName)
static FString GetActiveProfileName()
static bool SaveAllPostProcessToJson(APostProcessVolume *Volume, const FString &FileName)
static TArray< FString > GetAvailablePostProcessProfileNames()
static FString GetViewportProfileName()
FPostProcessSettings Settings