当前位置: 首页 > news >正文

《UE5_C++多人TPS完整教程》学习笔记1 ——《P2 关于本课程(About This Course)》


本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P2 关于本课程(About This Course)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。


文章目录

  • P2 关于本课程(About This Course)
  • 2.1 课程结构(Course Structure)
  • 2.2 课程资源(Resources)
    • 2.2.1 Github源代码
    • 2.2.2 访问Discord社区
    • 2.2.3 在课程官网Udemy进行Q&A
  • 2.3 Summary


P2 关于本课程(About This Course)

本节课将讨论学习本课程需要的重要信息,以充分利用本课程(Get the best out of this course)。

在这里插入图片描述


2.1 课程结构(Course Structure)

本课程包括如下内容:
在这里插入图片描述

  1. 多玩家插件(Multiplayer Plugin):
    功能包含创建在线会话(Online Sessions)和连接玩家的功能,这个插件在之后的多人游戏项目中也可能会使用到。
  2. 游戏工程(The Game Project):创建游戏项目中的所有游戏类,包括角色和武器等,将多玩家插件以及游戏优化(Game Optimization)、游戏对战(Combat in The Game)、游戏状态匹配(Match Game States)等功能加入其中。
  3. 这里建议 Unreal Engine 新手先开始制作实际的游戏和通过编程构建游戏机制(Gameplay Mechanics),需要先从游戏工程(The Game Project)着手,然后先添加课程已经做好的多玩家插件(Multiplayer Plugin),使得游戏工程(The Game Project)能够创建在线会话,这样就能通过互联网上与其他机器联机测试游戏,最后再去学习插件是如何制作的。

2.2 课程资源(Resources)

在这里插入图片描述

2.2.1 Github源代码

每节课的源代码可以在 Github 上查看。
在这里插入图片描述

Github 上有两种查看源代码的方式:查看每节课特定的代码或者直接查看整个工程的最终代码。

  • 查看每节课特定的代码
    每节课都有与之标题相同的“提交”(Commits)对应,每节课代码的改动都可以点击代码仓库的右上角的“commits”按钮查看。
    提交”(Commits)中用红色、绿色标记的代码行被称为“差异”(Diffs),它显示了新代码在原来的代码上所做出的修改。其中:红色标记的代码表示该代码行被删除了;绿色标记的代码行表示该代码行是新加入的代码行。
    在这里插入图片描述
    在这里插入图片描述
    点击右上角的 “···” 按钮,在弹出的菜单中我们可以看到 “View file” 选项,单击它可以查看源文件代码。这个功能非常有用,如果我们遇到代码无法编译的情况,我们可以看看每一节课的源文件代码是怎么样的,然后将自己的代码和源文件代码作比较,从而进行分析排错。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里建议不要将上面的代码直接全部复制粘贴,这样做不一定可以解决编译错误(Copying and pasting large sections of code is just begging for compiler errors.)您可能为自己的类或者变量自命名,因此类名或变量名会与课程代码有所出入,直接复制粘贴大段代码容易导致编译错误。正确的食用方式应该是了解自己的工程代码和课程代码的不同之处,如果编译出现问题就以课程代码为参考进行分析。
    在这里插入图片描述
    在这里插入图片描述

  • 直接查看整个工程的最终代码
    在这里插入图片描述
    在这里插入图片描述

2.2.2 访问Discord社区

社区里面有一个多人测试频道,可以在上面与来自世界各地的玩家测试多人游戏项目。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.3 在课程官网Udemy进行Q&A

可以查看别人是否遇到和自己一样的问题。
在这里插入图片描述

也可以自己提问题,但是提问时要注意代码格式和规范,以便作者和其他学生解答。
在这里插入图片描述


2.3 Summary

本节课主要介绍了本系列课程的大体结构,包括多人游戏插件制作和游戏工程两方面,然后讲解了如何在 Github 上获取课程源代码以及如何科学地查看代码,简单介绍了一下如何在 Discord 社区进行交流以及和其他玩家测试自己的多人游戏,最后介绍了 Udemy 课程官网的答疑功能。
作者建议虚幻引擎新手先从游戏工程着手,在添加课程已经做好的多人插件情况下进行游戏制作,使得游戏工程能够创建在线会话,这样就能通过互联网上与其他机器联机测试游戏,最后再去学习多玩家插件是如何制作的。
在这里插入图片描述
由于笔者本人了解过一些计算机网络基础知识,也学习过简单的代码编程,因此将按课程视频顺序进行学习。


相关文章:

《UE5_C++多人TPS完整教程》学习笔记1 ——《P2 关于本课程(About This Course)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P2 关于本课程(About This Course)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者&…...

权限系统设计

权限系统设计 RBAC 基于角色的访问控制 ABAC 基于属性的访问控制 普通的系统无非 CRUD,那系统如何控制一个用户该看到哪些数据、能操作哪些功能?日常开发中最常用到 RBAC 和 OAuth2 这两种访问控制和授权方案 RBAC 基于角色的访问控制 所有的访问控制模…...

Ubuntu Desktop - Screenshot (截图工具)

Ubuntu Desktop - Screenshot [截图工具] 1. Search your computer -> Screenshot -> Lock to Launcher2. gnome-screenshot3. System Settings -> Keyboard -> ShortcutsReferences 1. Search your computer -> Screenshot -> Lock to Launcher 2. gnome-s…...

docker 1:介绍

docker 1:介绍 docker解决哪些问题: 传统APP在安装到不同电脑的时候可能会遇到依赖问题,比如缺少VS 20xx,软件无法运行”的情况。docker使用容器技术将软件 依赖​打包为image包发布,解决了依赖问题。docker有一个官…...

RibbonBar RibbonPage切换事件

在开发的过程中,我们会用到点击切换page,来响应对应的事件,例如以下事件: 头文件中: void ribboncurrentPageIndexChanged(int index); 实现文件中: connect(ribbonBar(), SIGNAL(currentPageIndexChang…...

Conda历史版本下载地址和python对应关系

一、前言 因为Conda安装版本问题,带来了很多问题,虽然不能直接确定二者之间的关系,但是安装指定版本的conda,确实是一个比较好的方法。特此记忆。 二、下载地址 下载最新版本:Free Download | Anaconda 下载历史版本&#xff…...

Clickhouse查询语句执行过程

问题 简述clickhosue中一条select语句的执行过程,使用的引擎是ReplacingMergeTree。例如: select col1,col2 from table final prewhere col3 > ? and col4 ? and col5 ? -- col3为分区键,col4为二级索引,col5为主键字段 where col…...

【动态规划】【中位数】【C++算法】1478. 安排邮筒

# 作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1478. 安排邮筒 给你一个房屋数组houses 和一个整数 k ,其中 houses[i] 是第 i 栋房子在一条街上的位置,现需要在这条街上安排 k…...

C#系列-数据结构+递归算法+排序算法(3)

C#数据结构 在C#中,数据结构是用于组织和管理数据的方式,以便更有效地进行数据的存储、访问和操作。数据结构对于算法的性能和设计至关重要,因为它们决定了数据如何在内存中布局以及如何与算法进行交互。C#提供了许多内置的数据结构&#xf…...

Redis实现秒杀

前期准备 缓存选择考虑 Redis和Redis Cluster(分布式版本),是一个分布式缓存系统。其支持多种数据结构,也支持MQ。Redis在性能上做了大量优化。因此使用Redis或者Redis Cluster就可以轻松实现一个强大的秒杀系统。 用Redis的这…...

4 scala集合-Map

和 Java 一样,Scala 也有表示键值对(Key-Value)集合的 Map 数据结构。同样,Map 也分不可变和可变,不可变需要使用类 scala.collection.mutable.Map。 1 不可变 Map 可以使用以下语法定义不可变 Map 对象 val/var ma…...

QT 对象树模型

QObject是Qt里边绝大部分类的根类 QObject对象之间是以对象树的形式组织起来的。 当两个QObject(或子类)的对象建立了父子关系的时候。子对象就会加入到父对象的一个成员变量叫children(孩子)的list(列表)…...

ubuntu快速安装miniconda

ubuntu快速安装miniconda 环境 ubuntu.22.04 显卡 RTX 3050 关于选择Miniconda还是Anaconda的问题,Anaconda安装包比较大,耗时比较长,如果你是绝对的初学者,选择Anaconda会比较稳妥一些;否则建议你还是选择Miniconda安…...

阿里云游戏服务器多少钱一年?

阿里云游戏服务器租用价格表:4核16G服务器26元1个月、146元半年,游戏专业服务器8核32G配置90元一个月、271元3个月,阿里云服务器网aliyunfuwuqi.com分享阿里云游戏专用服务器详细配置和精准报价: 阿里云游戏服务器租用价格表 阿…...

小游戏和GUI编程(7) | SimpleNN 界面源码解析

小游戏和GUI编程(7) | SimpleNN 界面源码解析 0. 简介 SimpleNN 是 AdamYuan 在高中一年级时用 1 天时间写出来的简易 CNN, 使用 SFML 做 UI, 用于交互式输入手写数字,这个数字被训练好的 CNN 网络执行推理得到识别结果, 它的运行效果如下: 这一篇我们…...

c++设计模式之代理模式

作用 代理模式主要用于,通过代理类,来控制实际对象的访问权限 案例 class VideoSite { public:virtual void freeVideo()0;virtual void vipVideo()0;virtual void trickVideo()0; };class FixBugVideoSite:public VideoSite { public:void freeVideo()…...

第5个-模糊加载

Day 5 - Blurry Loading 1. 项目展示 2. 分析思路 变化过程 数字从 0 不断增长到 100;中间的百分比数字逐渐消失,即透明度 opacity 从 1 到 0;背景图片从模糊变为清晰,滤镜 filter.blur()的参数设置为从 30px 到 0px。 小 tips…...

rtt设备io框架面向对象学习-adc设备

目录 1.adc设备基类2.adc设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.adc设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的adc.h定义了如下adc设备基类 struct rt_ad…...

面试官:介绍一下Exception和Error之间的区别

前言 大家好,我是chowley,在我之前的面试中,遇到过这样一个问题:Exception和Error之间有什么区别?今天我就来好好地总结一下! 主体 在Java编程中,Exception和Error都是Java中的可抛出对象&am…...

【RabbitMQ(一)】:基本介绍 | 配置安装与快速入门

应该是新年前最后一篇博客了,明天浅浅休息一下,提前祝大家新年快乐捏!😊😊😊 01. 基础理解 1.1 同步调用和异步调用 👉 同步调用 的时候调用者会 阻塞 等待被调用函数或方法执行完成&#xff…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...