在这门纯蓝图课程中,快速学习 Unreal Engine 多人游戏框架的基础知识!是时候在 Unreal Engine 中学习多人游戏玩法编程了!使用100% 蓝图

在这门速成课程中,您将快速掌握 Unreal Engine 多人游戏的基础知识。您将获得为任何游戏类型编程多人游戏玩法的技能!

许多学生在多人游戏方面苦苦挣扎。相信我,我也经历过!在我超过 10 年的 Unreal Engine 游戏玩法编程经验中,我经历了许多艰难才学到教训。我发现,只要您理解了多人游戏理论背后的核心原则以及 Unreal Engine 框架是如何围绕其核心的多人游戏构建的,那么多人游戏玩法编程其实可以很简单。

要为您的游戏进行多人游戏编程,您不必成为专家。您只需要了解使多人游戏运作的基本概念。本课程浓缩了您必须理解的核心原则,以便进行多人游戏编程。

完成本课程后,您将理解多人游戏理论的基础知识、Unreal Engine 如何实现多人游戏、如何将您的单人游戏升级为多人游戏,以及如何在项目创建之初就为多人游戏构建您的游戏结构!

本课程深入探讨多人游戏理论,并且您将面临挑战来测试您对每个主题的理解,以便您能获得实践每个技术的动手经验。在您自己尝试每个挑战之后,您将观看我解决每个挑战,并为您提供解决问题的步骤。每个主题都以简洁的回顾进行总结,每个部分都以测验结束以测试您的理解,以便您可以充满信心地进入下一个主题。

由 Stephen Ulibarri创建
MP4 | 视频:h264,1280×720 | 音频:AAC,44.1 KHz,2 声道
级别:全部 | 类型:电子学习 | 语言:英语 | 时长:26 讲(4 小时 13 分钟)| 大小:3.46 GB

本课程分为以下几个部分:

多人游戏基础
我们将介绍核心的多人游戏术语和概念,包括:

  • 客户端-服务器模型 – 它与点对点(Peer-to-Peer)连接有何不同,以及 Unreal Engine 如何使用此模型

  • 测试多人游戏 – 如何在引擎的“在编辑器中运行”(PIE)中轻松模拟独立游戏、监听服务器和专用服务器游戏

  • LAN 连接 – 您将创建一个 LAN 游戏,与您自己本地网络中的其他计算机连接

  • 通过 Steam 的监听服务器 – 我为您提供一个插件,允许您通过 Steam 在线子系统快速连接到其他玩家

Actor 复制 (Actor Replication)
Actor 是 Unreal Engine 关卡的核心。Actor 拥有复制的能力。

  • Actor 复制 – 您将看到为 Actor 启用复制是多么容易,这如何允许变量的复制,以及如何复制移动以同步每个 Actor 的服务器和客户端版本

  • 权限 (Authority) 和网络角色 (Net Role) – 一旦您理解了这些简单但至关重要的概念,您将了解如何确定给定 Actor 在哪台机器上,从而使您有能力为您的逻辑做出重要的游戏玩法决策

  • 附加 (Attachment) – 所有游戏都涉及某种形式的附加。您必须了解附加在多人游戏中如何作用于 Actor(或者,如果您不知道自己在做什么,它如何不起作用)

  • 变量复制 (Variable Replication) – 多人游戏编程的关键。复制的变量是所有多人游戏的主力,您将看到制作它们是多么容易(以及因此您需要承担多大的责任)

  • 复制通知 (Rep Notifies) – 有时,您只想触发变量复制的响应。复制通知是设计用于响应变量复制而触发的函数,甚至可以访问复制前的值。

  • 复制条件 (Replication Conditions) – 变量在更改时复制。您有权决定是否发生、何时发生、在何种情况下发生以及发生在哪些机器上。您将在本讲座中学习如何操作。

  • 自定义复制条件 (Custom Rep Conditions) – 您的游戏可能会变得复杂。您可能会发现需要一个变量仅有时复制,基于您自己制定的自定义条件。您将学习如何操作。

  • 所有权 (Ownership) – 除非您理解所有权在 Unreal Engine 中的含义,否则您无法有效地进行多人游戏编程。这包括拥有连接:哪台机器负责所讨论的对象。这将在本讲座中为您揭开神秘面纱。

  • Actor 组件 (Actor Components) – 组件也可以复制,但您需要了解这是如何发生的,以及它们拥有的网络连接如何与其拥有的 Actor 相关联。

远程事件 (Remote Events)
Unreal Engine 多人游戏框架中最强大的工具之一,远程事件可以完成复制变量无法完成的事情。

  • 在客户端运行 (Run on Client) – 当您需要在服务器上调用事件并让其在其拥有的客户端上执行时,“在客户端运行”事件是您的首选。

  • 在服务器运行 (Run on Server) – 虽然复制仅从服务器到客户端有效,但“在服务器运行”事件是您将信息从客户端获取到服务器的方式。

  • 多播 (Multicast) – 能力越大,责任越大。要在服务器上调用函数并让其在所有客户端上运行,多播 (Multicast) 事件是使用的工具。

  • 相关性 (Relevancy) 和优先级 (Priority) – 网络更新并非总是发生——有时,Actor 对其他 Actor 不相关。此外,某些 Actor 必须比其他 Actor 更频繁地复制。本讲座向您展示相关性和优先级的工作原理。

类框架 (Class Framework)
了解哪个类设计用于哪个任务可以极大地简化项目的整体结构。您必须了解每个核心引擎类的用途,才能有效地为您的游戏进行多人游戏编程。

  • 游戏模式 (Game Mode) – 避免菜鸟错误,例如尝试在客户端访问游戏模式。了解游戏模式如何决定游戏规则和生成的默认类

  • 游戏状态 (Game State) – 关于游戏的信息,需要复制到客户端,存储在此类上。

  • 玩家状态 (Player State) – 您应该在哪里存储玩家的分数?他们的队伍?玩家特定数据位于这个非常重要的类上

  • 玩家控制器 (Player Controller) – 代表您作为玩家,玩家控制器拥有您的网络连接,您的 Pawn 或 Character 的所有权可追溯回此类

  • Pawn 和 Character – 每个玩家都需要一个可见的化身。它们在多人游戏中如何工作?本讲座为您涵盖

  • HUD 和控件(Widgets)– 这些视觉元素在多人游戏中如何处理?您可以复制它们吗?(剧透:不能!)

  • 静态访问器函数 (Static Accessor Functions) – 为什么我们总是调用这些函数,当我们不太确定该传入什么时传入 0 作为玩家索引?当不确定时,请注意使用这些静态访问器函数时的陷阱以及您可以使用的替代方案

多人游戏中的漫游 (Travel)
在某些时候,您的游戏需要更改关卡。多人游戏中的所有连接玩家都必须移动到另一个关卡。这是如何工作的?您将学习如何操作。

  • 漫游 (Travel) – 我们讨论不同的漫游类型以及如何实现它们。

  • 实现无缝漫游 (Implementing Seamless Travel) – 本课程的最后挑战,您将实现无缝漫游,将游戏中的每个客户端迁移到另一个地图而不会断开他们的连接。

到本课程结束时,您将完全理解 Unreal Engine 多人游戏框架的基础知识。您将能够为您的游戏进行多人游戏编程,无论是什么类型。本课程将作为您的参考手册,您可以回头参考,跳转到特定于每个主题的讲座进行复习。我建议我所有的学生在学习我更高级的多人游戏课程之前先学习这门课程!

本课程假定您已经了解 Unreal Engine 蓝图的基础知识。如果您至少完成过一个 Unreal Engine 项目,或者您已经完成了我的《Unreal Engine 5 蓝图 – 终极开发者课程》,那么您就准备好了。

准备好最终理解 Unreal Engine 中的多人游戏是如何工作的了吗?这并不难!您只需要理解基础知识。很快再见,

发表回复

后才能评论