UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CameraModifier_CameraShake.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
7#pragma once
8
9#include "CoreMinimal.h"
12#include "Camera/CameraTypes.h"
14#include "CameraModifier_CameraShake.generated.h"
15
18
22USTRUCT()
30
34USTRUCT()
36{
38
40 : ShakeInstance(nullptr)
41 , ShakeSource(nullptr)
42 , bIsCustomInitialized(false)
43 {}
44
46 UPROPERTY()
48
50 UPROPERTY()
52
54 UPROPERTY()
55 bool bIsCustomInitialized;
56
57#if UE_ENABLE_DEBUG_DRAWING
60#endif
61};
62
63#if UE_ENABLE_DEBUG_DRAWING
68{
70 float AccumulatedTime;
74 FRotator DeltaRotation;
75};
76#endif
77
78#if UE_ENABLE_DEBUG_DRAWING
87{
91 FString ShakeInstanceName;
95 float TimeInactive = 0.f;
97 bool bIsInactive = false;
98};
99#endif
100
102
136
137//~=============================================================================
142UCLASS(config=Camera, MinimalAPI)
144{
146
147public:
149
150 ENGINE_API virtual void BeginDestroy() override;
151
158
163 ENGINE_API virtual void GetActiveCameraShakes(TArray<FActiveCameraShakeInfo>& ActiveCameraShakes) const;
164
170 ENGINE_API virtual void RemoveCameraShake(UCameraShakeBase* ShakeInst, bool bImmediately = true);
171
176 ENGINE_API virtual void RemoveAllCameraShakesOfClass(TSubclassOf<UCameraShakeBase> ShakeClass, bool bImmediately = true);
177
183 ENGINE_API virtual void RemoveAllCameraShakesFromSource(const UCameraShakeSourceComponent* SourceComponent, bool bImmediately = true);
184
191 ENGINE_API virtual void RemoveAllCameraShakesOfClassFromSource(TSubclassOf<UCameraShakeBase> ShakeClass, const UCameraShakeSourceComponent* SourceComponent, bool bImmediately = true);
192
197 ENGINE_API virtual void RemoveAllCameraShakes(bool bImmediately = true);
198
199 //~ Begin UCameraModifer Interface
200 ENGINE_API virtual bool ModifyCamera(float DeltaTime, struct FMinimalViewInfo& InOutPOV) override;
201 ENGINE_API virtual void DisplayDebug(class UCanvas* Canvas, const FDebugDisplayInfo& DebugDisplay, float& YL, float& YPos) override;
202 //~ End UCameraModifer Interface
203
204protected:
205
207 UPROPERTY()
209
210 UPROPERTY()
212
213 ENGINE_API void SaveShakeInExpiredPoolIfPossible(const FActiveCameraShakeInfo& ShakeInfo);
214 ENGINE_API void SaveShakeInExpiredPool(UCameraShakeBase* ShakeInst);
216
218 UPROPERTY(EditAnywhere, Category = CameraModifier_CameraShake)
219 float SplitScreenShakeScale;
220
221#if UE_ENABLE_DEBUG_DRAWING
224 ENGINE_API void DisplayDebugGraphs(class UCanvas* Canvas, const FDebugDisplayInfo& DebugDisplay);
225
229 bool bRecordDebugData;
230#endif
231
232private:
233 void OnPreGarbageCollect();
234 void RemoveInvalidObjectsFromExpiredPool();
235};
236
ECameraShakePlaySpace
Definition CameraTypes.h:26
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
Definition DisplayDebugHelpers.h:9
Definition UObjectGlobals.h:1292
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SubclassOf.h:30
Definition CameraModifier_CameraShake.h:144
Definition CameraModifier.h:24
Definition CameraShakeBase.h:440
Definition CameraShakeSourceComponent.h:41
Definition Canvas.h:159
@ false
Definition radaudio_common.h:23
Definition CameraModifier_CameraShake.h:36
Definition CameraModifier_CameraShake.h:105
FOnInitializeCameraShake Initializer
Definition CameraModifier_CameraShake.h:122
FAddCameraShakeParams(float InScale, ECameraShakePlaySpace InPlaySpace=ECameraShakePlaySpace::CameraLocal, FRotator InUserPlaySpaceRot=FRotator::ZeroRotator, const UCameraShakeSourceComponent *InSourceComponent=nullptr)
Definition CameraModifier_CameraShake.h:132
const UCameraShakeSourceComponent * SourceComponent
Definition CameraModifier_CameraShake.h:114
FRotator UserPlaySpaceRot
Definition CameraModifier_CameraShake.h:111
float Scale
Definition CameraModifier_CameraShake.h:107
ECameraShakePlaySpace PlaySpace
Definition CameraModifier_CameraShake.h:109
TOptional< float > DurationOverride
Definition CameraModifier_CameraShake.h:127
FAddCameraShakeParams()
Definition CameraModifier_CameraShake.h:129
Definition CameraTypes.h:37
Definition CameraModifier_CameraShake.h:24
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25
static CORE_API const TRotator< double > ZeroRotator
Definition Rotator.h:57