공부/Unreal

24.07.29

월러비 2024. 7. 31. 12:08

전투시스템 설명

  • 필요한거 : 무기 관리 (무기 조합)
    • 무기 장착 담당, 장착이 어떻게 이루어질건지
    • Weapon
      • CAttackment : 무기가 붙을 모양을 결정 (검일지, 활일지, 맨몸이면 충돌체들) ⇒ 즉, 어떤거 붙을지
      • CEquipment : 장착 관리 (무기 뽑는 애니메이션)
      • CDoAction : 공격 관리 (붙는게 검, 장착이 검일때 공격도 검이라고 함)
      • CSubAction : 부수적인거 붙일거 ⇒ 시간이 나면
    • WeaponAsset : 위의 C들을 관리한다.
    • WeaponComponent : WeaponAsset에 명령을 내린다.
    • Item은 Item 영역 따로 작업한다.
      • Item을 바꿔도 Weapon에 영향을 미치지 않는다.
  • ACharacter - 플레이어, Enemy

언리얼 C와 일반 C 차이

  • 직렬화 : RAM에서 SSD으로 올라가는 또는 이동장치(I/O) 로 내보내는 과정이다.
    • RAM으로 들어가면 ‘역 직렬화’다.
    • C에는 델리게이트, 가비지 컬렉터, 리플렉션 등이 없다.
  • UPROPERTY / UFUNCTION / USTRUCT / UENUM / UCLASS
    • 얘네들이 직렬화가 된 애들이다.
    • 가비지 컬렉터도 있어서 필요 없다고 판단되면 자동으로 지워준다.
  • 직렬화가 지원된다. = 가비지 컬렉터가 존재한다. = 에디터에도 보여진다.
  • 직렬화 조건
    1. UObject로부터 상속받아야한다.
    2. generated.h에 직렬화 코드가 포함되어있다.
    3. UCLASS가 붙는 파일이어야 직렬화가 시작된다.
    4. GENERATED_BODY() : 직렬화 코드를 불러오는 메크로다.
  • 리플렉션 : 구조체나 타입을 변수로 직접 사용하는 기능이다.

'공부 > Unreal' 카테고리의 다른 글

24.07.31  (0) 2024.08.04
24.07.30  (0) 2024.08.01
24.07.26  (0) 2024.07.31
24.07.25  (0) 2024.07.31
24.07.24  (0) 2024.07.29