헤더파일에 클래스 선언
class USpringArmComponent;
class UCameraComponent;
UCLASS()
class SLASH__API ASlashCharacter : public ACharacter
{
...
private:
UPROPERTY(VisibleAnywhere);
USpringArmComponent* CameraBoom;
UPROPERTY(VisibleAnywhere);
UCameraComponent* ViewCamera;
};
소스코드에 카메라와 스프링암 생성
// 생성자
ASlashCharacter::ASlashCharacter()
{
// Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
CameraBoom = CreateDefaultSubobject<USpringArmComponent>(TEXT("CameraBoom"));
CameraBoom-> SetupAttachment(GetRootComponent());
CameraBoom->TargetArmLength = 300.f;
ViewCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("ViewCamera"));
ViewCamera->SetupAttachment(CameraBoom);
}
실행해 보면 카메라가 정상적으로 작동. W, S로 앞뒤로 움직이기 가능

마우스를 이용해서 카메라 회전을 입력한다.
헤어파일에 함수 선언
UCLASS()
class SLASH__API ASlashCharacter : public ACharacter
{
...
void MoveForward(float Value);
void Turn(float Value);
void LookUp(float Value);
...
};