무엇을 찾고 계신가요?
Engine & platform

Unity 개발자를 위한 멀티플레이어 네트워킹에 관한 새로운 기술 전자책 받기

THOMAS KROGH-JACOBSEN / UNITY TECHNOLOGIESProduct Marketing Core Tech
Dec 10, 2024|5 분
새 전자책: Unity 개발자를 위한 멀티플레이어 네트워킹
이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.

Unity로 첫 멀티플레이어 프로젝트를 만들 계획이 있는 숙련된 싱글플레이어 게임 개발자이신가요? 그렇다면 지금 다운로드할 수 있는 멀티플레이어 네트워킹을 위한 새로운 기술 전자책도 꼭 확인해 보세요.

이 완전히 새로운 가이드는 두 가지 목표를 가지고 만들었습니다: 먼저, 멀티플레이어 네트워킹의 핵심 개념에 대한 기초적이고 자세한 설명을 제공합니다. 둘째, Netcode for GameObjects 기반의 샘플 멀티플레이어 프로젝트를 통해 Unity 네트워킹 및 멀티플레이어 기능을 사용하는 방법을 안내합니다.

멀티플레이어 개발자의 여정을 이제 막 시작한 경우 피해야 할 일반적인 함정과 프로젝트에 가장 적합한 멀티플레이어 솔루션을 선택하는 방법에 대한 유용한 팁을 확인할 수 있습니다. 또한 다음 단계로 살펴볼 수 있는 다양한 Unity 네트워킹 샘플을 간편하게 살펴볼 수 있습니다. 궁극적으로 유니티는 여러분이 최대한 효율적으로 멀티플레이어 게임 기능을 프로토타이핑하고 개발할 수 있기를 바랍니다.

이 가이드는 Unity 및 C# 개발에 익숙하지만 네트워킹을 처음 사용하거나 이제 막 시작한 사용자를 가정합니다.

새로운 멀티플레이어 네트워킹 전자책 받기
멀티플레이어 개발 101
왕복 시간은 네트워크 지연 시간을 측정하는 척도입니다.
왕복 시간은 네트워크 지연 시간을 측정하는 척도입니다.

멀티플레이어 개발을 시작하는 것이 다소 어렵게 느껴질 수 있지만, 핵심 네트워킹 개념을 먼저 이해하면 그 여정이 더 쉬워집니다.

네트워크 아키텍처에서 가장 간단한 부분인 클라이언트와 서버의 역할과 UDP(사용자 데이터그램 프로토콜)와 같은 표준 인터넷 프로토콜을 사용하여 데이터 패킷을 교환하여 통신하는 방법에 대해 설명하는 것으로 가이드를 시작합니다. 틱, 업데이트, 지연 시간이 무엇인지 알아보세요. 상태 동기화, 원격 프로시저 호출(RPC) 및 대역폭 관리와 같은 네트워크 동기화 기술에 대한 소개가 있습니다.

멀티플레이어 환경에서 기기가 연결되고 통신하는 방식을 정의하는 다양한 네트워크 토폴로지 모델에 대한 설명을 확인할 수 있습니다. 토폴로지는 게임의 아키텍처, 성능, 전반적인 플레이어 경험에 영향을 미칠 수 있습니다. 게임 유형, 게임 상태에 대한 원하는 제어 수준, 서버 인프라에 사용할 수 있는 리소스에 따라 게임을 선택할 수 있습니다. 따라서 이 가이드는 올바른 선택을 할 수 있도록 고려해야 할 요소에 대한 정보를 제공합니다.

가이드에서 로컬 테스트, 네트워크 상태 시뮬레이션, 클라이언트 연결 관리, 디버깅 도구, 명령줄 도우미 사용에 중점을 둔 네트워킹 프로젝트의 워크플로우를 따라할 수 있습니다.

또한 모든 플레이어에게 일관되고 공정한 게임 환경을 유지하기 위해 네트워크 동기화가 필수적인 이유도 살펴봅니다. 플레이어가 게임 환경의 일부와 상호작용할 수 있는 게임플레이 동작을 위한 클라이언트-서버 통신을 설정하는 방법을 배웁니다. 여기에는 네트워크 게임 상태를 구현하고 서버와 원격 프로시저 호출(RPC)을 주고받는 작업이 포함됩니다. 가이드에서 다루는 추가 개념 중 일부는 다음과 같습니다:

  • RPC와 네트워크 변수
  • 멀티플레이어를 위한 디자인
  • 네트워크 지연 시간 및 성능
  • 지연 시간 시뮬레이션
  • Unity Transport 디버그 시뮬레이터
  • 클라이언트 측 보간
  • 클라이언트 측 예측 및 예상
  • 서버 권한이 필요한 이유
  • 클라이언트 측 예측의 작동 방식
  • 조정 및 롤백
  • 클라이언트 측에서 기대하는 Netcode for GameObjects의 기능
  • 결정론적 물리학
  • Netcode for Entities의 클라이언트 측 예측

마지막으로 Unity의 멀티플레이어 개발 툴과 솔루션에 대해 소개합니다: Netcode for GameObjectsNetcode for Entities 프레임워크, 음성 및 텍스트 채팅을 위한 게임 서버 호스팅(Multiplay), Relay, Vivox와 같은 서비스 등이 있습니다. 또한 통합, 반복 작업, 배포를 그 어느 때보다 안정적이고 빠르게 수행할 수 있는 멀티플레이어 게임용 Unity 6 기능에 대한 소개도 포함되어 있습니다.

Unity 멀티플레이어 기초를 한 권에 담은 가이드
Netcode for GameObjects 프로젝트 샘플 살펴보기
이 간단한 게임 메커니즘은 클라이언트-서버 상호 작용을 보여줍니다.
이 간단한 게임 메커니즘은 클라이언트-서버 상호 작용을 보여줍니다.

이 전자책에서는 첫 번째 Unity Netcode for GameObjects 프로젝트를 설정하고 생성하는 방법에 대한 실용적인 실습 예제를 제공하여 이론을 실제에 적용합니다. 이 예제는 스타터 에셋 - 3인칭 패키지의 에셋을 사용하는 간단한 샘플 프로젝트입니다. 유니버설 렌더 파이프라인(URP)을 사용하여 휴머노이드 캐릭터로 3D 게임플레이를 시뮬레이션합니다. 여기에는 작은 테스트 놀이터 장면과 구성 가능한 3인칭 컨트롤러가 포함되어 있습니다. 예제를 따라 하다 보면 다음과 같은 개념에 익숙해질 것입니다:

  • Netcode for GameObjects 설치하기
  • 네트워크 관리자 추가
  • 네트워크 개체
  • 플레이어 네트워크 오브젝트
  • 플레이어 네트워크 오브젝트 생성
  • 멀티플레이어 플레이 모드
  • 나만의 UI 시작 버튼 만들기
  • 네트워크 동작 추가
  • 권한 및 소유권 속성
  • 네트워크 트랜스폼 및 네트워크 애니메이터를 사용한 동기화
  • 클라이언트 권한 적용
  • 소유자 권한 모드 구성 요소
  • 서버 권한과 동기화
  • 싱글톤 디자인 패턴

전자책과 함께 Netcode for GameObjects로 멀티플레이어 게임을 설정하는 주요 단계를 다루는 이 새로운 튜토리얼을 시청할 수도 있습니다:

시작하는 데 도움이 되는 더 많은 샘플
Unity의 메가시티 메트로 데모는 128명 이상의 플레이어를 지원합니다.
Unity의 메가시티 메트로 데모는 128명 이상의 플레이어를 지원합니다.

이 전자책은 학습 여정의 다음 단계로 살펴볼 수 있는 Unity의 최신 샘플 프로젝트에 대한 자세한 개요로 마무리됩니다. 이 샘플은 Netcode for GameObjects 및 Netcode for Entities를 시작하는 데 도움이 되도록 설계되었습니다. 여기에는 새로운 VR 멀티플레이어 템플릿, 업데이트된 Learn 튜토리얼, Bitesize 샘플 저장소, ECS 넷코드 샘플메가시티 메트로 샘플이 포함됩니다.

새로운 멀티플레이어 전자책과 추가 샘플 리소스가 Unity 6에서 멀티플레이어 게임 개발을 효율적으로 시작하는 데 도움이 되기를 바랍니다. 질문이나 의견이 있으면 이 토론글에 자유롭게 게시해 주세요. 마지막으로, unity.com/how-to에서 다른 최신 Unity 리소스도 확인해 보세요.