UE5 ndisplay 实现一个电脑两个屏幕
一 正式开始前必看
UE版本5.8
1 什么是多屏
多屏有两种方式
1 两个显示器直接插显卡上,这样windows会识别为两个显示器,这是本文所讨论的多屏
2 两个显示器使用硬件融合或软件融合,让windows识别为一个显示器
这样在物理上是一个显示器,UE会认为是一个显示器,此时按普通单显示器程序处理即可,无需参考本文
2 ndisplay不是用来做多屏的
ndisplay真正要解决的是集群渲染的问题,让多个电脑分别渲染一部分内容,然后同步输出到各自的屏幕上,他只不过是刚好可以用来做一机多屏,而且用它来做一机多屏资产过重,能不用就不要用
3 不用display如何实现多屏渲染
对于规则的横向或竖向排布,完全可以用无边框全屏代替ndisplay,只需要打包一个普通的单屏程序,然后创建一个快捷方式,添加启动参数,即可跨屏显示,不要觉得没有全屏,即使用了ndisplay,也同样不能全屏
1 | -ResX=3840 -ResY=1200 -WinX=0 -WinY=0 -WINDOWED -Borderless -ForceRes |
windows 窗口化
borderless 无边框
什么时候用ndisplay
1 屏幕不规则,例如一个房间地板和墙壁都是屏幕, 分辨率 不好设置,此时需要用ndisplay摆位置
2 你真的需要用多个电脑进行集群渲染
二 ndisplay的组成部分
1 ndisplay本身
Cluster:簇,说人话就是电脑集群,一个电脑也是集群
Host:一个电脑
Node:节点,就是一个物理屏幕
VP:viewport,视口,一个物理屏幕里可以划分更小的视口,就是切割你的显示,画出不同区域显示不同内容。
对于双屏,正确的做法是单Node,双VP,因为双Node会导致鼠标只能在主node输入,副bode输入有延迟,UI渲染两份的问题
2 swtichboard
他不是ndisplay,他只是可以用来启动使用了ndisplay的UE程序。
用来管理簇,录制视频等,只有在你正在需要多机协同时才有用。
由于本文只讨论一个电脑连两个显示器的情况,这个软件是完全没有存在的必要的。
三 使用Ndisplay
1 导入 插件
ndisplay:是插件本体
ndisplaylaunch:可以在编辑器里快速启动ndisplay,不需要switchboard也能看到结果,不要尝试直接运行程序,结果肯定是不对的,编辑器里必须要用ndisplaylaunch或switchboard来启动程序
导入后重启UE
2 配置ndispaly
内容管理器,右键/虚拟制片/ 创建一个ndisplay配置,如果是早期版本,没有虚拟制片分类,但是有ndisplay分类
首先新增一个簇节点,注意调整成你想要的分辨率
这将会自动创建一个Ndoe和一个vp
vp是可以拖拽修改位置的,他将决定最后图像如何在显示器上显示,但是不建议拖拽,应该只选中它,然后修改属性值
ctrl+d复制vp_0,创建vp_1
调整VP_0的属性
调整VP_1的属性
调整完应是这样
左上角,组件部分,复制一个屏幕出来,重命名屏幕为屏幕1和屏幕0
这两个东西可以理解为现实中的显示器,他们决定了显示器的位置和显示的内容
默认为16:9,可以在属性中修改
摆好他们的位置,注意中间不要留缝,如果有缝,画面也会不连贯,由于现在单个屏幕宽度为100,所以他们的Y位置应该是正负各50
选择VP0,为他指定刚才创建的屏幕0,VP1同理,注意Node的摆放位置和顺序要和屏幕一致
效果
场景中除了屏幕,还有一个视点,这是用户的最佳观看位置,两个屏幕的画面都是根据示点位置计算的
将创建好的ndisplay拖入场景中
如果你安装了ndispalylauncher,可以选择用哪个配置启动,以及要启动哪些节点
然后点击ndisplaylauncher的运行图标即可,不要点击传统的播放按钮
四 打包并启动
1 显示器布置问题
windows的主显示器必须在最左边,因为ndisplay的node坐标不能为负
2 导出ndc
ndc就是ndisplay的配置文件,可以直接从编辑器的配置文件导出
使用bat文件启动程序时,需要先加载ndc
3 打包后启动
不要直接点击exe运行,需要用命令行启动,这是一个预制的bat文件
1 | @echo off |




























%E5%AD%A6%E4%B9%A0%EF%BC%9AK8S%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B_kubernetes%20%E6%A1%88%E4%BE%8B/fe31cbdc5c6427a41c8a02c4bd278421.png)
%E5%AD%A6%E4%B9%A0%EF%BC%9Apod%E6%A6%82%E5%BF%B5%E5%8F%8A%E7%9B%B8%E5%85%B3%E6%93%8D%E4%BD%9C_kubectl%20%E8%BF%9B%E5%85%A5pod/7b2c22f6722174f5022fe7a9e34dbebd.png)
