【虚幻引擎】UE4/UE5像素流在广域网上(云)部署(多实例)

8 篇文章 11 订阅

B站教学链接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0


一、选择云服务器

         每个云平台都提供许多预设的镜像选择,由于像素流技术目前只支持Windows操作系统,所以我们需要选择Windows Server的镜像,2012/2016/2019皆可。我们这里选择了Windows Server 2016 R2 简体中文版的镜像,之所以选择这个版本主要原因AWS 中国直接提供了这个版本下显卡的GRID驱动,省去了去Nvidia网站申请试用的麻烦。另外Community AMI 里有Windows Server with Tesla Driver的镜像,但这里的驱动不是GRID驱动,所以还是需要按照下文安装GRID驱动。

广域网部署与云部署的区别在于本地广域网需要自己有公网IP且在路由器配置中设置端口映射等,而云部署不需要。所以这里我们选择了阿里云服务器来实现像素流的云部署。

二、阿里云服务器

配置云服务器端口 ,开放80端口访问,并将需要被访问和准备推流的端口都进行开放处理,我开放了60-90等等

 三、选择UE的相关文件上传到云服务器上

  可以选择上传整个Engine文件夹

 也可以选择上传Engine\Source\ThirdParty\WebRTC和Engine\Source\Programs\PixelStreaming\WebServers下面的Matchmaker和SignallingWebServer

 三、配置上传到云服务器的相关参数

首先配置WebRTC里面的Start_AWS_TURNServer.ps1,如下,修改LoaclIP为127.0.01。

然后配置信令服务器, SignallingWebServer里的Start_AWS_WithTURN_SignallingServer.ps1,将IP填写为公网IP,比如是$PublicIp = "12.34.56.78"

然后配置分配服务器,Matchmaker里面的matchmaker.js,这里的端口与上面配置阿里云入方向策略的端口一致。

 复制一个信令服务器,进行多实例操作

 配置第一个信令服务器,开启分配服务器,配置config.json中UseMatchmaker:true,配置cirrus.js如图示

 配置第二个信令服务器,开启分配服务器,配置config.json中UseMatchmaker:true,配置cirrus.js如图示

 启动服务器,依次执行,启动Start_AWS_TURNServer.batStartSTUNServer.batMatchemaker\run.bat,以及两个信令的runAWS_WithTURN.bat

四、配置本地电脑UE程序

  • 创建两个推流快捷方式,IP为上文公网IP,端口为信令配置的端口,启动参数如下
  • -AudioMixer - PixelStreamingIP=12.34.56.78 -PixelStreamingPort=7777 -RenderOfScreen
  • -AudioMixer - PixelStreamingIP=12.34.56.78 -PixelStreamingPort=6666 -RenderOfScreen

 运行两个程序,到此即可。

 五、遇到的无法连接的一些坑

  • 环境配置要正确,刚买的服务器可能没有UE的一些配置环境,比如缺少.NET Framework3.5,NodeJS等配置环境
  • 虚幻引擎提供的启动脚本中,是通过Invoke-WebRequest的方式来自动获得公网或者局域网IP地址,有时候并不能正确获得,这时候你可以在脚本中手工指定正确的公网IP或者局域网IP的方式来设置。
  • 启动TURN服务的情况没有成功启动

  • 没有使用云服务器的用户,需要用到路由器的用户需要配置NAT进行映射检查

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: UE5支持多实例像素流,这使得从多个场景或渲染出来的图像流中进行选择和精确的定位成为了可能。在处理多实例像素流时,我们需要进行动态调度,以便快速准确地找到所需的像素流并处理。 动态调度涉及到从多个像素流中选择目标像素流,这需要依据需求的准确度和速度来进行选择。UE5提供了多种动态调度技术,包括最近邻、高斯加权、双三次插值等,使用这些技术可以使得选择过程更为准确,并且可以提高处理速度。 另外,UE5还提供了处理鼠标偏移的功能。鼠标偏移是指在多视角操作时,鼠标的运动与场景中的运动不一致,这会导致观察画面的不便。UE5通过实时计算场景中的物体位置和方向,并将鼠标运动转化为相对于物体的运动,从而实现了处理鼠标偏移的功能。 总的来说,UE5的多实例像素流和处理鼠标偏移的功能,使得多视角操作更为方便和精确,在游戏制作和虚拟现实场景中具有重要的应用价值。 ### 回答2: UE5中的多实例像素流是一种在GPU上实现的计算模式,它可以同时处理多个像素的计算任务,在某些情况下可以极大地提高渲染效率和性能。 在多实例像素流中,像素位置的计算是并行和分离的,每个像素的计算可以独立进行,这就需要一个动态的调度算法来决定每个像素计算的先后顺序,以保证计算结果的正确性和渲染效果的稳定性。 UE5中的动态调度算法是一种基于像素之间依赖关系的优先级排序方法,它可以根据像素之间的依赖关系和计算量大小来动态调整像素的计算顺序,使得计算任务的负载均衡和并行性能得到了很大的提升。 在动态调度算法中,还需要考虑到鼠标的偏移情况,以保证鼠标的交互时不会出现卡顿和延迟等问题。为此,UE5中实现了一种智能调度策略,可以动态地根据鼠标的偏移来调整像素的计算顺序,以保证鼠标的交互响应性能和渲染效果的质量。 总之,UE5中的多实例像素流和动态调度算法为游戏开发者提供了一种高效、稳定和灵活的渲染技术,可以极大地提高游戏的性能和游戏体验。 ### 回答3: UE5的多实例像素流是一种新的技术,其能够极大地提高游戏的性能和画质。其另一个优势在于可以动态调度和处理鼠标偏移,这意味着当玩家鼠标的位置发生变化时,游戏画面也会动态地进行调整,从而保证玩家游戏体验的流畅性和真实性。 在多实例像素流中,游戏画面被分成若干个小的“实例“,每个实例都是独立地进行计算和绘制。这样做的好处在于可以并行处理每个实例,从而提高游戏的帧率和画质。不过在进行鼠标偏移的处理时,这种并行计算会带来一些挑战。 具体来说,当玩家移动鼠标时,游戏需要立即对鼠标位置进行响应。如果使用传统的单线程方法,游戏需要先处理完整张画面才能响应鼠标的移动,这会导致游戏的响应速度变慢。而在多实例像素流中,每个实例都是独立地进行绘制和计算的,因此在处理鼠标偏移时,游戏可以先对当前实例进行特殊处理,从而迅速响应玩家鼠标的移动。 具体而言,当玩家移动鼠标时,游戏首先会检测当前的鼠标位置,并确定鼠标所在的实例。如果鼠标移动范围只涉及到一个实例,那么游戏会直接对该实例进行特殊处理,从而迅速响应玩家鼠标的移动。如果鼠标移动范围涉及到多个实例,游戏则需要动态调度这些实例的绘制,保证画面的一致性和流畅性。 总之,UE5的多实例像素流可以动态地调度和处理鼠标偏移,从而提高游戏的响应速度和流畅度。这不仅可以增强玩家的游戏体验,还可以促进游戏产业的发展和进步。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞起的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值