通过更改虚幻UE4的源代码,实现了一个cave系统的demo,看起来效果挺不错的,分享给大家。

何为cave系统?,这里给大家科普一下:

  • CAVE沉浸式三维显示系统
  • 来感受下迪斯尼的Cave
  • CAVE沉浸式三维显示系统

Unreal Engine 4的渲染效果非常好,在沉浸式环境下体验也很不错,下面几张图是在CAVE环境下的显示效果
主要有以下几个技术点:
1. 实现OpenGL的四缓冲立体,这个需要修改UE4的一些代码,立体方式有很多种,包括QUAD_BUFFER、ANAGLYPHIC、HORIZONTAL_SPLIT、VERTICAL_SPLIT、LEFT_EYE、RIGHT_EYE、HORIZONTAL_INTERLACE、VERTICAL_INTERLACE、CHECKERBOARD等等,但是UE4自身只支持左右分割模式,也就是HORIZONTAL_SPLIT模式,QUAD_BUFFER模式只有专业显卡才支持。
2. 实现头部追踪,这个也比较麻烦,因为既要修改ViewMatrix又要修改ProjectionMatrix,而UE4中好多PostProcess多多少少都会和这两个矩阵相关些,所以要处理好还是要看懂UE4的渲染机制,否则会给这些后期处理造成麻烦。
3. 多台电脑间的同步,下面共用了5台电脑,每台电脑分辨率都是4K的,所以跑超大模型的时候会有些吃力,不过这个要看优化程度了,电脑间的同步起初是用的UE4自带的网络功能,但感觉效率不行,所以后面自己写了一套网络同步机制。
4. 设备用的是ART追踪,手柄是FlyStick,通信采用的是VRPN协议。

下面几张是禅意花园的场景


下面这个场景是最有沉浸感的,鱼仿佛就在你身边游来游去,不过因为鱼是动态随机生成的,所以拼接的时候会有问题,但这个也很好解决,比如同步随机种子也是可以的,这里暂时只测试了功能,还没处理这个问题。


下面几张是太阳神庙的场景