#230 nDisplay初步学习   nDisplay     UE4     3 years ago (owner) Document
  • 一套nDisplay设置,物理上包括:一个主计算机和若干附加计算机。附加计算机数量是scalable numbers的。
  • 每台计算机可以包含一个或多个node。这里的node就是nDisplay的逻辑概念。一个node包含一个unreal engine实例。每个UE实例可以负责一个或多个显示设备的内容渲染:一个UE实例渲染的内容属于同一个3D场景,渲染的画面属于同一个视点,该UE实例会根据其负责的每个显示设备的物理布局分别设定该视点的透视变换及矩形范围并渲染结果拆分到对应显示设备。(实质还是一个pass,在shader里计算每个像素时,都要根据该像素对应的投影变换来计算)
  • primary node中还会通过一个所谓外围的VRPN Servers来接收Tracker、Controller的输入,然后将该输入复制到该nDisplay设置包含的所有nodes,包括primary node和cluster nodes。

上面就是nDisplay设置的整体结构描述了,可以发现概念焦点就是Node。下面对node的几种典型设置情况进行一下描述:
  • 一个UE实例对应一个显示设备
  • 多个UE实例,每个实例对应一个显示设备。这种情况是由于一台计算机上有多块显卡,用多个UE实例来分流渲染任务
  • 一个UE实例,对应多个显示设备,每个显示设备显示一部分。这在上面已经介绍了详情

nDisplay架构能够正常运作的框架保证
  • 引擎内置插件:其会在组成群集的所有UE实例间通信和同步信息,确保所有实例同时渲染相同的帧、确保所有显示设备渲染游戏场景的正确视锥等。
  • 一个共享的配置资产,它包含 nDisplay 需要的所有设置,以便在正确的计算机上启动正确数量的实例。每个实例都能在游戏 3D 场景中渲染正确的视点,从而在所有屏幕或投影设备上产生无缝的渲染效果。(请参阅nDisplay 3D 配置编辑器了解更多信息。)

工作流程
你需要告诉nDisplay你希望在网络中使用的不同计算机、这些计算机将渲染到的屏幕或投影器的大小和分辨率、这些屏幕在3D空间中的空间关系以及其他设置。为了实现这些操作,你可以创建一个配置资产,在一系列设置中表现所有这些信息。