UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CameraLensEffectInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "UObject/Interface.h"
5#include "Math/Transform.h"
8
9#include "CameraLensEffectInterface.generated.h"
10
11class AActor;
14
15UINTERFACE(meta=(CannotImplementInterfaceInBlueprint), MinimalAPI, BlueprintType)
20
22{
24
25public:
26
27 UFUNCTION(BlueprintCallable, Category = "CameraLensEffect")
29
30 UFUNCTION(BlueprintCallable, Category = "CameraLensEffect")
32
33 virtual const FTransform& GetRelativeTransform() const = 0;
34 virtual float GetBaseFOV() const = 0;
35 virtual bool ShouldAllowMultipleInstances() const = 0;
36 virtual bool ResetWhenTriggered() const = 0;
37
39 virtual void NotifyWillBePooled() {};
40
43
45 virtual void RegisterCamera(APlayerCameraManager* CameraManager) = 0;
46
48 virtual void NotifyRetriggered() = 0;
49
51 virtual void ActivateLensEffect() = 0;
52
54 virtual void DeactivateLensEffect() = 0;
55
57 ENGINE_API virtual void UpdateLocation(const FVector& CamLoc, const FRotator& CamRot, float CamFOVDeg);
58
59 virtual void AdjustBaseFOV(float NewFOV) = 0;
60
62
64 virtual bool IsLooping() const = 0;
65};
66
67//~ Engineering Note: You can validate assets to see if they have any TSubclassOf<AEmitterCameraLensEffectBase> [or other lens effect bases] and issue warnings where they do! Suggest this type instead!
69USTRUCT(BlueprintType)
71{
73
74
75 UPROPERTY(EditAnywhere, Category="Lens Effect", meta=(MustImplement= "/Script/Engine.CameraLensEffectInterface"))
77};
78
79UENUM()
81{
82 Valid,
83 Invalid,
84};
85
86template <typename T>
88
89UCLASS()
91{
93
94public:
95
97 UFUNCTION(BlueprintPure, Category="Lens Effect", meta=(BlueprintAutocast, CompactNodeTitle=".", Keywords="class, get, toclass, getclass, spawn, object"))
99
101 UFUNCTION(BlueprintCallable, Category="Lens Effect", meta=(ExpandEnumAsExecs=Result, Keywords = "valid, camera, real, lens", DisplayName="Is Valid Camera Lens Class"))
102 static void IsInterfaceClassValid(const FCameraLensInterfaceClassSupport& CameraLens, EInterfaceValidResult& Result);
103
105 UFUNCTION(BlueprintCallable, Category="Lens Effect", meta=(ExpandEnumAsExecs=Result, Keywords = "valid, camera, real, lens", DisplayName="Is Valid Camera Lens"))
106 static void IsInterfaceValid(const TScriptInterface<ICameraLensEffectInterface>& CameraLens, EInterfaceValidResult& Result);
107
115 UFUNCTION(BlueprintCallable, Category="Lens Effect", meta=(ExpandEnumAsExecs=Result))
116 static void SetInterfaceClass(UPARAM(meta = (MustImplement = "CameraLensEffectInterface")) TSubclassOf<AActor> Class, UPARAM(Ref) FCameraLensInterfaceClassSupport& Var, EInterfaceValidResult& Result);
117};
EInterfaceValidResult
Definition CameraLensEffectInterface.h:81
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UPARAM(...)
Definition ObjectMacros.h:748
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UINTERFACE(...)
Definition ObjectMacros.h:780
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Actor.h:257
Definition PlayerCameraManager.h:189
Definition CameraLensEffectInterface.h:22
virtual ENGINE_API void UpdateLocation(const FVector &CamLoc, const FRotator &CamRot, float CamFOVDeg)
Definition CameraLensEffectInterface.cpp:39
virtual bool ShouldTreatEmitterAsSame(TSubclassOf< AActor > OtherEmitter) const =0
virtual float GetBaseFOV() const =0
virtual void DeactivateLensEffect()=0
virtual bool IsLooping() const =0
virtual void RegisterCamera(APlayerCameraManager *CameraManager)=0
virtual void ActivateLensEffect()=0
virtual void AdjustBaseFOV(float NewFOV)=0
virtual ENGINE_API TArray< UFXSystemComponent * > GetParticleComponents() const
Definition CameraLensEffectInterface.cpp:23
virtual bool ResetWhenTriggered() const =0
static ENGINE_API FTransform GetAttachedEmitterTransform(const AActor *Emitter, const FVector &CamLoc, const FRotator &CamRot, float CamFOVDeg)
Definition CameraLensEffectInterface.cpp:47
virtual const FTransform & GetRelativeTransform() const =0
virtual void NotifyRetriggered()=0
virtual void NotifyWillBePooled()
Definition CameraLensEffectInterface.h:39
virtual ENGINE_API UFXSystemComponent * GetPrimaryParticleComponent() const
Definition CameraLensEffectInterface.cpp:32
virtual bool ShouldAllowMultipleInstances() const =0
Definition Array.h:670
Definition ScriptInterface.h:139
Definition SubclassOf.h:30
Definition BlueprintFunctionLibrary.h:16
Definition CameraLensEffectInterface.h:91
Definition CameraLensEffectInterface.h:17
Definition ParticleSystemComponent.h:380
Definition Interface.h:19
Definition CameraLensEffectInterface.h:71