새로운 넷코드의 등장? 넷코드 포 고스트오브젝트?
- 유니티가 Netcode for Entities의 고급 기능을 GameObject에서 사용할 수 있도록 래핑한 새로운 넷코드 솔루션을 공개했습니다. 👻
- 이는 기존 Netcode for GameObjects의 직접적인 업데이트가 아닌, Netcode for Entities를 GameObject 레이어에서 활용하는 방식입니다. 🔄
- 클라이언트 측 예측, 예측 스폰, RPC, 호스트 마이그레이션 등 Netcode for Entities의 강력한 기능들을 GameObject 환경에서 제공합니다. ✨
- 개발팀은 4주마다 주요 네트워킹 기능 개발 로그를 게시하며 점진적으로 통합할 계획입니다. 🗓️
- 아키텍처는 GameObject와 네트워크 사이에 엔티티 레이어를 추가하여, GameObject -> 클라이언트 엔티티 -> 서버 엔티티 -> 서버 GameObject 흐름을 가집니다. 🏗️
- 동기화 데이터 및 동작에는 Netcode for Entities의 'Ghost' 개념을 차용한 "GhostBehaviour"와 "GhostField" 같은 명칭이 사용됩니다. 🏷️
PredictedUpdate 오버라이드 함수를 통해 예측 로직을 구현하고, GameObject.Instantiate로 예측 스폰이 가능하며, @RPC 속성으로 RPC를 전송할 수 있습니다. 🔮
- 이 접근 방식은 유니티의 'ECS for All' 이니셔티브와 일치하며, 내부 엔티티 레이어 덕분에 기존 Netcode for GameObjects보다 성능이 향상될 가능성이 있습니다. ⚡
- Netcode for Entities 팀은 사용자 피드백을 적극적으로 수렴하며 개발을 진행하고 있습니다. 👂
- ECS에 익숙한 사용자는
GetComponentRef나 ECS API 쿼리를 통해 엔티티 데이터에 접근할 수 있지만, GhostField만으로도 충분합니다. 🛠️
- 향후 Single World Host, 매핑, 결정론(Determinism) 지원 등이 논의되고 있습니다. 🚧
- 기존 Netcode for GameObjects 사용자들은 새로운 솔루션과의 선택에 혼란을 겪을 수 있으며, 성능 테스트가 필요할 것으로 보입니다. 🤔
데브허브 | DEVHUB | 새로운 넷코드의 등장? 넷코드 포 고스트오브젝트?