赞
踩
本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P4 测试多人游戏(Testing Mutiplayer)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。
本节课将讨论如何采用编辑器中播放模式(PIE,Play in editor)测试多人游戏,以及如何通过局域网(LAN, Local Area Network)连接到游戏。
下面讲解如何使用虚幻引擎内置的 多人测试功能(Multiplayer testing capabilities)。
MPTesting
,项目默认设置这里选择 C++。通过局域网(LAN, Local Area Network)进行连接测试,以确保两台机器连接在一起时多人游戏可以正常运行。
局域网通常情况下有一个连接了多台机器的路由器(或同一个 Wi-Fi),每个台机器都会分配一个 IP 地址。由于它们都连接到了同一个路由器中,因此它们之间可以通过本地 IP 地址互相访问。
使用蓝图搭建连接测试逻辑。在 “Content/Thirdperson/Blueprints” 目录下双击“BP_ThirdPersonCharacter”,打开完整蓝图编辑器。拖拽界面上方的 “BP_ThirdPersonCharacter” 选项卡到 “ThirdpersonMap” 选项卡的右边,以便于在蓝图编辑窗口和编辑器主界面之间快速切换。
在 “BP_ThirdPersonCharacter” 蓝图编辑器面板中添加三个键盘事件 “1”,“2”,“3”。
设计一个按下键盘 “1” 键,就可以切换到等待其他玩家进入多人游戏的事件。在菜单栏(Menu Bar)下拉菜单中选择 “新建关卡” (New Level),选择 “Basic” 关卡(Level),在菜单栏(Menu Bar)下拉菜单中选择 “保存当前关卡” (Save Current Level),保存到 “Content/Thirdperson/Maps” 目录下,命名为 “Lobby”,表示这是其他玩家通过 LAN 连接后前往的关卡。
回到“BP_ThirdPersonCharacter” 蓝图编辑器面板。从节点 “1” 的 Pressed 引脚处拖拽出一条线,连接 “打开关卡 (按名字)” (Open Level (by Name))节点,并修改该节点的选项 “Level Name” 为 “Lobby”,修改选项 “Options” 为 “listen”,表示按下“1”就打开 “Lobby” 并指定其为监听服务器。
从节点 “2” 的 Pressed 引脚处拖拽出一条线,连接 “执行控制台命令” (Execute Console Command)节点,然后修改该节点的选项 “Command” 为 “Open 192.168.3.12”,表示当键入 “2” 时,当前的游戏实例将会与本机进行 LAN 连接,然后可以载入本机已经运行的关卡 “Lobby”,其中 “192.168.3.12” 是本机 IPv4
地址,可以通过在命令提示符中键入命令行 ipconfig
查看。最后点击工具栏的 “编译” 和 “保存” 按钮。
打包项目。在工具栏中选择 “平台”,接着选择 “Windows”,点击 “打包项目”,在弹出的资源管理器窗口中找到工程 “MPTesting” 目录,新建一个文件夹 “Build” 并选择。
Notes
- 如果出现 “SDK未设置” 错误提示 “Windows的SDK未正常安装,而其是生成数据的必需项。请检查主工具栏中“启动”菜单的SDK部分来更新SDK”,解决办法参见《UE5打包SDK未正确安装的问题》。
- 如果打包失败,出现错误提示 “
ERROR: No target name was specified on the command-line.
”,原因可能是因为C++
项目名称不合法,比如项目名称为Test
,或者出现了 “%-!
” 等特殊字符以及中文。
打包完成后可以看到 “Build” 目录下生成了 “Windows” 文件夹,其中包含 “MPTesting” 应用程序。将本机(姑且叫设备1)的这个 “Windows” 文件夹发送到另一台设备(姑且叫设备2)上以准备进行测试,确保两个设备在同一个 LAN 下。
在设备1上运行 “MPTesting.exe”,在游戏窗口打开后按下 “1” 键,可以看到成功由默认关卡 “ThirdpersonMap” 跳转到关卡 “Lobby”。
在设备2上运行 “MPTesting.exe”,可能会出现 “WARNING…” 对话框,直接点击 “确定” 按钮即可。游戏窗口打开后按下 “2” 键,可以看到成功由默认关卡 “ThirdpersonMap” 跳转到设备1的关卡 “Lobby”,并且关卡中有两个 Character。
本节课主要学习虚幻引擎内置的多人游戏测试功能,接着使用蓝图编写 LAN 连接事件,然后对项目进行打包并在两台设备上进行 LAN 连接测试。
在 4.2 通过局域网进行测试连接 的 步骤 7 中,如果打包项目时出现 “SDK未设置” 错误提示 “Windows的SDK未正常安装,而其是生成数据的必需项。请检查主工具栏中“启动”菜单的SDK部分来更新SDK”,解决办法参见《UE5打包SDK未正确安装的问题》;如果出现错误提示 “ERROR: No target name was specified on the command-line.
”,原因可能是因为 C++
项目名称不合法,比如项目名称为 Test
,或者出现了 “%-!
” 等特殊字符以及中文。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。