【ai精翻】虚幻引擎5 C++多人游戏速成课程

【ai精翻】虚幻引擎5 C++多人游戏速成课程-土狗cg资源站
【ai精翻】虚幻引擎5 C++多人游戏速成课程
此内容为付费资源,请付费后查看
15
付费资源
图片[1]-【ai精翻】虚幻引擎5 C++多人游戏速成课程-土狗cg资源站

你将学到什么

  • 了解虚幻引擎 5 中的多人游戏机制
  • 了解引擎中不同核心类的工作原理,例如游戏模式、游戏状态、玩家状态、玩家控制器、角色等等。
  • 学习如何在多人游戏中复制变量、发送远程函数、复制移动以及前往不同关卡
  • 了解附件、组件复制、复制条件和自定义复制
  • 了解多人游戏的陷阱以及如何避免它们

要求

  • 需要具备虚幻引擎和 C++ 的基础知识

描述

是时候学习虚幻引擎中的多人游戏编程了!

在本速成课程中,你将快速掌握虚幻引擎多人游戏的基础知识。你将获得在任何游戏类型中编写多人游戏程序的技能!

很多学生在多人游戏编程方面都遇到困难。相信我,我感同身受!在我十多年的虚幻引擎游戏编程经验中,我积累了许多宝贵的经验教训。我发现,只要理解多人游戏理论的核心原理,以及虚幻引擎框架是如何围绕多人游戏构建的,多人游戏编程其实并不难。

要编写多人游戏程序,你无需成为专家。你只需要学习多人游戏运行的基本概念。本课程是对编写多人游戏程序必须掌握的核心原理的精简总结。

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

本课程深入探讨多人游戏理论,并提供挑战性练习来检验您对每个主题的理解,让您有机会亲身实践各种技巧。在您独立尝试每个挑战后,我将演示如何解决每个挑战,并为您讲解解题步骤。每个主题都附有简明扼要的总结,每个章节末尾都设有小测验,以检验您的理解程度,确保您能够自信地学习下一个主题。

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

多人游戏基础知识

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

  • 客户端-服务器模型——它与点对点连接有何不同,以及虚幻引擎如何使用这种模型
  • 多人游戏测试– 如何在引擎的 Play-In-Editor (PIE) 中轻松模拟独立游戏、监听服务器游戏和专用服务器游戏
  • 局域网连接– 您将创建一个局域网游戏,连接到您本地网络中的其他计算机。
  • 通过 Steam 监听服务器– 我提供一个插件,让您可以通过 Steam 在线子系统快速连接到其他玩家。

演员复制

Actor 是虚幻引擎关卡的核心。Actor 具有复制能力。

  • Actor 复制– 您将看到启用 Actor 复制功能是多么容易,它如何实现变量复制,以及如何复制移动以同步每个 Actor 的服务器和客户端版本。
  • 权限和网络角色——一旦你理解了这些简单却至关重要的概念,你就能明白如何确定特定角色所在的机器,从而为你的逻辑做出重要的游戏决策。
  • 角色绑定——所有游戏都涉及某种形式的绑定。你必须学习角色绑定在多人游戏中是如何运作的(如果你不知道自己在做什么,绑定就无法生效)。
  • 变量复制——多人游戏编程的核心。复制变量是所有多人游戏的基石,你会发现创建它们是多么容易(因此你也必须对此负责)。
  • 复制通知– 有时,您可能只想触发变量复制的响应。复制通知函数旨在响应变量复制而触发,甚至可以访问复制前的值。
  • 复制条件——变量会在发生变化时进行复制。您可以决定是否进行复制、何时进行复制、复制到哪些机器以及在什么情况下进行复制。本讲将教您如何操作。
  • 自定义复制条件– 您的游戏可能会变得复杂。您可能会发现,您需要一个变量,使其仅在您设定的自定义条件范围内复制。您将学习如何做到这一点。
  • 所有权——除非你理解虚幻引擎中所有权的含义,否则你无法有效地进行多人游戏编程。这包括拥有连接:即哪台机器负责管理相关对象。本次讲座将为你揭开所有权的神秘面纱。
  • Actor 组件– 组件也可以复制,但你需要了解这是如何发生的,以及它们的网络连接是如何与它们的 Actor 关联的。

远程功能

远程函数是虚幻引擎多人游戏框架中最强大的工具之一,它可以做到复制变量无法做到的事情。

  • 在客户端运行– 当您需要调用服务器上的函数并在拥有该函数的客户端上执行时,客户端 RPC 是您的最佳选择。
  • 在服务器上运行– 虽然复制只能从服务器到客户端,但服务器 RPC 是您将信息从客户端获取到服务器的方式。
  • 多播——能力越大,责任越大。要调用服务器上的函数并使其在所有客户端上运行,多播 RPC 是理想的工具。
  • RPC 验证– 多人游戏程序员很快就会发现,他们不能完全信任客户端不会作弊(或者至少会尝试作弊)。验证功能可以确保数据正确无误,否则会踢出作弊玩家。
  • 相关性和优先级——网络更新并非总是发生——有时,不同的参与者之间可能并不相关。此外,某些参与者需要比其他参与者更频繁地进行复制。本次讲座将向您展示相关性和优先级是如何运作的。

类框架

了解每个类是为哪个任务设计的,可以极大地简化项目的整体结构。要有效地编写多人游戏程序,您必须了解每个核心引擎类的用途。

  • 游戏模式– 避免新手常犯的错误,例如尝试在客户端上访问游戏模式。了解游戏模式如何决定游戏规则以及默认生成的职业。
  • 游戏状态– 需要复制到客户端的游戏信息存储在此类中。
  • 玩家状态——玩家的得分应该存储在哪里?他们的队伍呢?玩家的特定数据都依赖于这个非常重要的类。
  • 玩家控制器– 代表玩家您,玩家控制器拥有您的网络连接,您的 Pawn 或角色的所有权可以追溯到此类。
  • 棋子和角色——每个玩家都需要一个可见的化身。它们在多人游戏中如何运作?本次讲座将为您解答。
  • HUD 和小部件——这些视觉元素在多人游戏中是如何处理的?你能复现它们吗?(剧透:不能!)
  • 静态访问器函数——为什么我们总是调用这些函数,并在不确定应该传入什么参数时,传入玩家索引 0?使用这些静态访问器函数时要小心陷阱,以及在不确定时可以使用的替代方案。

多人旅行

游戏中,有时需要切换关卡。多人游戏中所有连接的玩家都必须转移到另一个关卡。这是如何实现的呢?你将在下文中了解。

  • 旅行——我们讨论不同的旅行类型以及如何实施这些旅行。
  • 实现无缝旅行– 作为本课程的最终挑战,您将实现无缝旅行,将游戏中的每个客户端迁移到另一个地图,而不会断开他们的连接。

完成本课程后,您将全面掌握虚幻引擎多人游戏框架的基础知识。无论游戏类型如何,您都将能够编写多人游戏程序。本课程可作为参考手册,方便您随时查阅,并可跳转至特定主题的课程进行复习。

我建议所有学生在学习我任何更高级的多人游戏课程之前,先学习这门课程!

本课程假定您已掌握虚幻引擎 C++ 的基础知识。如果您至少完成过一个虚幻引擎 C++ 项目,或者已经完成了我的《虚幻引擎 5 C++ – 终极游戏开发者课程》,那么您就准备好了。

准备好彻底了解虚幻引擎中的多人游戏是如何运作的了吗?其实并不难!你只需要掌握一些基本原理。

我很快就会见到你。

史蒂芬

这门课程面向哪些人群?

  • 那些想学习虚幻引擎多人游戏的人
  • 那些希望将单人游戏项目升级为多人游戏的玩家
  • 那些希望掌握虚幻引擎多人游戏高级概念(例如 GAS)的人
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容