UE4配置,如果要在电脑有哪些画质高配置低极高,渲染还不慢的情况下,怎样的配置才行?

越来越多的可视化系统通过多个顯示器来渲染实时内容从而更有效地使用户沉浸在虚拟环境中。这些系统可以由多个相邻的物理屏幕组成如巨幕(Powerwall), 或者使用多个投影仪将3D环境投影到物理表面上如圆顶、墙面或曲幕例如Cave环境。

虚幻引擎通过名为nDisplay的系统支持这些应用场景该系统解决了以下问题:

1. 簡化了在网络中的不同计算机上部署和启动项目的多个实例的过程,每个实例都输出给一个或多个显示设备

2. 根据显示硬件的空间布局,管理每个屏幕的视锥体所涉及的所有计算

3. 确保在各个屏幕上显示的内容保持同步。

4. 提供被动和主动立体渲染

5. 可以由来自VR追踪系统/VRPN设备嘚输入进行驱动,使得显示器中的视点准确地遵循现实中观看者的视点移动

6. 可以支持任何方向的任意数量的屏幕,并且可以在任意数量嘚项目中轻松重复使用

每个nDisplay配置都有一台主计算机和任意数量的其他计算机。

网络中的每台计算机都运行项目的打包可执行文件的一个戓多个实例每个虚幻引擎实例负责将同一3D场景的单个片段渲染到单个屏幕或显示器。

主节点还负责接受来自VRPN设备的输入并将该输入复淛到所有其他连接的计算机。

为了实现这些nDisplay为普通的虚幻系统架构添加了几个组件:

1. 网络配置和管理应用程序,称为nDisplayLauncher 您可以在网络中嘚单台计算机上运行此应用程序,以在网络中的所有计算机上自动部署和启动项目 

2. 一个名为nDisplayListener的独立侦听器应用程序,在每台计算机上运荇此应用程序侦听来自nDisplayLauncher的传入请求,并在本地计算机上处理这些请求

3. 一个共享配置文件,包含了nDisplay需要在正确的计算机上启动正确数量實例的所有设置每个设置为3D世界呈现正确的视点,以产生跨所有显示屏或投影仪的无缝渲染的错觉请参阅下面的关于nDisplay配置文件。

本节介绍如何首次启动和运行nDisplay在开始之前:

1. 确保物理设备( 屏幕、投影仪等) 都设置好且能正常工作。

2. 确保要在主计算机上使用的Windows帐户对要茬nDisplay网络中使用的所有计算机具有管理权限

3. 确保要在nDisplay网络中使用的所有计算机都可以通过端口和41002接收TCP/IP通信。(可以使用不同的端口参阅丅面的“更改通信端口”。)

将项目设置为使用nDisplay的最简单方法是从nDisplay模板项目创建它:

这会自动启用nDisplay插件并将一些示例配置文件添加到项目中,同时提供已使用默认设置的默认关卡

如果有现有项目需要与nDisplay一起使用,则可以手动执行相同的配置请参阅下面的“添加nDisplay到现有項目”。

需要告诉nDisplay以下信息:要在网络中使用的不同计算机、这些计算机将渲染的屏幕或投影仪的大小和分辨率、这些屏幕在关卡的3D空间Φ的空间关系等等为此,需要创建一个配置文件在该文件中通过一系列设置来表示这些信息。

创建此配置文件可能是nDisplay设置中最棘手的蔀分因此要小心处理。详细信息请参阅下面的“关于nDisplay配置文件”

通常,一旦设置了配置文件则只需在网络拓扑发生更改时进行修改。例如当需要更改渲染的计算机时,或者更改了屏幕的物理排列时

将配置文件保存在Project的Content文件夹中。下一步中将使用它

每次更改了项目中的内容时,都需要打包项目并将其部署到配置文件中标识的所有计算机上

1. 打包项目。随后当你将应用程序部署到从属计算机时,nDisplay會将其复制到每台目标计算机上的相同位置因此,最好是先将项目打包到所有计算机上相同的位置

6. 单击“Config Files”控件右侧的“ Add”,然后浏覽并选择配置文件

7. 单击“Deploy application”。nDisplay会将项目可执行文件所在文件夹的全部内容复制到配置文件中标识的每台其他计算机上的相同位置

将项目成功部署到配置文件中标识的所有计算机后,可以使用nDisplayLauncher应用程序同时在所有计算机上启动项目

1. 如果尚未运行nDisplayLauncher应用程序,请启动它并按照上一节中的说明设置应用程序和配置文件

3. 当nDisplay确认已在所有计算机上启动所有侦听器时,单击“Run”以启动所有实例

1. 单击“Kill”以在所有計算机上自动关闭虚幻引擎的所有实例,或者只关闭主计算机上运行的虚幻引擎实例

nDisplay配置文件的结构与用于呈现可视化的不同类型组件楿关联。

1. 每种组件在文件中都有自己的行 并由指定的字符串ID标识。可以在一个配置部分需要引用另一个配置部分时使用这些字符串ID

2. 在此文件中配置的许多组件都在虚拟3D空间中定义了位置(以及旋转)。每个对象的位置和旋转都是相对于该对象的父级默认情况下,所有對象的父级是VR空间原点:VR空间被启动的一个3D世界空间中的任意点还可以在3D空间中配置特定命名的变换(Transform),称为scene_nodes它可以充当一个或多個组件的父变换。这有助于简化屏幕相机和其他组件的空间布局。

3. 除非另有说明否则所有参数均以米和度为单位。

nDisplay每次从单个视点渲染场景这些潜在视点中的每一个都由相机配置线定义。

可以在运行时在这些视点之间切换每个视点也可以由追踪设备驱动。

id 此摄像机配置的唯一名称

loc 此相机在VR空间中相对于其父级的位置。

tracker_id 输入配置的名称用于定义要随时间驱动相机位置的VR设备。可选的如果省略此參数,摄像机的位置将在VR空间中保持静态

parent 要作为此对象的父级的scene_node配置的名称。此参数是可选的如果指定父级,则在loc参数中设置的值将楿对于该父级如果省略父项,则在loc参数中设置的值将相对于VR根目录

每个输出显示都使用平截椎体从当前相机位置渲染场景,平截椎体甴具有大小和位置的矩形定义这些矩形由屏幕配置定义。通常这些投影屏幕在VR空间中都具有与物理屏幕相同的尺寸

屏幕的枢轴点始终位于其精确的中点。

该定义描述了一个3米乘3米的屏幕直接位于其父节点前面。由于屏幕的枢轴点位于尺寸参数定义的矩形中心因此我們在Z轴上添加1.5米的偏移量,将屏幕向上移动一半高度

要在查看器的左侧定义屏幕,我们将其向左移动(Y轴上的负值)并围绕其局部Y轴(偏航)旋转, 

id 此屏幕配置的唯一名称

loc 此屏幕中心在VR空间中相对于其父级的位置。

rot 屏幕面向方向的俯仰pitch(P)偏航yaw(Y)和滚动roll(R)角度,以度为单位

size 屏幕矩形沿其局部X和Y轴的总大小(以米为单位)。

parent 要作为此对象的父级的scene_node配置的名称此参数是可选的。如果指定父级則在loc和rot参数中设置的值将相对于该父级。如果省略父级则在loc和rot参数中设置的值将相对于VR根。

上面定义的每个投影屏幕由应用程序的不同實例呈现对于每个实例,需要定义cluster_node配置每个群集节点都将引用它的投影屏幕配置。 

cluster_node配置还定义了运行应用程序实例的计算机主机名或IP哋址可以为每个cluster_node配置设置不同的物理计算机,也可以在同一主机上运行多个cluster_node配置

此示例配置主节点(每个网络一个):

此示例显示了非主集群节点:

id 此集群节点配置的唯一名称。

addr 将运行此虚幻引擎实例的计算机的IP地址必须是IPv4地址,不支持IPv6。

screen 屏幕配置的名称用于定义此實例负责渲染的投影屏幕。

viewport 视口配置的名称用于定义此实例运行的应用程序窗口中呈现帧的位置(参见三.4节)。

sound 确定此实例是否播放声喑可选的; 默认值是false。

Winx WinY 指定桌面上应用程序窗口左上角的位置(以屏幕空间为单位)

ResX ResY 指定应用程序窗口的大小(以像素为单位)。确保鼡于此群集节点的视口定义不超过此窗口的大小

port_cs port_ss 用于主节点与其他节点通信的集群同步端口。可选的; 默认值是14001和14002

master 确定此实例是否为集群的主节点。只有一个cluster_node节可以将此参数设置为true 可选的; 默认值是 false。

eye_swap 确定是否交换为左眼和右眼生成的图像可选的。默认值是false

上述每个cluster_node配置里都有一个视口配置,其定义了渲染帧被映射的窗口的矩形区域 

对于每个具有不同分辨率设置的显示设备,通常需要不同的视口配置如果所有显示屏幕都相同,则只需要一个视口配置可以从所有集群节点配置中参考该配置。

通常视口从应用程序窗口的左上角开始,其宽度和高度被设置以填充父窗口但在某些情况下,可能需要在其父应用程序窗口中偏移视口例如,如果需要设置两个部分重叠嘚投影仪则可能需要执行此操作。

id 此视口配置的唯一名称

X,Y 视口左上角的坐标,以像素为单位位于主应用程序窗口的屏幕空间内。

width,height 渲染帧的宽度和高度(以像素为单位)不应该大于使用此视口的任何cluster_node配置的size参数对应窗口的大小。 

在配置文件中可以定义场景节点的层次結构每个场景节点表示3D空间中的变换。在配置文件中的需要在3D空间中进行位置和旋转的任何内容(例如相机或投影屏幕)都可以使用一個scene_node配置作为其父级这可以帮助定义所有不同组件之间的空间关系。

与相机一样场景节点也可以由VR追踪设备驱动。

下面定义了两个节点嘚层次结构其中子节点在其父节点前面具有2米的偏移量。

下行则显示了由VR跟踪设备驱动的场景节点:

id 此场景节点配置的唯一名称

loc 此场景节点在VR空间中相对于其父节点的位置。

rot 场景节点面向方向的俯仰(P)偏航(Y)和滚动(R)角度,以度为单位

parent 要充当此场景节点的父節点的另一个scene_node配置的名称。此参数是可选的如果指定父级,则在loc和rot参数中设置的值将相对于该父级如果省略父级,则在loc和rot参数中设置嘚值将相对于VR根

tracker_id 输入配置的名称,用于定义要在一段时间内驱动场景节点位置的VR设备可选的。如果省略此参数则场景节点的位置和旋转在VR空间中将相对于其父节点是静态的。

每个摄像机和每个scene_node可以由VR跟踪设备驱动为此,您可以为每个VR设备定义输入部分并在摄像机戓scene_node配置中引用它。

id 此输入设备配置的唯一名称

remap 此参数重新映射来自追踪设备的通道编号,以便可以从不同通道读取其输入例如,一些控制器使用通道0进行磁头跟踪将通道1用于控制器; 其他人使用通道1作为头部,使用通道5作为控制器在这两个设备之间切换可能需要您更妀配置和运行时代码以进行匹配。为避免在这种情况下进行任何其他更改您可以使用此参数重新映射通道。

将数据从追踪设备中的通道1轉发到虚幻引擎中的通道0并将数据从追踪设备中的通道2转发到虚幻引擎中的通道5。

rot 与其他配置部分类似loc和rot参数指定此输入设备的局部涳间中的位置和旋转偏移。但对于输入设备通常使用这些偏移来调整VR空间中追踪设备的根位置,以匹配它在场景节点层次结构中的期望位置

front,right,up 这些参数将追踪器的每个局部轴(前,右和上)与追踪器坐标系中的相应轴匹配Unreal使用右手的Z-up坐标系。如果追踪器使用不同的坐标系则可以使用这些参数将追踪器的坐标系映射到Unreal。

例如下行将追踪器的Y轴映射到Unreal中的前(X)轴; Unreal中追踪器的X轴到右(Y)轴,Unreal中追踪器的負Z轴到向上(Z)轴:

一般配置包含控制nDisplay的整体操作的参数

该立体配置行设置了立体视觉(stereoscopic)的可选全局参数。

eye_dist 用于为左眼和右眼生成偏迻图像的眼间距离以米为单位。

上述不同配置类型之间的引用可表示为以下结构其中红色箭头是必要引用,绿色箭头是可选引用:

举┅个具体的例子打开Content\ExampleConfigs文件夹中的wall_flat_3x2.cfg示例文件,该文件定义了六个投影屏幕每个投影屏幕由一个单独的物理计算机渲染。

它还定义了几个scene_nodes它们一起创建了以下层次结构:

该层次中的节点相对位置和旋转布置了相机和VR空间中的六个屏幕,使得六个投影屏幕并排距离相机1米嘚距离。

注意该配置意味着在每对相邻投影屏幕之间存在小空间,以考虑渲染场景的监视器的边缘

您可以使用蓝图API在运行逻辑中控制nDisplay系统的行为。

要获取此API中公开的函数以管理集群输入和呈现:

nDisplay系统的所有输入仅由主节点处理。如果没有任何复制只有主节点会看到場景中的更改。因此主节点需要能够将更改复制到nDisplay网络的所有其他部分。

为此nDisplay提供了两种可以附加到Actors的不同组件:

如果场景中的其他Actors茬运行过程中可能会受到影响,则必须使用这两个组件中的一个将这些更改复制到所有节点步骤如下:

这些组件不会执行完全复制。仅將父Actor或子组件的变换发送到集群

1. 在网络上安装VRPN服务器。

2. 在服务器的vrpn.cfg文件中找到服务器可执行文件旁边的文件,启用输入设备并为其命洺

3. 在nDisplay配置文件中,添加一个条目以设置VRPN输入设备调整其坐标系,并将其附加到摄像机

以下示例显示了设置ART DTrack跟踪系统的一种方法:

这使VRPN从端口5000接收DTrack输入,并将它们映射到名为DTrack的VRPN设备(确保DTrack配置为在端口5000上输出其追踪数据。)

2. 在nDisplay配置文件中添加以下行:

第一行创建一個名为CaveTracking的nDisplay输入设备,该设备从VRPN地址DTrack@127.0.01获取数据必须在此调整坐标系以适应追踪系统和偏移。第二行告诉nDisplay从通道0上的CaveTracking输入获取相机位置

要從代码中管理VRPN设备的状态以及检测按钮按下等输入事件,请:

2. 在蓝图中使用DisplayCluster > Input下的节点。确保在节点中设置的ID与在配置文件中设置的ID值相匹配例如:

nDisplay系统通过三个TCP/IP端口在主机之间进行通信:和14002.您需要确保这些主机都被打开。

如果要自己更改端口号可以在以下位置更改。

1. 運行时同步端口主节点使用两个端口将数据与群集中的其他节点同步。要设置这两个端口请在配置文件中的node_cn和port_ss配置参数中包含定义主節点的cluster_node 行。例如:

此外必须使用port参数在每个主机上启动nDisplayListener应用程序。例如:

八、将nDisplay添加到现有项目

要设置现有项目以使用nDisplay:

在虚幻编辑器Φ 从主菜单中选择“  编辑”>“插件 ”。搜索“nDisplay”然后选中“已启用” 复选框。

2. 为您的项目启用nDisplay从主菜单中

选择“ 编辑”>“项目设置”,然后找到“ 插件”>“nDisplay”部分选中Enabled复选框。

3. 仍然在“ 项目设置”窗口中转到“ 项目”>“说明”部分,然后选中“ 设置”>“使用无边框窗口”复选框

4. 重新启动虚幻编辑器,重新打开项目然后打开项目的默认关卡。

可以在“ 所有类”列表的“ 模式”面板中找到此Actor

7. 继續上面的“ 入门指南”中的其余设置说明。

本节介绍nDisplay Launcher的用户界面中提供的所有设置和选项

Monoscopic不需要任何特定的硬件功能,但帧顺序需要確保显示设备,GPU和驱动设置与选择的渲染模式兼容

5. Custom command line arguments 如果您希望nDisplay Launcher在其用于启动每个Unreal实例的命令行上传递任何其他参数,请在此处包含它们有关详细信息,请参阅“命令行参数参考“

6. Applications 列出可以使用nDisplay Launcher运行的所有打包的Unreal应用程序。使用“添加”和“删除”按钮编辑列表有关哽多信息,请参阅 

7. Config Files 列出为nDisplay Launcher设置的所有配置文件。使用“添加”和“删除”按钮编辑列表有关更多信息,请参阅“入门”的步骤3“打包囷部署”

8. Run 在选择文件所配置的所有主机上,启动选择的应用程序 

12. Deploy application 将“ 应用程序”列表中选择的应用程序复制到“ 配置文件”  列表中选擇文件所配置的每个主机  。

13. Copy 将日志窗口中列出的所有消息复制到剪贴板

14. Clean 清除日志窗口左侧的所有消息。

1.材质从下往上一点点变透明

2.模拟睜开眼(后期处理材质) 

我要回帖

更多关于 电脑有哪些画质高配置低 的文章

 

随机推荐