转发请标注原文出处:Unreal Engine 4 UE4 CAVE VR 立体 Stereo nDisplay 多通道_ue4立体信号处理-CSDN博客
本插件是2016年实现,目前最新的UE4 版本已经支持多通道立体插件,叫 nDisplay,大致看了下里面还是有很多bug的,包括帧同步和渲染效率多多少少有一些问题
Unreal Engine 4的渲染效果非常好,在沉浸式环境下体验也很不错,下面几张图是在CAVE环境下的显示效果(因为是立体显示,所以不带银镜的话画面会显示虚影)
主要有以下几个技术点:
1. 实现OpenGL的四缓冲立体,这个需要修改UE4的一些代码,立体方式有很多种,包括QUAD_BUFFER、ANAGLYPHIC、HORIZONTAL_SPLIT、VERTICAL_SPLIT、LEFT_EYE、RIGHT_EYE、HORIZONTAL_INTERLACE、VERTICAL_INTERLACE、CHECKERBOARD等等。
2. 实现头部追踪,这个也比较麻烦,因为既要修改ViewMatrix又要修改ProjectionMatrix,而UE4中好多PostProcess多多少少都会和这两个矩阵相关些,所以要处理好还是要看懂UE4的渲染机制,否则会给这些后期处理造成麻烦。
3. 多台电脑间的同步,下面共用了5台电脑,每台电脑分辨率都是4K的,电脑间的同步起初是用的UE4自带的网络功能,但感觉效率不行,所以后面自己写了一套网络同步机制,分辨率在1920*1200*26,并行算法使用sort-first。
4. 设备用的是ART追踪,手柄是FlyStick,通信采用的是VRPN协议。
下面几张是禅意花园的场景
下面这个场景是最有沉浸感的,鱼仿佛就在你身边游来游去,不过因为鱼是动态随机生成的,所以拼接的时候会有问题,但这个也很好解决,比如同步随机种子也是可以的,这里暂时只测试了功能,还没处理这个问题。
(偶看到代码中有一个参数,不确定能不能解决问题,没测试过
FApp::bUseFixedSeed = bDeterministic || FApp::IsBenchmarking() || FParse::Param(FCommandLine::Get(),TEXT("FixedSeed"));
)
参考下这个: UE4 UnrealEngine CAVE 单机 录制 立体 视频_ue4的主动立体-CSDN博客
数字化工厂
下面几张是太阳神庙的场景
Unreal Engine Editor的定制: