基于ue4的云渲染目的在与将ue4实时渲染图像帧通过视频流的方式一帧一帧的传到浏览器端,主要是因为基于web的三维渲染效果不佳,通过ue4的强大渲染能力与各种功能的支持能力使得网页端也可以实时看到好的效果。
这个过程服务之间使用的是反向代理的机制,过程大概分为三个应用:
前端------(控制命令与视频流)node信令服务--------ue4视频流服务。
知识准备工作:
1、前端:web端需要通过html+js的方式显示视频与后端交互,需要熟悉前端的一些知识;
2、信令服务:基于nodejs开发的服务,接受前端发送过来的命令,并将命令转发到ue4服务端,同时接受ue4服务端发送过来的视频流与其他信息转发给前端;
3、ue4服务端:接收信令服务的控制命令信息,根据命令调用相应的功能进行渲染,将渲染结果发送给信令服务。
开发过程:
1、建立ue4工程(本人使用的是4.26版本)名称是"Test",开启"Pixel Streaming"插件。
2、打包工程,打包之后会在生成的目录中包含"node的信令服务",例如:打包目录"D:\WindowsNoEditor",
3、信令服务
信令服务的目录是 "D:\WindowsNoEditor\Engine\Source\Programs\PixelStreaming\WebServers",在"WebServers\SignallingWebServer"文件夹下,包含一些用于启动node的批处理文件。例如run.bat文件
:: Copyright Epic Games, Inc. All Rights Reserved.
@echo off
pushd %~dp0
call setup.bat ::调用另一个批处理文件(用于安装依赖的npm包)
title Cirrus ::窗口标题
::Run node server
::If running with frontend web server and accessing outside of localhost pass in --publicIp=<ip_of_machine>
node cirrus %* ::启动js脚本服务
popd
pause
其中cirrus.js文件会读取"config.json"中的配置信息启动node服务,这些配置信息比较重要的是一些ip地址和端口,"config.json"如下:
{
"UseFrontend": false,
"UseMatchmaker": false,
"UseHTTPS": false, //是否使用https
"UseAuthentication": false, //认证信息
"LogToFile": true,
"HomepageFile": "Player.htm", //访问的主页
"AdditionalRoutes": {},
"EnableWebserver": true,
"httpPort": 82, //前端网页的访问地址
"streamerPort": 8888 //ue4流服务的注册地址
}
由于"run.bat"目录比较深,可以使用快捷方式或者重新定义bat的方式启动,例如:
::信令服务启动
@echo off
call "WebServers/SignallingWebServer/run.bat"
启动信令服务之后会出现下面的

该文详细介绍了如何利用UE4的云渲染功能将实时渲染图像帧通过视频流传输到浏览器。开发过程包括前端、基于NodeJS的信令服务和UE4服务端的设置,涉及命令转发与接收。通过UE4的强大渲染能力,提供优质的网页端三维体验。此外,文章还展示了前端与UE4服务端的命令交互实现。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



