34 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Exposure")
35 float ExposureMinEV = 10.0f;
37 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Exposure")
38 float ExposureMaxEV = 12.0f;
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Exposure")
41 float HighlightContrast = 1.0f;
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Exposure")
44 float ShadowContrast = 1.0f;
47 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera")
48 float ShutterSpeed = 60.0f;
55 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera")
56 TEnumAsByte<EAutoExposureMethod> ExposureMode = AEM_Histogram;
58 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera")
61 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera")
62 float Aperture = 4.0f;
65 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Depth Of Field")
66 float SensorWidth = 24.576f;
68 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Depth Of Field")
69 float FocalDistance = 1000.0f;
76 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
77 float Temperature = 6500.0f;
79 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
82 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
83 FLinearColor SceneColorTint = FLinearColor::White;
85 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
86 float GlobalSaturation = 1.0f;
88 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
89 float GlobalContrast = 1.0f;
91 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
92 float GlobalGamma = 1.0f;
94 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Color Grading")
95 float VignetteIntensity = 0.4f;
106 ASkyBase(
const FObjectInitializer& ObjectInitializer);
129 bool bBloomFromWeatherFallback = false;
135 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PostProcessProfile",
136 meta = (GetOptions = "GetAvailablePostProcessProfileNamesForPicker"))
137 FString ProfileName = TEXT("Cinematic");
143 UFUNCTION(BlueprintCallable, CallInEditor, Category = "PostProcessProfile")
152 UFUNCTION(BlueprintCallable, CallInEditor, Category = "PostProcessProfile")
157 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PostProcessProfile")
158 FString NewProfileName;
164 UFUNCTION(BlueprintCallable, CallInEditor, Category = "PostProcessProfile")
165 void CreateProfile();
176 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "CustomParameters")
184 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WeatherPreset",
185 meta = (GetOptions = "GetAvailableTimePresetNamesForPicker", DisplayName = "Time Preset"))
186 FString TimePresetName = TEXT("Noon");
188 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WeatherPreset",
189 meta = (GetOptions = "GetAvailableConditionPresetNamesForPicker", DisplayName = "Condition Preset"))
190 FString ConditionPresetName = TEXT("Clear");
203 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "SaveTimePreset"))
204 void B_SaveTimePreset();
208 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "SaveConditionPreset"))
209 void C_SaveConditionPreset();
216 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "SaveCurrentWeatherAsMapDefault"))
217 void D_SaveCurrentWeatherAsMapDefault();
222 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "SetAsMapDefault"))
223 void E_SetAsMapDefault();
228 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WeatherPreset")
229 FString NewTimePresetName;
231 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WeatherPreset")
232 FString NewConditionPresetName;
234 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "CreateTimePreset"))
235 void F_CreateTimePreset();
237 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "CreateConditionPreset"))
238 void G_CreateConditionPreset();
247 UFUNCTION(BlueprintCallable, CallInEditor, Category = "WeatherPreset", meta = (DisplayName = "LoadMapDefault"))
248 void H_LoadMapDefault();
260 virtual
void OnConstruction(const FTransform& Transform) override;
266 virtual
void BeginPlay() override;
275 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
282 void ApplyTimeAndConditionPresets();
287 void PushCameraParameters();
288 void SyncCameraParametersFromPostProcess();
296 void RefreshWeather();
301 static TArray<FString> GetAvailablePostProcessProfileNamesForPicker();
304 static TArray<FString> GetAvailableTimePresetNamesForPicker();
307 static TArray<FString> GetAvailableConditionPresetNamesForPicker();
310 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
311 UPostProcessComponent* PostProcessComponent;
313 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
314 UExponentialHeightFogComponent* ExponentialHeightFogComponent;
316 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
317 UDirectionalLightComponent* DirectionalLightComponentSun;
319 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
320 UDirectionalLightComponent* DirectionalLightComponentMoon;
322 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
323 USkyLightComponent* SkyLightComponent;
325 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
326 UVolumetricCloudComponent* VolumetricCloudComponent;
328 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
329 USkyAtmosphereComponent* SkyAtmosphereComponent;