《UE5_C++多人TPS完整教程》学习笔记26 ——《P27 在线会话测试(Testing An Online Session)》

本文主要是介绍《UE5_C++多人TPS完整教程》学习笔记26 ——《P27 在线会话测试(Testing An Online Session)》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P27 在线会话测试(Testing An Online Session)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。


文章目录

  • P27 在线会话测试(Testing An Online Session)
  • 26.1 进行加入会话测试
  • 26.2 添加第三人称角色
  • 26.3 进行第三人称角色测试
  • 26.4 Summary


P27 在线会话测试(Testing An Online Session)

本节课将在两台设备上使用打包好的项目进行测试,我们将尝试通过因特网连接两台设备,然后为我们的项目添加第三人称角色。
在这里插入图片描述


26.1 进行加入会话测试

  1. 在进行加入会话测试之前,需要在两台设备上登录不同的 Steam 账户,并保证两个账户的下载地区都相同,具体操作可以参阅《UE5_C++多人TPS完整教程》学习笔记11 ——《P12 Steam 地区(Steam Regions)》。

  2. 在设备 1 上将打包好的项目发送至设备 2 上。在设备 1 上运行游戏(保证 Steam 已经运行),点击 “Host” 按钮,创建会话成功,当前关卡跳转至 “Lobby”。
    在这里插入图片描述

  3. 在设备 2 上运行游戏(保证 Steam 已经运行且登录的账户与设备1 上登录的账号不同),点击 “Join” 按钮,当前关卡跳转至 “Lobby”,并且场景中出现了一个球体(设备 2 控制的默认 “Pawn” 类),设备 2 加入设备 1 创建的会话成功。
    在这里插入图片描述
    此时设备 1 上的场景也出现了一个球体且球体位置和设备 2 中的场景不一样。
    在这里插入图片描述

  4. 在设备 2 上退出游戏,在设备 1 上可以看到球体消失。
    在这里插入图片描述


26.2 添加第三人称角色

  1. 我们不只是希望在联网测试操纵(Maneuvering)默认 “Pawn” 类,而可以看到彼此,因此需要在项目中添加角色。打开虚幻引擎,在内容浏览器中添加第三人称游戏内容至项目中。
    在这里插入图片描述

  2. 在关卡 “GameStartupMap” 的 “世界场景设置” 的 “游戏模式重载” 选项下修改关卡的游戏模式为新创建的第三人称内容中的游戏模式 “BP_ThirdPersonGameMode”,
    在这里插入图片描述

  3. 同理将关卡 “Lobby” 的游戏模式修改为 “BP_ThirdPersonGameMode”,然后拖动左侧 “放置 Actor” 菜单中的 “玩家出生点” 至场景中。
    在这里插入图片描述


26.3 进行第三人称角色测试

  1. 将项目打包之后发送到设备 2 上。在设备 1 上运行游戏(保证 Steam 已经运行),点击 “Host” 按钮,当前关卡跳转至 “Lobby”,第三人称角色出现,屏幕左上角显示创建会话成功消息。
    在这里插入图片描述
    在这里插入图片描述

  2. 在设备 2 上运行游戏(保证 Steam 已经运行且登录的账户与设备 1 上登录的账号不同下载地区相同),点击 “Join” 按钮,当前关卡跳转至 “Lobby”,并且可以看到有两个玩家存在,说明设备 2 成功找到并加入到了设备 1 创建的会话中。
    在这里插入图片描述
    在这里插入图片描述

  3. 两台设备都能控制第三人称角色角色进行移动。
    在这里插入图片描述
    在这里插入图片描述


26.4 Summary

本节课我们使用两台设备对游戏项目 “Blaster” 进行加入多人联机测试,即在一台设备上创建会话,在另一台设备上加入会话。为了能让玩家在联机成功后能够控制自己的角色,我们在游戏项目加入了第三人称角色,并重新进行了测试,测试结果表明两台设备的玩家都可以控制自己的角色在关卡 “Lobby” 中自由移动。
在这里插入图片描述
26.1 进行加入会话测试 前,需要保证两台设备上登录不同的 Steam 账户,并且两个账户的下载地区都相同,具体操作可以参阅《UE5_C++多人TPS完整教程》学习笔记11 ——《P12 Steam 地区(Steam Regions)》。


这篇关于《UE5_C++多人TPS完整教程》学习笔记26 ——《P27 在线会话测试(Testing An Online Session)》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776526

相关文章

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基