第一次提交

This commit is contained in:
不明不惑
2026-03-03 01:23:02 +08:00
commit 3e434877e8
1053 changed files with 102411 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "GCMS_CameraAssistInterface.generated.h"
/** */
UINTERFACE(BlueprintType)
class UGCMS_CameraAssistInterface : public UInterface
{
GENERATED_BODY()
};
class GENERICCAMERASYSTEM_API IGCMS_CameraAssistInterface
{
GENERATED_BODY()
public:
/**
* Get the list of actors that we're allowing the camera to penetrate. Useful in 3rd person cameras
* when you need the following camera to ignore things like the a collection of view targets, the pawn,
* a vehicle..etc.
*/
virtual void GetIgnoredActorsForCameraPentration(TArray<const AActor*>& OutActorsAllowPenetration) const { }
/**
* The target actor to prevent penetration on. Normally, this is almost always the view target, which if
* unimplemented will remain true. However, sometimes the view target, isn't the same as the root actor
* you need to keep in frame.
*/
virtual TOptional<AActor*> GetCameraPreventPenetrationTarget() const
{
return TOptional<AActor*>();
}
/** Called if the camera penetrates the focal target. Useful if you want to hide the target actor when being overlapped. */
virtual void OnCameraPenetratingTarget() { }
};