이득우의 언리얼 C++ 게임 개발의 정석을 읽고 개인 공부 목적으로 요약 정리한 글입니다!
폰 : 플레이어가 조종할 수 있는 특수한 액터
편집 > 프로젝트 세팅 > 입력
축 매핑 (Axis Mappings), 액션 매핑 (Action Mappings)을 직접 설정할 수 있다.
폰의 SetupInputComponent() 함수에서 폰의 멤버함수와 입력 설정을 Binding.
void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
PlayerInputComponent->BindAxis(TEXT("MoveForward"), this, &AMyPawn::MoveForward);
PlayerInputComponent->BindAxis(TEXT("MoveRight"), this, &AMyPawn::MoveRight);
PlayerInputComponent->BindAxis(TEXT("Turn"), this, &AMyPawn::Turn);
PlayerInputComponent->BindAxis(TEXT("LookUp"), this, &AMyPawn::LookUp);
}
폰 무브먼트 컴포넌트의 AddMovementInput() 함수에서 폰을 움직이게 함.
월드좌표계 기준으로 움직임의 방향을 설정해줘야 한다
월드좌표계 기준 액터의 Forward 방향 = GetActorForwardVector()
만약 플레이어 컨트롤러에서 위에서 작성한 폰 조작을 실행한다면
플레이어 컨트롤러 선에서 움직임을 처리하고 폰까지 입력이 전달되지 않는다.
(입력은 플레이어 컨트롤러를 거쳐 폰에게 전달되기 때문)
게임 실행 중 에셋 로드하는 명령어 : LoadObject<타입>
체계적으로 애니메이션 시스템을 설계하기 위한 별도의 애니메이션 시스템
: 애니메이션 설계
: 애님 그래프 로직에 따라 동작하는 캐릭터 애니메이션 시스템을 관리하는 클래스
SkeletalMesh Component는 애니메이션을 애님 인스턴스에 위임
애니메이션 관련 내용은 추후에 더 깊게 공부해보자잉!