默认的,UE4,会以AGameMode中设置DefaultPawnClass对象中摄影机作为默认摄影机。有时候我们想要一个全局的摄影机对场景进行观察,这就需要重新创建一个摄影机,并在这两个摄影机直接切换。下面看下如何实现。
在APlayerController类中,有一个SetViewTarget方法,参数是一个AActor指针,就是实现此功能的。因为参数必须是AActor,即必须是AActor中包含的Camera组件才有效,所有,先创建一个AActor对象。
FreeCameraActor.h
UCLASS()
class NANTOPDOWN_API AFreeCameraActor : public AActor
{
GENERATED_UCLASS_BODY()
public:
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
TSubobjectPtr<class UCameraComponent> TopDownCameraComponent;
UFUNCTION(BlueprintCallable, Category = "View Target")
void ChangeViewTarget();
virtual