《UE5_C++多人TPS完整教程》学习笔记7 ——《P8 为项目配置 Steam(Configuring A Project for Steam)》

本文主要是介绍《UE5_C++多人TPS完整教程》学习笔记7 ——《P8 为项目配置 Steam(Configuring A Project for Steam)》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P8 为项目配置 Steam(Configuring A Project for Steam)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。


文章目录

  • P8 为项目配置 Steam
  • 8.1 在线子系统类
  • 8.2 创建项目并配置 Steam
  • 8.3 Summary


P8 为项目配置 Steam

本节课将创建一个新的虚幻引擎项目,并为它配置使用 Steam 平台在线子系统。
在这里插入图片描述


8.1 在线子系统类

  1. 虚幻引擎的在线子系统提供了一种访问在线平台服务(SteamXbox Live等)的方法,利用在线子系统可以处理任何在线平台服务的好友、成就、设置配对会话(Setting up matching sessions)等系统功能,而我们必须要做的就是为特定的平台配置我们的项目。
    在这里插入图片描述

  2. 我们需要在 Engine.ini 这个配置文件下指定默认平台服务。虚化引擎的在线子系统可以通过 “IOnlineSubsystem” 类中的静态函数 “Get” 进行访问,该函数返回值是一个指向相应子系统的指针,具体参阅官方文档 《IOnlineSubsystem::Get》
    在这里插入图片描述


8.2 创建项目并配置 Steam

  1. 创建第三人称游戏项目,名称为 “MenuSystem”。
    在这里插入图片描述

  2. 打开“插件”(Plugins)浏览器选项卡,启用(Enabled) “Online Subsystem Steam” 插件,重启虚幻引擎。
    在这里插入图片描述

  3. 打开 Visual Studio,在右侧解决方案资源管理器展开 “/Games/MenuSystem/Source/MenuSystem/”,打开 C# 文件 “MenuSystem.Build.cs”,添加公共依赖模块名称(Public dependency module names) “OnlineSubsystemSteam” 和 “OnlineSubsystem” 后进行编译,其中 “OnlineSubsystem” 是与 “OnlineSubsystemSteam” 交互的 总体子系统Overall subsystem)。
    在这里插入图片描述

    注意 "OnlineSubsystem" 后面要留有一个空格,否则编译会出现以下错误
    在这里插入图片描述

  4. 在 “/MenuSystem/Config/” 目录下打开 “DefaultEnigne.ini”,在官方文档 《Online Subsystem Steam》中将示例的配置代码复制粘贴到 “DefaultEnigne.ini” 的后面。配置代码的含义参阅官方文档。

    [/Script/Engine.GameEngine]
    +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")[OnlineSubsystem]
    DefaultPlatformService=Steam[OnlineSubsystemSteam]
    bEnabled=true
    SteamDevAppId=480; If using Sessions
    ; bInitServerOnClient=true[/Script/OnlineSubsystemSteam.SteamNetDriver]
    NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"	
    

    在这里插入图片描述

    NetDriverDefinitions 描述了可供UE使用的网络驱动器,并添加了以下属性:

    • DefName 是该网络驱动器定义的唯一名称。
    • DriverClassName 是主网络驱动器的类名称。
    • DriverClassNameFallBack 是退却网络驱动器的类名(如果主网络驱动器类初始化失败)。

    —— 虚幻引擎官方文档 《Online Subsystem Steam》

  5. 关闭 Visual Studio和虚幻引擎,删除工程目录自动生成的(auto-generated)下 “Binaries”、“Intermediate”和“Saved” 三个文件夹。
    在这里插入图片描述

  6. 点击 “MenuSystem.uproject”,重新构建项目,可以看到出现提示窗口 “Missing MenuSystem Modules”,点击 “是(Y)”,虚幻引擎将重新启动,“Binaries”、“Intermediate”和“Saved” 三个文件夹将重新生成。
    在这里插入图片描述


8.3 Summary

本节课创建了一个新的虚幻引擎第三人称游戏项目 “MenuSystem”,然后通过修改项目配置文件 “MenuSystem.Build.cs” 和 “DefaultEngine.ini”来为项目设定使用 Steam 平台在线子系统。
在这里插入图片描述
8.1 在线子系统类 中,虚化引擎的在线子系统可以通过 “IOnlineSubsystem” 类中的静态函数 “Get” 进行访问,该函数返回值是一个指向相应子系统的指针,具体参阅官方文档 《IOnlineSubsystem::Get》。

8.2 创建工程并配置 Steam步骤 3 中,修改配置文件 “MenuSystem.Build.cs” 时要注意添加了 "OnlineSubsystem" 后要留一个空格,否则编译会出现错误。
8.2 创建工程并配置 Steam步骤 4 中,配置 “DefaultEnigne.ini” 的示例代码中每一行的含义在在官方文档 《Online Subsystem Steam》中都有说明。


这篇关于《UE5_C++多人TPS完整教程》学习笔记7 ——《P8 为项目配置 Steam(Configuring A Project for Steam)》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/701822

相关文章

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

详解C++中类的大小决定因数

《详解C++中类的大小决定因数》类的大小受多个因素影响,主要包括成员变量、对齐方式、继承关系、虚函数表等,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 非静态数据成员示例:2. 数据对齐(Padding)示例:3. 虚函数(vtable 指针)示例:4. 继承普通继承虚继承5.

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准