5#include "CoreMinimal.h"
6#include "Components/ActorComponent.h"
8#include "CameraCollisionComponent.generated.h"
11UCLASS(ClassGroup=(Camera), meta=(BlueprintSpawnableComponent))
17 UCameraCollisionComponent();
20 virtual
void UpdateCameraBehavior(
AGameCameraManager* CameraManager,
float DeltaTime)
override { }
25 void UpdateCameraCollision(FVector Pivot, FVector AdjustedLocation, FRotator Rotation,
const AActor* SubjectActor =
nullptr);
28 FORCEINLINE
bool IsColliding()
const
34 FORCEINLINE
bool IsCollisionInFront()
const
36 return bCollisionInFront;
40 FORCEINLINE FVector GetAdjustedCameraLocation()
const
42 return AdjustedCameraLocation;
46 FORCEINLINE FVector GetCollisionOffsetInCameraSpace()
const
48 return CollisionOffsetInCameraSpace;
51 FORCEINLINE
float GetSphereRadius()
const
57 UPROPERTY(EditDefaultsOnly, Category =
"Camera|Collision", meta = (ClampMin =
"1.0"))
58 float SphereRadius = 20.0f;
60 UPROPERTY(EditDefaultsOnly, Category = "Camera|
Collision")
61 TEnumAsByte<ECollisionChannel> CollisionChannel = ECC_Camera;
64 bool bIsColliding = false;
65 bool bCollisionInFront = false;
66 FVector AdjustedCameraLocation = FVector::ZeroVector;
67 FVector CollisionOffsetInCameraSpace = FVector::ZeroVector;
68 FCollisionQueryParams QueryParams = FCollisionQueryParams(FName(TEXT("CameraCollision")), false);;
Definition GameCameraManager.h:28
Definition CameraBehaviorInterface.h:21