Unreal中实现相机的滞后

在Unreal中USpringArmComponent提供了这个功能的实现,所以可以直接使用。

准备USpringArmComponentUCameraComponent

在自定义的pawn类中添加USpringArmComponentUCameraComponent组件,并初始化。

  • bEnableCameraLag启用相机滞后。
  • CameraLagSpeed设定相机回正的速度,值越大,相机跟得越紧密,反之更加丝滑。
// in *.h
UPROPERTY(EditDefaultsOnly)
class USpringArmComponent* SpringArm;
UPROPERTY(EditDefaultsOnly)
class UCameraComponent* Camera;
// in *.cpp
SpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("SpringArm"));
SpringArm->SetupAttachment(RootComponent);
Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));
Camera->SetupAttachment(SpringArm);
SpringArm->bEnableCameraLag = true;
SpringArm->CameraLagSpeed = 10.0;