Unreal Engine 4 UE4 CAVE VR 立体 Stereo nDisplay 多通道

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuyingqingfen/article/details/53147947

转发请标注原文出处:http://blog.csdn.net/zhuyingqingfen/article/details/53147947

本插件是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自带的网络功能,但感觉效率不行,所以后面自己写了一套网络同步机制。

4. 设备用的是ART追踪,手柄是FlyStick,通信采用的是VRPN协议。

喜欢技术交流或寻找VR相关工作岗位的朋友都可以联系我:qq 984175446

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

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

(偶看到代码中有一个参数,不确定能不能解决问题,没测试过

FApp::bUseFixedSeed = bDeterministic || FApp::IsBenchmarking() || FParse::Param(FCommandLine::Get(),TEXT("FixedSeed"));

参考下这个: http://blog.csdn.net/zhuyingqingfen/article/details/77069651

数字化工厂

数字化工厂

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


 

Unreal Engine Editor的定制:

http://blog.csdn.net/zhuyingqingfen/article/details/51694248

猜你喜欢

转载自blog.csdn.net/zhuyingqingfen/article/details/53147947