项目简介
本项目是基于Unreal Engine 5的模板项目,运用了EOS (Epic Online Services)、专用服务器、Steam、模块化游戏玩法、Common UI、Advanced Locomotion System Refactored XT、Lyra建模工具等技术。采用测试驱动开发(TDD)和持续集成(CI)的开发方式,要求开发者具备C++、Jenkins和单元测试的相关知识。
项目的主要特性和功能
- 在线服务功能:通过EOSGameInstance C++类向蓝图暴露基本EOS功能,如登录、好友管理、邀请、创建和加入会话等,EOSPlus支持二级认证系统(默认Steam)。
- 模块化游戏玩法:支持UI扩展,优化Mod/UGC创作流程,可在角色和UI中灵活应用。
- 主菜单系统:基于CommonUI构建,有标签导航、输入路由、加载屏幕、主要布局和异步混入实现(Push Widget)。
- 服务器浏览器:正在开发,通过辅助函数实现相关功能。
- 先进动作系统:Advanced Locomotion System Refactored有扩展的角色状态、改进的脚印系统,即将支持滑动和跳跃(XT)功能。
- 建模工具:集成Lyra Procedural Level块工具,使用几何脚本并改编成插件。
- 编辑器工具:TTToolbox提供编辑器工具,方便将角色和动画重新定位到ALS骨骼;SkeletalMeshMerger可在运行时合并骨骼组件。
- 开发流程:采用测试驱动开发(TDD)和持续集成(CI),保证代码质量和开发效率。
安装使用步骤
基本设置
- Unreal Engine 5源代码构建设置
- 运行
Setup.bat
并等待完成。 - 运行
GenerateProjectFiles.bat
并等待完成。 - 打开
UE5.sln
。 - 在解决方案资源管理器中,右键单击UE5并选择“构建”,等待初始构建完成。
- 运行
- Linux交叉编译设置
- 下载并安装clang -20 13.0.1到默认文件夹。
- 再次运行
GenerateProjectFiles.bat
并等待完成。 - 再次运行
Setup.bat
并等待完成。 - 再次打开
UE5.sln
,此时顶部标准工具栏中Linux应作为目标可用。 - 在Visual Studio中重新构建UE5。
- 重新构建后,打开Target Vector项目,在打开地图选项卡中点击“平台”旁边的下拉菜单,若一切设置正确,Linux应出现在Content/SDK/设备管理列表中。
- 项目设置
- 在Unreal Engine 5源代码构建的顶级目录下创建一个名为
Projects
的子目录。 - 将本项目复制到
Projects
文件夹中,目录结构应为/Projects/[项目仓库名称]
。 - 再次运行
GenerateProjectFiles.bat
。 - 完成后,打开
UE5.sln
文件,TargetVector应出现在“游戏”文件夹下。
- 在Unreal Engine 5源代码构建的顶级目录下创建一个名为
- EOS设置
- 在
Config
文件夹中创建一个名为EOSSettings.ini
的文本文件,复制并粘贴以下内容:ini [/Script/OnlineSubsystemEOS.EOSSettings] +Artifacts=(ArtifactName="EOSArtifact",ClientId="",ClientSecret="",ProductId="",SandboxId="",DeploymentId="",EncryptionKey="")
- 完成ini文件中所需的Artifacts字段,这些值可在Epic开发者门户的应用程序详细信息中找到。
- 使用编辑器打开项目,在项目设置 > 地图和模式中,在游戏实例类下拉菜单中选择
EOS_GameInstance
类。
- 在
- 测试:使用
EOS_Testing.bat
文件测试基本的EOS功能,编辑“ue5path”变量以反映你的Unreal Engine 5安装目录。目前,要在多个玩家之间测试EOS功能,每个玩家都需要一个Epic和Steam登录账号。
高级设置
- CI/TDD开发流程
- 进行本地更改。
- 提交并将更改推送到git远程仓库(或发起拉取请求)。
- Jenkins接收通知,将远程仓库的每个更改拉取到Jenkins工作区。
- Jenkins启动与该仓库关联的管道。
- 管道构建项目。
- 管道在进行代码覆盖的同时运行测试。
- 管道显示构建状态和测试报告。
- 首次设置步骤
- 安装所有必需的程序。
- 设置域名、动态DNS或使用ngrok通过端口(默认8080)访问Jenkins。
- 设置Discord,获取Webhook并在Jenkins中配置环境变量
TVDISCORDWEBHOOK
。 - 创建Unreal项目。
- 完成EOS设置。
- 创建Jenkins多分支管道项目。
- 将项目更改推送到远程git服务器,以激活Jenkins中的构建触发器。
- 自动化测试:项目中包含2个简单的C++测试,位于“Game.”组中,已在Jenkinsfile中设置好运行。可在
/Source/Tests
文件夹中创建新的C++测试,并将其添加到“Game.”组中,以在Jenkins构建时自动运行测试和代码覆盖。也可修改Jenkinsfile以使用其他测试组或特定测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】