小游戏网站模板,ipc网站备案查询,做外贸网站效果图,哪里建设网站不需要备案本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P5 局域网连接#xff08;LAN Connection#xff09;》 的学习笔记#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版#xff0c;UP主#xff08;也是译者多人TPS完整教程》 —— 《P5 局域网连接LAN Connection》 的学习笔记该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版UP主也是译者为 游戏引擎能吃么。 文章目录 P5 局域网连接5.1 使用 C 编写函数实现 LAN 连接5.2 进行 LAN 连接测试5.3 Summary P5 局域网连接
本节课将介绍如何使用 C 函数而非蓝图编程实现 《P4 测试多人游戏Testing Mutiplayer》 的 LAN 连接逻辑并在两台设备上进行 LAN 连接测试。 5.1 使用 C 编写函数实现 LAN 连接
本小节将使用 C 函数而非蓝图编程实现 LAN 连接逻辑然后在两台设备上进行 LAN 连接测试。 在虚幻引擎编辑器菜单栏中选择 “工具” 然后在弹出的下拉菜单栏中点击 “打开 Visual Studio”。 Notes 需要先安装 Visual Studio Integration Tool 插件并在虚幻引擎插件浏览器窗口中启用 否则会出现错误提示 “增强型 Umreal Engine 支持需要使用免责的 Visual Studio Integration Tool 插件”。 安装方法参见官方文档《Install Visual Studio Tools for Unreal Engine》 以及 《解决ue4的Visual Studio Integration一直显示未安装》。 在右侧资源方案解决管理器中展开 “Games/MPTesting/Source/MPteting”找到 “MPTestingCharacter.h”添加打开 Lobby 关卡函数 “OpenLobby”并使用 “UFUNCTION” 关键字设置该函数属性为 “BlueprintCallable”蓝图可调用。将光标移动至 “OpenLobby()”上可以看到出现了一个 “刷子” 按钮点击按钮在弹出的下拉菜单栏中选择 “Create definition of OpenLobby in MPTestingCharacter.cpp”在 “MPTestingCharacter.cpp” 中就可以看到 Visual Studio 自动写好了函数定义的代码框架。同理再添加函数 “CallOpenLevel” 和 “CallClientTravel”它们将以两种不同的方式进行 LAN 连接。 /* P5 局域网连接LAN Connection*/
UFUNCTION(BlueprintCallable)
void OpenLobby() const;UFUNCTION(BlueprintCallable)
void CallOpenLevel(const FString Address);UFUNCTION(BlueprintCallable)
void CallClientTravel(const FString Address);
/* P5 局域网连接LAN Connection*/编写函数 “OpenLobby”、“CallOpenLevel” 和 “CallClientTravel”。 /* P5 局域网连接LAN Connection*/
void AMPTestingCharacter::OpenLobby() const
{UWorld* World GetWorld(); if (World) {// Uworld-ServerTravelhttps://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Engine/UWorld/ServerTravel/World-ServerTravel(/Game/ThirdPerson/Maps/Lobby?listen); // 作为监听服务器打开 Lobby 关卡}
}void AMPTestingCharacter::CallOpenLevel(const FString Address)
{// UGameplayStatics::OpenLevel: https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Kismet/UGameplayStatics/OpenLevel/// 先添加头文件 #include Kismet/GameplayStatics.hUGameplayStatics::OpenLevel(this, *Address);}void AMPTestingCharacter::CallClientTravel(const FString Address)
{APlayerController* PlayerController GetGameInstance()-GetFirstLocalPlayerController();if (PlayerController) {PlayerController-ClientTravel(Address, ETravelType::TRAVEL_Absolute); // UGameplayStatics::OpenLevel 接收 FNanme 类型输入而 PlayerController-ClientTravel 接收 FString 类型输入}
}
/* P5 局域网连接LAN Connection*/Notes 通过在内容浏览器中悬停鼠标至 Lobby 上可以查看相对路径 /Game/ThirdPerson/Maps/Lobby?listen 进行 PIE 测试时出现以下报错信息Lobby 关卡无法打开但将项目打包后运行可以正常打开具体原因未知。 代码写好后进行编译并生成解决方案。这里有两种方案 ① 离线编译不推荐需要先关闭虚幻引擎编辑器否则会报错见下图然后在 Visual Studio 菜单栏中选择 “生成(B)”在下拉菜单栏中点击 “生成解决方案(B) F7” 或 “重新生成解决方案(B) CtrlAltF11” 或者直接像教学视频那样使用快捷键 CtrlShiftB。 ② 实时编译※强烈推荐使用快捷键 CtrlAltF11编译过程会弹出虚幻引擎的 Live Coding 窗口无需先关闭虚幻引擎编辑器然后再重启打开项目进行代码的测试。 转到 “BP_ThirdPersonCharacter” 蓝图编辑器窗口删除先前从节点 “1”、“2” “Pressed” 引脚处连接的节点然后再分别从节点 “1”“2”“3” 的 “Pressed” 引脚处连接我们自己新定义的节点 “OpenLobby”、“CallOpenLevel” 和 “CallClientTravel”并且修改“CallOpenLevel” 和 “CallClientTravel” 的 “Address” 选项为本机设备1 IP 地址。最后点击工具栏上的 “编译” 和 “保存” 按钮。 5.2 进行 LAN 连接测试
本小节将将项目打包后在两台不同的设备上测试 LAN 连接。 在设备 1 上将项目打包后运行 “MPTesting.exe”在游戏窗口打开后按下 “1” 键可以看到成功由默认关卡 “ThirdpersonMap” 跳转到关卡 “Lobby”。 将打包好的项目发送到另一台设备设备 2上进行 LAN 连接测试。在设备 2 上运行 “MPTesting.exe”在游戏窗口打开后按下 “2” 键或 “3” 键均可以看到成功由默认关卡 “ThirdpersonMap” 跳转到设备1的关卡 “Lobby”并且关卡中有两个 Character说明前文的两种 LAN 连接方式均可行。 5.3 Summary
本节课介绍了如何使用 C 函数而非蓝图编程实现 《P4 测试多人游戏Testing Mutiplayer》 的 LAN 连接逻辑以及在两台设备上再次进行 LAN 连接测试。
在 5.1 使用 C 编写函数实现 LAN 连接 的 步骤 1 中打开 Visual Studio 时如果出现错误提示 “增强型 Umreal Engine 支持需要使用免责的 Visual Studio Integration Tool 插件”则需要先安装好 Visual Studio Integration Tool 插件可以参阅官方文档《Install Visual Studio Tools for Unreal Engine》。 在 步骤 4 中编译项目时推荐使用按下快捷键 Ctrl Alt F11 进行 实时编译 的方法因为这不需要先关闭虚幻引擎编辑器然后再重新启动以检验代码编译后的效果。