UE5.3 流送关卡名称获取方式 兼容运行时与编辑器

UE5.3流送关卡名称获取:运行时与编辑器兼容

应用场景

需要在编辑器、运行时都能获取到流送关卡的资产名称,而非带有路径的名称或者编辑器拷贝对象名称。

难点

编辑器上,流送关卡名称会因为编辑器自己复制一份流送关卡导致关卡资产的包名称发生变化,例如增加UEDPIDd_0_等。该前缀,运行时没有。
运行时:大多数带有路径。

方法

找不到一个通用的接口或者属性可以满足编辑器和运行时,所以分开处理两种情况啦。示例代码如下:

 // 遍历所有流关卡(包括尚未加载的)
        for (ULevelStreaming* StreamingLevel : PersistentWorld->GetStreamingLevels())
        {
            //如果StreamingLevel的关卡名在LevelNameArray中,则在加载前设置不可见
        
		#if  WITH_EDITOR
            LevelObjectName = FPackageName::GetShortName(StreamingLevel->PackageNameToLoad); //打包后,会变成相对路径,无法匹配
		#else
			LevelObjectName = FPackageName::GetShortName(StreamingLevel->GetWorldAssetPackageName());
#endif`
### 局域网中使用 Unreal Engine 5.3 进行像素的配置 #### 1. 环境准备 为了成功实现局域网中的像素,需先完成必要的准备工作。确保已下载并安装 Node.js,因为它是运行信令服务器的关键依赖项[^1]。 此外,由于 UE5.3 的 Pixel Streaming 插件已被迁移到 GitHub 官方仓库中,因此需要手动获取当前引擎版本匹配的插件源码,并将其集成到项目中。具体操作如下: - 访问 [Unreal Engine GitHub](https://github.com/EpicGames/UnrealEngine/tree/release/Plugins/Runtime/PixelStreaming) 并克隆适用于 UE5.3 的分支。 - 将插件文件夹复制至项目的 `Plugins` 文件夹下。 - 启动编辑器后重新加载项目以启用该插件。 #### 2. 配置信令服务器 信令服务器作为客户端服务端之间的桥梁,负责传输连接所需的元数据。以下是设置方法: - 使用 Node.js 创建一个新的目录来存储信令服务器代码。 - 初始化 npm 项目并通过以下命令安装必要模块: ```bash npm init -y npm install ws express body-parser cors ``` - 编写信令服务器脚本(例如命名为 `signallingServer.js`),其核心逻辑基于 WebSocket 和 Express 实现: ```javascript const http = require(&#39;http&#39;); const WebSocket = require(&#39;ws&#39;); const express = require(&#39;express&#39;); // 设置 HTTP 服务器 const app = express(); app.use(express.json()); app.use(require(&#39;cors&#39;)()); // 创建 WebSocket 服务器实例 const server = http.createServer(app); const wss = new WebSocket.Server({ server }); wss.on(&#39;connection&#39;, (ws) => { console.log(&#39;Client connected.&#39;); ws.on(&#39;message&#39;, (message) => { console.log(`Received message: ${message}`); // 广播消息给其他客户端 wss.clients.forEach((client) => { if (client !== ws && client.readyState === WebSocket.OPEN) { client.send(message); } }); }); ws.on(&#39;close&#39;, () => { console.log(&#39;Client disconnected.&#39;); }); }); server.listen(8080, () => { console.log(&#39;Signaling server is running on port 8080.&#39;); }); ``` 启动上述脚本前,请确认防火墙允许访问指定端口(默认为 8080)。如果计划部署于局域网环境,则应绑定实际 IP 地址而非 localhost[^2]。 #### 3. 虚幻项目设置 在虚幻编辑器内部调整若干参数以便支持多用户场景下的像素功能: - 打开目标地图资源,在细节面板找到“Pixel Streaming”部分开启相关选项; - 如果希望自定义分辨率或者帧率等画质表现,可通过修改对应的 INI 文件达成目的; 对于每台欲参测试的设备而言,均需创建独立快捷方式指向同一执行程序路径的同附加特定命令行参数用于区分身份标识以及通信地址信息: ```plaintext -PixelStreamingIP=<YourLANIPAddress> -PixelStreamingPort=88XX -log -RenderOffScreen ``` 此处 `<YourLANIPAddress>` 应替换成为主机真实的本地网络 IPv4 数字串形式表示法,而端口号则建议依次递增避免冲突现象发生。 #### 4. 测试验证 当以上各环节均已妥善布置完毕之后,便可尝试发起联机互动体验活动啦!只需分别点击各个终端上的专属入口链接就能迅速加入房间共同探索虚拟世界咯~ --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值