Make Unreal REAL.
article thumbnail
Advanced Unreal Engine 5 Multiplayer Gameplay Programming

 

인벤토리 아이템은 다음으로 구성된다.

  • 바꿀 수 없는 아이템의 고유 정적 데이터
    총의 무게, 무기의 기본 데미지, ...
  • 아이템 객체가 갖는 수정할 수 있는 런타임 데이터
    남은 탄창 수, 무기의 내구도, ...

 

 

정적 데이터는 여러 개 존재할 필요가 없으므로, 항상 단일(Single) 객체로 존재한다.

  • 같은 아이템은 같은 정적 데이터를 참조한다.

 

런타임 데이터는 아이템 객체별로 존재한다.

 

 

인벤토리 저장소는 인벤토리 Entry의 리스트로 구성된다.

 


인벤토리 Entry는 정적 데이터의 참조를 저장해 어떤 종류의 아이템인지 나타내고, 아이템 객체의 참조를 저장해 런타임 데이터를 저장한다.

 

 

아이템 객체는 OnEquipped, OnUnequipped 등의 이벤트를 처리하도록 하는 것이 좋다.

  • 장착 시 메시를 스폰하고, 해제 시 메시를 소멸시키는 등의 처리를 위해

 

 

월드에 존재할 수 있는 아이템 액터는 어떤 아이템인지 나타내는 정적 데이터, 런타임 데이터를 갖고 있는 아이템 객체의 참조를 저장한다.

 

 

인벤토리 저장소는 정적 데이터로부터, 혹은 이미 있는 아이템 객체로부터 새로운 아이템을 생성하는 AddItem() 함수를 제공하도록 한다.


인벤토리 저장소에서 아이템을 제거하는 Remove() 함수도 제공하도록 한다.


저장소에 있는 아이템을 장착하는 Equip() 함수도 제공하도록 한다.

 

멀티 플레이어에서 네트워크 간의 동기화는 아이템 Entry 정보를 복제해야 한다.

 

'Unreal Engine > Advanced UE5 Multiplayer Programming' 카테고리의 다른 글

인벤토리 구조체 선언  (0) 2023.05.18
인벤토리 아이템 정적 데이터  (0) 2023.05.17
능력 간의 관계 설정  (0) 2023.05.15
벽 달리기 능력  (1) 2023.05.14
뛰어넘기 능력  (0) 2023.05.13
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그