ACharacter是虚幻引擎中的Character类的派生类,它包含了一些默认的组件,例如Capsule组件和Mesh组件,但并没有默认添加相机组件。
要想在ACharacter中添加相机组件,需要在构造函数或初始化函数中手动创建并添加相机组件:
// 构造函数中添加相机组件
AMyCharacter::AMyCharacter()
{
    //...
    // 创建相机组件及其默认设置
    CameraComponent = CreateDefaultSubobject(TEXT("CameraComponent"));
    // 将相机附加到角色根组件上
    CameraComponent->SetupAttachment(GetRootComponent());
    //...
}
// 初始化函数中添加相机组件
void AMyCharacter::BeginPlay()
{
    Super::BeginPlay();
    //...
    // 创建相机组件及其默认设置
    CameraComponent = CreateDefaultSubobject(TEXT("CameraComponent"));
    // 将相机附加到角色根组件上
    CameraComponent->SetupAttachment(GetRootComponent());
    //...
}
  
当添加了相机组件后,就可以通过访问该组件来控制相机的位置和姿态了。例如,可以在角色的Tick函数中更新相机的位置:
void AMyCharacter::Tick(float DeltaSeconds)
{
    Super::Tick(DeltaSeconds);
    // 更新相机的位置
    const FVector CameraLocation = GetActorLocation() + FVector(0.f, 0.f, 50.f);
    CameraComponent->SetWorldLocation(CameraLocation);
    //...
}
                
            
                    上一篇:ACG应用控制网关的作用