본문 바로가기
프로그래밍

👨‍💻 [Unreal] 언리얼 엔진 5 에서 Character Class 에 기본으로 포함된 중요 컴포넌트는 무엇이 있나요?

by 밝음의기둥 2024. 11. 4.
반응형

👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

언리얼 엔진 5 에서 Character Class 에 기본으로 포함된 중요 컴포넌트는 무엇이 있는지 간략히 알아보았습니다.


질문 >

언리얼 엔진 5 에서 Character Class 에 기본으로 포함된 중요 컴포넌트는 무엇이 있나요?

답변 >

언리얼 엔진 5에서 Character 클래스는 캐릭터의 이동과 상호작용을 쉽게 구현할 수 있도록 여러 기본 컴포넌트를 포함하고 있습니다. 각 컴포넌트는 캐릭터의 충돌 처리, 이동, 시각적 표현 등을 관리하는 데 사용되며, 이를 통해 캐릭터의 동작을 간편하게 구성할 수 있습니다.

Character 클래스에 기본으로 포함된 중요 컴포넌트

  1. CapsuleComponent
    • 역할: 캐릭터의 충돌 영역을 정의합니다.
    • 특징: 캐릭터가 다른 오브젝트와 충돌할 때 이 컴포넌트가 충돌 처리를 담당합니다. 기본적으로 캡슐 모양으로 설정되며, 캐릭터의 키와 너비에 맞게 크기를 조절할 수 있습니다.
    • 활용 예시: 캐릭터가 벽이나 적과 충돌할 때, 이 캡슐 영역을 기준으로 충돌 여부를 판단합니다.
    GetCapsuleComponent()->SetCapsuleSize(42.0f, 96.0f);
    
    
  2. CharacterMovementComponent
    • 역할: 캐릭터의 이동, 점프, 중력 등 물리적 동작을 제어합니다.
    • 특징: 걷기, 달리기, 점프, 수영, 비행 등 다양한 이동 방식을 지원하며, 각 이동 방식에 맞는 속도와 물리 속성을 설정할 수 있습니다. 이 컴포넌트를 사용하여 캐릭터의 이동 로직을 쉽게 구현할 수 있습니다.
    • 활용 예시: 플레이어 캐릭터의 기본 걷기 속도를 설정하거나 점프 높이를 조절할 때 사용합니다.
    GetCharacterMovement()->MaxWalkSpeed = 600.0f; // 걷기 속도 설정
    GetCharacterMovement()->JumpZVelocity = 420.0f; // 점프 높이 설정
    
    
  3. SkeletalMeshComponent
    • 역할: 캐릭터의 시각적 모델을 나타내며, 애니메이션을 적용할 수 있는 컴포넌트입니다.
    • 특징: Skeletal Mesh와 애니메이션 블루프린트를 연결하여, 캐릭터의 외형과 애니메이션을 표현합니다. 캐릭터의 기본적인 모습과 움직임을 설정하는 데 필수적입니다.
    • 활용 예시: 캐릭터의 외형을 설정하거나 걷기, 뛰기, 공격 등의 애니메이션을 연결하여 캐릭터 동작에 따라 애니메이션이 재생되도록 합니다.
    GetMesh()->SetSkeletalMesh(MySkeletalMesh);
    
    
  4. ArrowComponent
    • 역할: 캐릭터의 앞 방향을 가리키는 기준을 설정합니다.
    • 특징: 주로 캐릭터의 정면 방향을 나타내며, 캐릭터의 회전 방향을 시각적으로 확인하거나 특정 방향으로 무언가를 발사할 때 기준점으로 사용할 수 있습니다.
    • 활용 예시: 캐릭터의 정면 방향을 확인하거나, 특정 객체를 발사할 때 방향성을 정하기 위한 기준으로 사용됩니다.
  5. SpringArmComponent (Boom Component)
    • 역할: 카메라를 캐릭터와 일정한 거리만큼 떨어뜨려 부드러운 카메라 추적을 제공하는 컴포넌트입니다.
    • 특징: Spring Arm은 카메라의 거리와 회전을 자동으로 조절하며, 장애물이 있을 경우 카메라와 캐릭터 간의 거리를 조절해 시야가 가려지지 않도록 합니다.
    • 활용 예시: 3인칭 카메라를 설정할 때 SpringArm을 사용하여 캐릭터를 따라다니는 부드러운 카메라 시점을 제공합니다.
    USpringArmComponent* SpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("SpringArm"));
    SpringArm->TargetArmLength = 300.0f; // 카메라와의 거리 설정
    
    
  6. CameraComponent
    • 역할: 캐릭터의 시점을 담당하는 카메라를 추가합니다.
    • 특징: 1인칭 또는 3인칭 시점을 설정하는 데 사용되며, SpringArm과 함께 3인칭 시점이나 자유로운 카메라 시점을 쉽게 구현할 수 있습니다.
    • 활용 예시: 플레이어가 보는 화면을 설정할 때 사용하며, 1인칭 게임에서는 캐릭터 머리에 카메라를 부착해 플레이어 시점을 구현할 수 있습니다.
    UCameraComponent* Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));
    Camera->SetupAttachment(SpringArm);
    
    

Character 클래스 활용 예시

  • 플레이어 캐릭터 구현: CharacterMovementComponent를 사용해 걷기, 달리기, 점프 같은 기본 이동 기능을 구현하고, SkeletalMeshComponent와 애니메이션을 연동해 캐릭터의 시각적 움직임을 표현합니다.
  • 3인칭 카메라 설정: SpringArmComponent와 CameraComponent를 함께 사용하여 3인칭 시점을 제공하며, 플레이어가 캐릭터의 뒤에서 따라오는 카메라 뷰를 경험할 수 있게 합니다.
  • 정확한 충돌 처리: CapsuleComponent로 캐릭터의 경계를 설정하고, 충돌 감지를 통해 장애물이나 적과의 상호작용을 구현합니다.

Character 클래스의 기본 컴포넌트들은 캐릭터의 동작과 시각적 표현, 카메라 설정을 손쉽게 구현할 수 있게 도와주며, 이러한 컴포넌트를 적절히 활용하면 다양한 캐릭터 기능을 빠르게 개발할 수 있습니다.


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리 입니다. 📢 위로그@WiLog 는 자기주도학습을 목적으로 라이브 스트리밍을 합니다. 📢 1인 게임 개발을 목표로 Unreal과 Blender를 학습 중입니

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형