Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
CameraPostProcessComponent.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Components/ActorComponent.h"
8#include "Engine/Scene.h"
9#include "CameraPostProcessComponent.generated.h"
10
12class UMaterialInterface;
13class UMaterialInstanceDynamic;
14
15
16USTRUCT()
18{
19 GENERATED_BODY()
20
21public:
22 UPROPERTY(EditDefaultsOnly)
23 TObjectPtr<UMaterialInterface> BlurMaterial = nullptr;
24
25 UPROPERTY(EditDefaultsOnly)
26 FString StrengthParameterName = "BlurStrength";
27};
28
29
30UCLASS(ClassGroup=(Camera), meta=(BlueprintSpawnableComponent))
31class CK_UE_API UCameraPostProcessComponent : public UActorComponent
32{
33 GENERATED_BODY()
34
35public:
36 UCameraPostProcessComponent();
37
38public:
39 void ApplyCachedPostProcessBlend(AGameCameraManager* CameraManager);
40 void SetBlurPPSettings(const FPostProcessSettings& InSettings, float InWeight);
41 void ClearBlurPPSettings();
42 void ApplyBlurMaterial(ECameraBlurEffectType EffectType, float InStrength, float InBlendWeight);
43 void ClearBlurMaterial(ECameraBlurEffectType EffectType);
44 void ClearAllBlurMaterials();
45
46private:
47 void ApplyBlurMaterialInternal(const FBlueMaterial& BlurMaterial, TObjectPtr<UMaterialInstanceDynamic>& MaterialInstance, float InStrength, float InBlendWeight);
48 void ClearBlurMaterialInstance(TObjectPtr<UMaterialInstanceDynamic>& MaterialInstance);
49 void SetBlendableWeight(UObject* BlendableObject, float InWeight);
50 void ClearBlendableWeight(UObject* BlendableObject);
51
52private:
53 UPROPERTY(EditDefaultsOnly, Category = "Camera|PostProcess", meta = (AllowPrivateAccess = "true"))
54 TMap<ECameraBlurEffectType, FBlueMaterial> PostProcessMaterialMap;
55
56private:
57 UPROPERTY(Transient)
58 TMap<ECameraBlurEffectType, TObjectPtr<UMaterialInstanceDynamic>> PostProcessingMaterialInstanceMap;
59
60private:
61 FPostProcessSettings BlurPPSettings;
62 FPostProcessSettings BlendablePPSettings;
63
64 float BlurPPWeight = 1.0f;
65
66 bool bHasBlurPPSettings = false;
67 bool bHasBlendablePPSettings = false;
68};
ECameraBlurEffectType
Definition CameraBlurEffect.h:14
Definition GameCameraManager.h:28
Definition CameraPostProcessComponent.h:18