TIL

Fusion 기반 FPS 게임에서 실시간 상황판 UI 구현하기

주전자123 2025. 4. 23. 21:04
320x100
반응형
SMALL

나는 오늘 FPS 멀티플레이 게임에서 상황판(스코어보드)을 만들었다.

Unity와 Fusion을 이용하여 플레이어의 킬, 데스, 골드를 실시간으로 보여주는 상황판 UI를 어떻게 구현했는지

정리해 보겠다.

 

우선 사용한 스크립트들이다.

StandardSpawner: 플레이어와 UI매니저를 생성하는 네트워크 스폰 담당

ScoreboardManager: 점수 데이터를 관리하고 UI 갱신을 담당하는 네트워크 싱글톤

UIScoreboardView: 실제 화면에 보여지는 UI 요소들 관리

PlayerScoreData: 각 플레이어의 킬/데스/골드를 담는 네트워크 구조체

 

점수데이터

먼저 퓨전에서는 INetworkStruct를 구현한 구조체로 네트워크 동기화 가능한 데이터를 정의할 수 있다.

 

다음은 스코어보드매니저 스크립트다.

서버에서 점수 데이터는 NetworkDictionary로 관리되고, RPC_Addkill() 등을 통해 수정된다.

상황판 UI갱신은 RPC_AddPlayerRow() 등을 통해 모든 클라이언트에 전파된다.

 

스탠다드스폰 스크립트에서는 ScoreboardManager 프리팹을 서버만 스폰하고,

플레이어가 들어올 때 CharacterInfo를 가져와 UI에 반영한다.

 

UIScoreboardView는 실제 UI처리를 하는 스크립트이다.

 

이 구조를 통해 얻는 장점으로는

점수 데이터는 서버에서만 관리하므로 신뢰성이 높다.

UI갱신은 RPC로 브로드캐스트되어 실시간으로 반영된다.

INetworkRunnerCallbacks는 책임 분리를 통해 깔끔하게 유지된다.

728x90
반응형
LIST