◆ Survival Game System 개발 일지
방어구 장착 관련 기능(Armor Equip Function) (2)
현재 방어구 장착 기능 관련해서 기능 부분의 영역은 다른 기능 제작과 비슷한 흐름으로 흘러 갑니다. 예를 들어서 플레이어 인터페이스 위젯의 하위에 새로운 아이콘을 첨부하기 위해서 해당 관련 위젯을 만들거나, 다른 위젯에서 해당 부분을 추가하는 식 입니다. 그런데 아이템을 장착과정에서 플레이어 인터페이스로 아이템을 집어서 놓는다던가 해당 아이템이 플레이어에게 장착이 된다.와 같은 개념들이 들어가게 되면서, 현재 설명에서 기준으로는 플레이어 인벤토리 기능과 아이템 드래그 앤 드랍 및 위젯까지 3가지 기능들을 거처가게 된다는 것을 알 수 있습니다. 설명이 어정쩡한 이유는 몇단계 과정을 거치는지는 다시 확인해봐야하기 때문이고, 세부적인 기능들 하나하나 언급하고 기능 제작들을 과정을 보여드리면 포스트 진도가 나가지 않아서 입니다. 현 서바이벌 제작은 하나하나가 기능들을 어떻게 만들었는지 설명하는 강의가 아니고, 히스토리임을 다시 언급드리는 바입니다.
그래서 첫 기능 작성부터 포스트를 다시 작성하기에는 너무 멀리왔고 전체적인 흐름을 간략하게 설명해드리려고 합니다.
Function
기능(Function)이라고 이야기 하니까, 되게 막연하게 느껴질 수도 있을 것 같습니다. 단순하게 서바이벌 게임을 제작하려고 하면 캐릭터가 사물과 상호작용을 하여서, 생존할 수 있는 물품을 얻어야합니다. 그런데 요것은 사람의 기준에서 입장이고, 조금 더 근본적으로 들어면 서바이벌 게임을 플레이하는 플레이어의 입장에서는 채취하면 보관할 수 있는 창고(인벤토리)나, 생존 경험을 할 수 있는 Crafting과 같은 요소가 있어야 서바이벌을 체험할 수 있습니다. 언리얼 엔진에서는 C++ 이나 블루프린트를 통한 비주얼 스크립팅을 사용하여 해당 기능들을 제작 할 수 있는데, 이렇게 만들어진 기능을 Function이라 부릅니다. 그리고 현재 Function은 블루프린트의 비주얼 스크립팅을 사용하여서 Function을 제작하고 있습니다.


여기까지가 이전까지의 블로그 포스트를 작성하면서 보여드린 내용이 되겠습니다. 플레이어 상태창 인터페이스를 만들면서 시간에 따라 스테이스가 영향을 받는다와 같은 개념이 되겠습니다.
Armor Function
Armor Function은 위에서 언급된 개별적으로 제작된 Function들의 집합입니다. Armor Function이라는 기능이 있는게 아니라 해당 Function들이 모여서 Armor Function이라고 불리는 역할을 하게 되는 것입니다. 그리고 이 개별적인 Function들은 인벤토리와 아이템 드래그 및 플레이어 인터페이스 위젯 및 아이템을 장착시키고 해제 시키는 개념들과 모두 연동이 되게 됩니다. 유기적인 녀석이란 소리죠.
또한 개별 아이템에 이러한 기능들을 일일이 만들어주고, 해당 장착 아이템인지 판별하는 과정을 넣어주면 너무 일이 많아지고 번거로워지게 됩니다. 언리얼 엔진에서는 이런 요소들은 구분하는 과정으로 Enum과 DataTable 및 Blueprint Interface라는 개념을 사용하여 블루프린트 클래스와 그 자손을 장착 아이템으로 인식 할 것인지 소비아이템으로 구분할 것인지와 같은 카테고리 역할을 맡게 할 수 있습니다. 메인 캐릭터의 EventGraph에서 해당 요소들을 사용하여 Armor 역할을 하는 요소인지 판별하는 로직이 구현 되게 됩니다.





Conclusion
일단 더 들어가면 복잡해질 것 같아서 현재는 요소들의 상관관계만 보여드리는 선에서 마무리하겠습니다. 다음 글 부터는 구체적인 방어구 제작을 통해서 Blueprint Interface와 같은 언급만하고 보여드리지 않았던 요소가 어떻게 큰 틀에서 연동되는지와 같은 것들도 풀어보도록 하겠습니다.
'Unreal DevHistory > Survival Craft' 카테고리의 다른 글
| #?? +9 방어구 장착 관련 기능 (1) / Survival Game (0) | 2025.10.08 |
|---|---|
| #?? +8 경험치 획득 및 스킬포인트 (1) / Survival Game (0) | 2025.08.12 |
| Survival Game #?? +8 플레이어 상태 위젯 (2) (0) | 2025.08.02 |
| Survival Game #?? +7 플레이어 상태 위젯 (1) (2) | 2025.07.31 |
| Survival Game #?? +6 소비 아이템 제작 (2) (0) | 2025.05.05 |