기본적인 플레이어의 설정을 한다. 우선 CameraBoom과 FollowCamera의 설정을 한다.
보통의 경우 ThirdPersonCharacter C++ 클래스를 참조하면서 만들면 편할수 있다.
WarriorHeroCharacter.h
#pragma once
#include "CoreMinimal.h"
#include "Character/WarriorBaseCharacter.h"
#include "WarriorHeroCharacter.generated.h"
class USpringArmComponent;
class UCameraComponent;
UCLASS()
class WARRIOR_API AWarriorHeroCharacter : public AWarriorBaseCharacter
{
GENERATED_BODY()
public:
AWarriorHeroCharacter();
protected:
virtual void BeginPlay() override;
private:
#pragma region Components
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Camera", meta = (AllowPrivateAccess = "true"))
USpringArmComponent* CameraBoom;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera", meta = (AllowPrivateAccess = "true"))
UCameraComponent* FollowCamera;
#pragma endregion
};
WarriorHeroCharacter.cpp
#include "Character/WarriorHeroCharacter.h"
#include "Components/CapsuleComponent.h"
#include "GameFramework/SpringArmComponent.h"
#include "Camera/CameraComponent.h"
#include "GameFramework/CharacterMovementComponent.h"
#include "WarriorDebugHelper.h"
AWarriorHeroCharacter::AWarriorHeroCharacter()
{
GetCapsuleComponent()->InitCapsuleSize(42.f, 96.f);
bUseControllerRotationPitch = false;
bUseControllerRotationYaw = false;
bUseControllerRotationRoll = false;
CameraBoom = CreateDefaultSubobject<USpringArmComponent>(TEXT("CameraBoom"));
CameraBoom->SetupAttachment(GetRootComponent());
CameraBoom->TargetArmLength = 200.f;
CameraBoom->SocketOffset = FVector(0.f, 55.f, 65.f);
CameraBoom->bUsePawnControlRotation = true;
FollowCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("FollowCamera"));
FollowCamera->SetupAttachment(CameraBoom, USpringArmComponent::SocketName);
FollowCamera->bUsePawnControlRotation = false;
GetCharacterMovement()->bOrientRotationToMovement = true;
GetCharacterMovement()->RotationRate = FRotator(0.f, 500.f, 0.f);
GetCharacterMovement()->MaxWalkSpeed = 400.f;
GetCharacterMovement()->BrakingDecelerationWalking = 2000.f;
}
void AWarriorHeroCharacter::BeginPlay()
{
Super::BeginPlay();
Debug::Print(TEXT("Working"));
}
BP_HeroCharacter를 열고 캐릭터를 SK_charM_Barbarous로 지정하고 캡슐에 위치를 맞추고 X축을 바라보게 로테이션 해준다. 강좌를 안들을 경우 마켓에서 적당한 캐릭터를 사용하면 된다.
'언리얼게임프로젝트 > Advanced Action RPG' 카테고리의 다른 글
9. Debug Helper (0) | 2025.02.09 |
---|---|
8. Basic Class Structure (1) | 2025.02.09 |
7. Set Up Hero Character Section Overview (0) | 2025.02.09 |
1. Unreal Engine 5 C++: Advanced Action RPG 준비 (1) | 2025.02.08 |