Study/UnrealEngine

UE5.0 CPP 05~06

리쥬쥬 2023. 3. 17. 16:26

 

  • Pawn - Need Components
    • Capsule : 충돌
    • SkeletalMesh : 캐릭터 에셋 + 애1니메이션, 3D Max ↔ UE5 좌표계 다름 > Z축 -90도 회전 필요
    • Movement : 입력 > 캐릭터 이동
    • SpringArm : 카메라 구도를 설정
    • Camera : 플레이어 화면, 자동으로 SpringArm 끝에 걸림
    • Input : 입력 처리
      > PlayerInputComponent : Pawn::InputFunction - AxisMapping 을 Binding
      > 보통 폰 조종을 위한 입력 처리는 폰에 작성됨
      > 입력 처리를 컨트롤러에서 하게 되면, 폰에 전달되지 않음
  • Animation Blueprint
    • 애니메이션 시스템
      > 애님 그래프를 이용하여, 시각적으로 애니메이션 로직 설정
      > AnimInstance 클래스로 관리됨
    • SkeletalMeshComponent
      > AnimInstance 에 캐릭터 애니메이션을 위임하는 구조로 설계되어 있음
      > SkeletalMeshComponent 에 Animation Blueprint 클래스 정보 등록 -> AnimInstance 생성 -> 애니메이션 관리

  • ACharacter
    • 인간형 폰을 위해 제공되는 클래스 : ACharacter --|> APawn
    • Included Components(private) : Capsule, SkeletalMesh, CharacterMovement
      > GetCapsuleComponent(), GetMesh(), GetCharacterMovement()
    • CharacterMovement
      > 중력, 다양한 움직임 가능, 네트워크 환경에서 움직임 자동 동기화
      > OrientRotationToMovement : 캐릭터가 움직이는 방향으로 자동 회전시켜주는 기능
    • Pawn property - UseControllerRotationYaw checked
      > Z축 회전값 : 컨트롤 == 폰
    • FRotationMatrix
      > 회전된 좌표계 정보 저장