유니티6 ugs,ngo로 멀티게임 만드는거 영상 하나 보고오니깐 그래도 조금은 감이 잡힌거 같은데
예를 들어서 유저 둘이서 한 세션에서 같이 게임하는 액션게임이라고 가정할때
유저,몬스터 스탯 같은거 NetworkVariable<> 변수로 만들면 그 변수가 변경될때 자동으로 동기화되어서 클라이언트들에게 다 뿌려진다고 하니깐 몬스터의 체력이 변경되었다고 하면 몬스터의 체력을 NetworkVariable 변수로 만들면 한명이 몬스터를 때려도 다른 플레이어도 그 체력이 반영되는거고
게임 방식이 호스트 방식으로 만든다고 하면 조금 쉽게 구현하기 위해서 서버(호스트) 플레이어 입장에서 처리되는 작업들. 몬스터 스폰, 몬스터 사망, 스코어(팀스코어) 이런 변경사항들을 IsServer로 체크해서 서버에서 다 계산하고 그걸 ClientRpc를 통해 다른 클라이언트에게 보내주면 되는거고
기본적으로 몬스터의 이동, 플레이어의 이동 같은건 보니깐 유니티의 ClientNetworkTransform 컴포넌트만 넣어주면 알아서 동기화 해주는 것 같던데 이거쓰면 이동,회전,크기는 쉽게 동기화 가능한 것 같고
대충 이런 느낌으로 만들면 되는거 맞음? 머리 아프긴한데 그래도 대충 어떤식으로 돌아가는지 감은 잡은거 같은데
댓글 0