因为最近要补课,所以更新速度会慢一些。
今天我来学习如何让玩家控制相机。
创建基础代码项目,取名HowTo_PlayerCamera。
新建Pawn类,取名PawnWithCamera
添加代码到PawnWithCamera.h:
protected:
UPROPERTY(EditAnywhere)
USpringArmComponent* OurCameraSpringArm;
UCameraComponent* OurCamera;
在PawnWithCamera.cpp中创建组件:
//创建组件
RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent"));
OurCameraSpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("CameraSpringArm"));
OurCameraSpringArm->AttachTo(RootComponent);
OurCameraSpringArm->SetRelativeLocationAndRotation(FVector(0.0f, 0.0f, 50.0f), FRotator(-60.0f, 0.0f, 0.0f));
OurCameraSpringArm->TargetArmLength = 400.0f;
OurCameraSpringArm->bEnableCameraLag = true;
OurCameraSpringArm->CameraLagSpeed = 3.0f;
创建CameraComponent并将其附加到SpringArmComponent上:
//创建摄像机并附加到SpringArm组件上
OurCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("GameCamera"));
OurCamera->AttachTo(OurCameraSpringArm, USpringArmComponent::SccketName);
设置Pawn为默认受控:
//控制默认玩家
AutoPossessPlayer = EAutoReceiveInput::Player0;
ok,这样就创建了一个简单的Pawn,下一节我会对它进行控制。