《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](#P8 为项目配置 Steam)
  • [8.1 在线子系统类](#8.1 在线子系统类)
  • [8.2 创建项目并配置 Steam](#8.2 创建项目并配置 Steam)
  • [8.3 Summary](#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" 的后面。配置代码的含义参阅官方文档。

    bash 复制代码
    [/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》中都有说明。


相关推荐
仰泳的熊猫16 小时前
1013 Battle Over Cities
数据结构·c++·算法·pat考试
渡我白衣17 小时前
字符串的陷阱与艺术——std::string全解析
网络·c++·人工智能·自然语言处理·智能路由器·信息与通信·caffe
吃不饱的得可可17 小时前
C++17常用新特性
开发语言·c++
_OP_CHEN17 小时前
算法基础篇:(七)基础算法之二分算法 —— 从 “猜数字” 到 “解难题” 的高效思维
c++·算法·蓝桥杯·二分查找·acm·二分答案·二分算法
一匹电信狗17 小时前
【C++11】Lambda表达式+新的类功能
服务器·c++·算法·leetcode·小程序·stl·visual studio
煤球王子18 小时前
学而时习之:C++中的枚举
c++
楼田莉子18 小时前
C++/Linux小项目:自主shell命令解释器
linux·服务器·开发语言·c++·后端·学习
草莓火锅19 小时前
用c++求第n个质数
开发语言·c++·算法
GISer_Jing19 小时前
OSG多视口与多通道渲染核心技术解析
c++·3d·新浪微博
玖剹19 小时前
多线程编程:从日志到单例模式全解析
java·linux·c语言·c++·ubuntu·单例模式·策略模式