官方文档,版本UE4.27
https://docs.unrealengine.com/4.27/zh-CN/WorkingWithMedia/IntegratingMedia/nDisplay/
可以参照文档了解NDisplay的相关内容。
1.创建工程,以第三人称射击游戏为例。
2.勾选插件,重启项目
nDisplay:
Switchboard:
3.项目设置,使得nDisplay起作用。按照提示重启项目
4.在项目中右键创建nDisplayConfig文件
出现对话框,可以选择模板也可以选择全新的。我们此例选择新的。
5.打开新建的配置文件并进行三幕拼接配置。如果点击编译会报警告
因为我们是单机测试加一个节点即可,如果需要多机器渲染那么按照需求添加。
弹出对话框,把IP填上,本机测试填127.0.0.1
其他按照需求修改
默认有一幕,然后添加两幕,并分别命名Left Front Right
结果如下图:
6.三个nDisplayScreen进行Transform设置以达到拼接目的
根据nDisplayScreen的屏幕比例进行等比设置缩放scale,这里选择16:9
三块屏参数如下:
7.对第5步创建的渲染节点根据屏幕块数增加node并命名。注意后面有Master的node为控制机
对三个node节点进行设置。三个节点无缝连接成一排。大小根据需求缩放。
下图为左边节点数据。Front的横轴位置右移768,Right的右移2*768即为1536
对node的子节点即代表的屏幕进行设置。VP_Left设置如下:
VP_Front和VP_Right对应Screen选择Front,Right
预览视图OutputMapping内显示的嵌套关系,三块屏幕横向放置。提示可以按照比例根据需求缩放,效果如下:
8.保存然后将设置完的nDisplayConfig文件拖到场景中。
9.为了让渲染效果随控制器变化,可以把nDisplayConfig放置在第三人称控制器下做子物体。nDisplayConfig初始化为0.
10.在第三人称控制器内加点逻辑,让nDisplayConfig的视角跟随控制器视角变化
(1)让鼠标显示,便于聚焦主屏幕。获取控制器下的子物体
(2)新建事件,把控制器的相机旋转赋给nDisplayConfig
文章来源地址https://uudwc.com/A/3w6LO
(3)将新建的事件放在相机旋转变化的事件之后
文章来源:https://uudwc.com/A/3w6LO
11.设置nDisplay的控制工具 Switchboard。
(1)在编辑器视口上方打开Switchboard。第一次安装会弹出安装窗口。这里要注意:环境链接非国内。如果安装完后,打不开Switchboard面板,那么是环境没装好。
(2)打开面板会出现如图窗口,点击Ok.如果ConfigPath和uProject为空则将uProject定位到当前项目即可自动填写
(3)添加设备nDisplay
(4)点击扫描配置文件按钮。看到配置文件,点击OK即可。
(5)结果如图:
(6)更改Switchboard的默认设置,图示关闭多人连接器
多屏显示设置如下图:启用多核支持,选择dx11增加兼容性,GPU数量改为1,进程质量选择Low,方便测试效果。
(7)打开Switchboard服务端监听
窗口会立刻窗口化
(8)运行Switchboard,点击设备连接
连接成功如图:
(9)点击开始所有已经连接的多屏设备
12.多屏效果如图:
为了看着效果好,可以把人物模型隐藏或者拖到相机之后。效果如图:
注意:鼠标点击左侧窗口或者选择左侧窗口方可控制运动和镜头
13.打包部署
正常打包即可。打完包,导出nDisplayConfig文件到打包的文件夹里。
14.关闭引擎后,switchboard不关闭。如果想单独起switchboard,那么需要追踪到switchboard.bat后,将其关联的路径进行修改。
15.修改switchboard配置,关联为打包好的项目。
清空uProject和EngineDir目录
修改nDisplayConfigFile位置为打包文件夹里导出的nDisplayConfig
nDisplayExecutableFilename改为打包后的exe
16.启动屏幕设备,看到效果。这样基本的Cave显示效果搭建完毕。