您想找什么?
Engine & platform

获取我们面向 Unity 开发者的关于 Multiplayer 网络的新技术电子书

THOMAS KROGH-JACOBSEN / UNITY TECHNOLOGIESProduct Marketing Core Tech
Dec 10, 2024|5 Min
新电子书:面向Unity开发者的Multiplayer网络
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

您是否是一名经验丰富的单人游戏개발자者,并计划使用 Unity 制作您的第一个Multiplayer游戏项目?那么,请务必查看我们面向 Multiplayer 网络的新技术电子书(现已提供下载)。

我们制作了这份全新的指南,它有两个目标:首先,为您详细介绍 Multiplayer 网络的核心概念。其次,通过引导您完成基于 Netcode for GameObjects 的 Multiplayer 示例项目,指导您如何使用 Unity 网络和 Multiplayer 功能。

如果您刚刚开始Multiplayer游戏개발자者之旅,您可以找到一些有用的提示,帮助您了解要避免哪些常见陷阱以及如何选择最适合您项目的Multiplayer解决方案。此外,您还将轻松概述许多 Unity 网络示例,以便下一步探索。最终,我们希望您能够尽可能高效地开始制作原型和开发自己的 Multiplayer 游戏功能。

本指南假定您熟悉Unity和C#开发,但网络新手或初学者。

获取新的 Multiplayer 网络电子书
Multiplayer游戏开发 101
往返时间是衡量网络延迟的标准。
往返时间是衡量网络延迟的标准。

开始 Multiplayer 开发可能会让人觉得有点望而生畏,但如果您首先了解核心网络概念,那么整个开发过程会变得更容易。

本指南首先解释了网络架构中最简单的部分,例如客户端和服务器的角色,以及它们如何使用UDP(用户数据报协议)等标准互联网协议交换数据包来进行通信。您将了解有哪些提示、更新和延迟。介绍了状态同步、远程过程调用 (RPC) 和带宽管理等网络同步技术。

您可以找到不同网络拓扑模型的说明,这些模型定义了设备在 Multiplayer 环境中的连接和通信方式。拓扑可能会影响游戏的架构、性能和整体玩家体验。为游戏选择一个取决于游戏类型、对游戏状态的期望控制级别以及服务器基础设施的可用资源。因此,本指南将帮助您了解需要考虑的因素,以便您做出正确的选择。

您可以按照本指南所述进行操作,并遵循网络项目的工作流程,该工作流程侧重于本地测试、模拟网络状况、管理客户端连接、调试工具和使用命令行帮助程序。

我们还探讨了网络同步对于为所有玩家保持一致和公平的游戏体验至关重要的原因。您将了解如何为游戏操作设置客户端与服务器通信,以便玩家可以在其中与游戏环境的一部分进行交互。这包括实现网络游戏状态和向服务器发送远程过程调用 (RPC)。本指南涵盖的一些其他概念包括:

  • RPC 与 NetworkVariables
  • Multiplayer游戏设计
  • 网络延迟和性能
  • 模拟延迟
  • Unity Transport 调试模拟器
  • 客户端插值
  • 客户端预测和预期
  • 为什么选择服务器权限
  • 客户端预测如何运作
  • 协调和回滚
  • Netcode for GameObjects 中的客户端预期
  • 确定性物理
  • Netcode for Entities 中的客户端预测

最后,我们将为您介绍 Unity 的 Multiplayer 开发工具和解决方案:Netcode for GameObjectsNetcode for Entities 框架,Game Server Hosting (Multiplay)RelayVivox 等用于语音和文本聊天的服务等。其中还介绍了Unity 6在多人游戏中的功能,这些功能使集成、迭代和部署比以往更可靠、更快。

Unity Multiplayer基础知识指南
逐步完成 Netcode for GameObjects 示例项目
这种简单的游戏机制显示了客户端与服务器的交互。
这种简单的游戏机制显示了客户端与服务器的交互。

我们通过提供一个实际可行的示例来说明如何设置和创建您的第一个 Unity Netcode for GameObjects 项目,从而将理论付诸实践。该示例是一个简单的示例项目,它使用了入门素材资源-第三人称资源包中的素材资源。它使用通用渲染管线 (URP) 以类人角色模拟 3D 游戏玩法。它包括一个小型测试游乐场场景和一个可配置的第三人称控制器。如果按照该示例操作,您将熟悉以下概念:

  • 安装 Netcode for GameObjects
  • 添加 NetworkManager
  • NetworkObjects
  • 玩家网络对象
  • 创建玩家网络对象
  • Multiplayer人游戏模式
  • 创建自己的UI开始按钮
  • 添加 NetworkBehaviour
  • 权限和所有权属性
  • 使用 NetworkTransform 和 NetworkAnimator 进行同步
  • 应用客户权限
  • 所有者授权模式组件
  • 与服务器授权同步
  • 单一设计模式

在阅读电子书的同时,您还可以观看新的操作指引,了解使用 Netcode for GameObjects 设置 Multiplayer 游戏的关键步骤:

更多示例可帮助您入门
Unity 的《特大城市》演示支持 128 名以上玩家。
Unity 的《特大城市》演示支持 128 名以上玩家。

该电子书在结尾处详细介绍了 Unity 的最新示例项目,作为学习过程的下一步,您可能想了解一下这些项目。示例旨在帮助您开始使用 Netcode for GameObjects 和 Netcode for Entities。其中包括新的VR Multiplayer模板、更新的学习教程Bitesize Samples存储库ECS Netcode示例Megacity Metro示例。

我们希望新的 Multiplayer 电子书和其他示例资源将帮助您在 Unity 6 中高效开始 Multiplayer 游戏开发。如果您有任何疑问或意见,欢迎在此讨论文章中发表。最后,请务必在unity.com/how-to上查看其他最新的Unity资源。