feat: 멀티플레이어 네트워크 동기화 구현

- 로비 씬 추가 및 LobbyManager/LobbyUI/LobbySceneBuilder 구현
- NetworkPrefabsList로 플레이어 프리팹 등록 (PlayerPrefab 자동스폰 비활성화)
- PlayerMovement 서버 권한 이동 아키텍처로 전환
  - NetworkVariable<Vector2>로 클라이언트 입력 → 서버 전달
  - 점프 JumpRequestRpc로 서버 검증 후 실행
- 보스 프리팹에 NetworkTransform/NetworkAnimator 추가 (서버 권한)
- SkillController를 NetworkBehaviour로 전환
  - PlaySkillClipClientRpc로 클립 override + 재생 원자적 동기화
  - OnEffect/OnSkillEnd 클라이언트 실행 차단
- WeaponEquipment 클라이언트 무기 시각화 동기화 수정
  - registeredWeapons 인덱스 기반 NetworkVariable 동기화
  - SpawnWeaponVisualsLocal로 클라이언트 무기 생성
  - 중복 Instantiate 버그 수정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-17 20:46:45 +09:00
parent b470aa4f8a
commit e5ef94da85
24 changed files with 5150 additions and 116 deletions

View File

@@ -213,7 +213,7 @@ MonoBehaviour:
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.Components.NetworkAnimator
ShowTopMostFoldoutHeaderGroup: 1
NetworkAnimatorExpanded: 0
AuthorityMode: 0
AuthorityMode: 1
m_Animator: {fileID: 3426985706796420257}
TransitionStateInfoList: []
AnimatorParameterEntries:
@@ -291,9 +291,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 59b4feaa06ce4c74f97ed5b57ddd74d1, type: 3}
m_Name:
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillController
ShowTopMostFoldoutHeaderGroup: 1
animator: {fileID: 3426985706796420257}
baseController: {fileID: 9100000, guid: db718381bb2992e469c76c64015e065b, type: 2}
baseSkillClip: {fileID: -7717634560727564301, guid: 0f6fd9302e489b94d96774e2713b1317, type: 3}
registeredClips: []
debugMode: 1
showAreaDebug: 1
debugDrawDuration: 1
@@ -393,6 +395,8 @@ MonoBehaviour:
hipName: Hip
twoHandedName:
startingWeapon: {fileID: 11400000, guid: 646964ccbda84e947b97537d7f7813aa, type: 2}
registeredWeapons:
- {fileID: 11400000, guid: 646964ccbda84e947b97537d7f7813aa, type: 2}
--- !u!1001 &361239394574523229
PrefabInstance:
m_ObjectHideFlags: 0