nDisplay中的立体渲染

让nDisplay渲染立体图像的方法。

Windows
MacOS
Linux

如果你需要在显示屏或投影设备上为虚幻引擎虚拟场景渲染立体视图,你可以使用nDisplay为左眼以及右眼分别生成图像。你可以使用两种方法来实现这一点:立体渲染和带立体偏移的单视场渲染。

立体渲染

在立体渲染中,每个nDisplay群集节点都为左眼以及右眼生成图像,并使用你选择的标准立体图像格式对输出图像进行编码。在本例中,你负责设置显卡、显示驱动程序或硬件,以解译由nDisplay生成的立体图像并对它们进行相应传送。

激活立体渲染

若要激活立体渲染:

  1. 在配置文件中,你需要定义左眼与右眼之间的瞳孔间距离。为此,向 摄像机(Camera) 配置部分添加 eye_dist 设置。将此值设置为所需的左眼与右眼间距离,单位为米。

    例如:

    [camera] id=camera_static loc="X=0.Y=0,Z=1.7" tracker_id=VRPNTracking tracker_ch=0 eye_dist=0.068

    如果你需要翻转左眼和右眼的显示画面,以便在显示硬件上正确显示图像,则还可以加入 eye_swap=true

  2. 在你从nDisplay Launcher应用程序启动nDisplay网络前,请从 渲染模式(Render mode) 设置中选择一个立体渲染模式。

    渲染模式设置

    有关可用设置的详情,请参见下列立体渲染格式 部分。

立体渲染格式

nDisplay可通过下列任意标准格式渲染立体图像。

渲染模式

说明

帧顺序(Frame sequential)

此模式会为引擎主循环中的每一帧生成连续的成对立体图像。例如,它首先为第1帧渲染左眼视图,接着为第1帧渲染右眼视图,接着为第2帧渲染左眼视图,为第2帧渲染右眼视图,接着为第3帧渲染左眼视图,以此类推。大多数情况下,此选项需要GPU专门支持立体渲染。

此格式在OpenGL中称为 四缓冲区(quad buffer)

并排(Side by side)

此模式下,为引擎主循环的每一帧生成的图像分为两部分。图像左半部分包含来自左眼位置的视图,右半部分包含来自右眼位置的视图。此模式有两大优点。首先,由于每个图像的渲染时间更短,它可以产生更高的帧率。其次,你可以在任何GPU上使用此模式。另一方面,其缺点是图像质量较差。

从上到下(Top-bottom)

此模式几乎与上述 并排(Side by side) 选项相同。唯一的区别是每一帧的图像是水平分成两半,而不是垂直分成两半。图像上半部分显示来自左眼的视图,下半部分显示来自右眼的视图。

带立体偏移的单视场渲染

在此方法中,让一个视口从左眼视角渲染场景的单视场视图,并让另一个视口从右眼视角渲染场景的另一单视场视图。此类视口可位于同一台计算机上,也可完全位于不同计算机上。

为此,你需要在配置文件中设置两个不同的 摄像机(Camera) 部分:一个用于左眼,一个用于右眼。

  • 将两部分的 eye_dist 设置设为相同值,这样将设置立体渲染所需的瞳孔间距离。

  • 将每个部分的 force_offset 设置设为不同值:左眼为 -1,右眼为 1。此设置将从摄像机渲染的视点偏移瞳孔间距离的一半距离。

  • 此外,你还需要确保每个 摄像机(Camera) 部分正在由不同的视口渲染。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback