百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

UE4的NDisplay可构建Cave系统(ue4 createdefaultsubobject)

liebian365 2024-11-15 21:47 36 浏览 0 评论

官方文档,版本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

(3)将新建的事件放在相机旋转变化的事件之后

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显示效果搭建完毕。

相关推荐

msp的昌伟哥哥(伟昌怎么样)

佩戴HoloLens的多个用户可以使用场景共享特性来获取集合视野,并可以与固定在空间中某个位置的同一全息对象进行交互操作。这一切是通过空间锚共享(AnchorSharing)来实现的。为了使用共享服...

VOculus Rift、Gear VR平台开发者合作申请指南

编译/游戏陀螺案山子OculusHome平台——OculusRift和三星Gear主要的应用平台,包括PC版和移动版都可以使用。而现在使用的OculusShare平台,据悉将来也会整合到Ocu...

游戏中的"状态机”和"行为树”是什么?

状态机是一种模型,用于描述对象在不同状态下的行为和转换。在游戏里,状态机通常用于控制角色或NPC在不同状态下的行为。比如说,一个角色可以有多个状态,比如“待机”、“行走”、“攻击”、“受伤”等,每个状...

JetBrains Rider现已支持PS5和Xbox主机游戏开发

IT之家3月27日消息,Rider是一款由JetBrains出品的跨平台.NETIDE,在2024.3版本中,JetBrainsRider增加了对PlayStation5...

Unity WebGL 应用开发总结(unity webgl发布)

UnityWebGL应用开发总结1.开发环境软件版本Unity2020.1.0f1PyCharm2022.3.2Python3.7.32.编译WebGL对Unity项目进行WebGL编译时...

【6.Physics和动画】5.动画(动画电影)

5.动画现在,角色可以移动了,但在移动时形象一直不变,对于玩家来说比较生硬,本节中我们让角色在移动时能够播放动画。Unity2D游戏中,角色动画一般采用帧动画的形式来实现。所谓帧动画就是在每一帧显...

unity3d开发教程-开发环境搭建(unity3d开源项目)

一、安装Unity1、从官网下载UnityHub:https://unity.com/download,选择[DownloadforWindows]下载完成后,双击打开安装。一直点...

【2.UI元素】3.Panel and Button(ui界面元素)

3.PanelandButton3.1PanelPanel(面板)本质上就是预先设置好的Image。可以作为其他UI元素的父级。在层级窗口右击选择UI->Panel即可创建。...

揭秘!你玩的字节抖音小游戏制作流程公布

1.1注册字节开发者后台1.2Unity版本说明1.3检查AppID是否有效2.1创建项目2.2接入SDK3.1发布安卓Apk3.2发布双端WebGL3.3IOS15.4版本问题字节抖...

临时工闯下大祸《糖豆人》源代码更新时不慎泄露

这次《糖豆人》工作室Mediatonic的临时工闯下了大祸,在更新时一不留神把游戏的源代码给泄露了。当然,这次泄露之后,官方删除的动作也很快,但是没快过SteamDB创始人PavelDjundik...

为3D手游打造, Visual Studio Unity扩展下载

IT之家(www.ithome.com):为3D手游打造,VisualStudioUnity扩展下载7月30日消息,微软正式发布升级版VisualStudioToolsforUnity扩...

【2.C#基础】3.脚本入门(c# 脚本引擎)

3.脚本入门3.1脚本概要在上一节创建的脚本中,包含了一段模板代码,双击工程窗口中的脚本图标,系统自动打开代码编辑器(VSCode)可以看到代码如下图所示:说明:System.Collections...

unity专题:unitask库(1)(unitypackage)

UniTask是一个Unity引擎中的异步编程库,它可以帮助你在Unity项目中编写更简洁、高性能的异步代码。UniTask以Promise/Task的编程模式为基础,提供了与C#...

零基础带你看游戏内灰度效果实现原理

前言在Unity中实现后处理效果有两种方式:一种是通过使用Unity官方提供的Post-Processing插件。另外一种方式就是使用脚本获取到渲染后帧缓冲区的图像,再通过shader写后处理的效果,...

团结引擎自定义Scene视图的层叠面板和工具栏

团结引擎提供的了功能,可以为Scene视图添加层叠面板和自定义工具栏,这里学习官方的经典案例。创建层叠面板。总结需要三个步骤:1、创建编辑器脚本(需存放在Editor目录下)2、继承Overlay类,...

取消回复欢迎 发表评论: