42.1. C++로 ViewCamera와 SpringArm추가

헤더파일에 클래스 선언

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로 앞뒤로 움직이기 가능

Untitled

42.2. 카메라 회전

마우스를 이용해서 카메라 회전을 입력한다.

헤어파일에 함수 선언

UCLASS()
class SLASH__API ASlashCharacter : public ACharacter
{
...
	void MoveForward(float Value);
	void Turn(float Value);
	void LookUp(float Value);
...
};