13#include "CameraShakeBase.generated.h"
27 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
31 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
35 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake, meta=(EditCondition="bOverrideDuration"))
36 float DurationOverride = 0.f;
55 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
59 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
60 float ShakeScale = 1.f;
62 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
63 float DynamicScale = 1.f;
66 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
70 float GetTotalScale()
const
72 return FMath::Max(ShakeScale * DynamicScale, 0.f);
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
99 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
100 float ShakeScale = 1.f;
102 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
103 float DynamicScale = 1.f;
106 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
110 float GetTotalScale()
const
112 return FMath::Max(ShakeScale * DynamicScale, 0.f);
143 : Location(
FVector::ZeroVector)
146 , PostProcessBlendWeight(0.f)
177 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=CameraShake)
182#if !defined(UE_LEGACY_CAMERA_SHAKE_PATTERN_TYPES)
183#define UE_LEGACY_CAMERA_SHAKE_PATTERN_TYPES 0
186#if UE_LEGACY_CAMERA_SHAKE_PATTERN_TYPES
269 float BlendOut = 0.f;
398 float CurrentBlendInTime;
399 float CurrentBlendOutTime;
401 bool bIsBlendingIn : 1;
402 bool bIsBlendingOut : 1;
407 bool bHasBlendIn : 1;
408 bool bHasBlendOut : 1;
531 UPROPERTY(EditAnywhere, Category=CameraShake)
539 UFUNCTION(BlueprintPure, Category="CameraShake")
543 UFUNCTION(BlueprintCallable, Category=
"CameraShake")
583 ENGINE_API void StopShake(
bool bImmediately =
true);
665 template<
typename InstanceType>
675 virtual bool IsFinishedImpl()
const {
return true; }
677 virtual void TeardownShakePatternImpl() {}
#define check(expr)
Definition AssertionMacros.h:314
ECameraShakePatternUpdateResultFlags
Definition CameraShakeBase.h:121
ECameraShakeDurationType
Definition CameraShakeBase.h:200
ECameraShakePlaySpace
Definition CameraTypes.h:26
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
@ Stop
Definition PrecomputedVolumetricLightmapStreaming.cpp:26
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition PlayerCameraManager.h:189
Definition UObjectGlobals.h:1292
Definition SubclassOf.h:30
Definition CameraShakeBase.h:440
static bool GetCameraShakeDuration(TSubclassOf< UCameraShakeBase > CameraShakeClass, FCameraShakeDuration &OutDuration)
Definition CameraShakeBase.h:472
ECameraShakePlaySpace GetPlaySpace() const
Definition CameraShakeBase.h:594
APlayerCameraManager * GetCameraManager() const
Definition CameraShakeBase.h:591
bool IsActive() const
Definition CameraShakeBase.h:565
void SetUserPlaySpaceMatrix(const FMatrix &InMatrix)
Definition CameraShakeBase.h:598
const FMatrix & GetUserPlaySpaceMatrix() const
Definition CameraShakeBase.h:596
static bool GetCameraShakeBlendTimes(TSubclassOf< UCameraShakeBase > CameraShakeClass, float &OutBlendIn, float &OutBlendOut)
Definition CameraShakeBase.h:493
Definition CameraShakeBase.h:636
InstanceType * GetShakeInstance() const
Definition CameraShakeBase.h:666
@ false
Definition radaudio_common.h:23
Definition CameraShakeBase.h:276
FMatrix UserPlaySpaceMatrix
Definition CameraShakeBase.h:282
TWeakObjectPtr< APlayerCameraManager > CameraManager
Definition CameraShakeBase.h:285
Definition CameraShakeBase.h:415
ECameraShakePlaySpace PlaySpace
Definition CameraShakeBase.h:423
TObjectPtr< APlayerCameraManager > CameraManager
Definition CameraShakeBase.h:417
TOptional< float > DurationOverride
Definition CameraShakeBase.h:429
float Scale
Definition CameraShakeBase.h:420
FRotator UserPlaySpaceRot
Definition CameraShakeBase.h:426
Definition CameraShakeBase.h:214
bool IsCustom() const
Definition CameraShakeBase.h:236
ECameraShakeDurationType GetDurationType() const
Definition CameraShakeBase.h:230
bool IsCustomWithHint() const
Definition CameraShakeBase.h:238
FCameraShakeDuration()
Definition CameraShakeBase.h:225
float Get() const
Definition CameraShakeBase.h:241
static FCameraShakeDuration Custom(float DurationHint)
Definition CameraShakeBase.h:222
bool IsInfinite() const
Definition CameraShakeBase.h:234
FCameraShakeDuration(float InDuration, ECameraShakeDurationType InType=ECameraShakeDurationType::Fixed)
Definition CameraShakeBase.h:227
static FCameraShakeDuration Custom()
Definition CameraShakeBase.h:220
bool IsFixed() const
Definition CameraShakeBase.h:232
Definition CameraShakeBase.h:256
FCameraShakeDuration Duration
Definition CameraShakeBase.h:261
Definition CameraShakeBase.h:81
FCameraShakePatternScrubParams(const FMinimalViewInfo &InPOV)
Definition CameraShakeBase.h:87
Definition CameraShakeBase.h:23
Definition CameraShakeBase.h:174
Definition CameraShakeBase.h:44
FCameraShakePatternUpdateParams(const FMinimalViewInfo &InPOV)
Definition CameraShakeBase.h:50
Definition CameraShakeBase.h:139
float PostProcessBlendWeight
Definition CameraShakeBase.h:160
FRotator Rotation
Definition CameraShakeBase.h:153
ECameraShakePatternUpdateResultFlags Flags
Definition CameraShakeBase.h:163
FVector Location
Definition CameraShakeBase.h:151
float FOV
Definition CameraShakeBase.h:155
FPostProcessSettings PostProcessSettings
Definition CameraShakeBase.h:158
Definition CameraShakeBase.h:292
ENGINE_API void Start(const FCameraShakeInfo &InShakeInfo)
Definition CameraShakeBase.cpp:59
ENGINE_API FCameraShakeState()
Definition CameraShakeBase.cpp:47
float GetCurrentBlendOutTime() const
Definition CameraShakeBase.h:372
float GetCurrentBlendInTime() const
Definition CameraShakeBase.h:369
bool IsBlendingIn() const
Definition CameraShakeBase.h:360
float GetDuration() const
Definition CameraShakeBase.h:381
bool HasDuration() const
Definition CameraShakeBase.h:378
bool IsBlendingOut() const
Definition CameraShakeBase.h:363
bool IsInfinite() const
Definition CameraShakeBase.h:384
float GetElapsedTime() const
Definition CameraShakeBase.h:366
bool IsPlaying() const
Definition CameraShakeBase.h:357
const FCameraShakeInfo & GetShakeInfo() const
Definition CameraShakeBase.h:375
Definition CameraTypes.h:37
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25
static CORE_API const TRotator< double > ZeroRotator
Definition Rotator.h:57