基于UE4引擎的虚拟现实开发

时间:2022-09-09 07:49:58

基于UE4引擎的虚拟现实开发

[摘 要]虚幻4(Unreal Engine 4,简称UE4)是当前业界主流、技术领先的游戏引擎,本文以UE4为基础来研究使用游戏引擎来实现虚拟现实的开发技术和实践技巧,同时结合其他相关技术,为虚拟现实的开发提供了一个新的参考方向。

中图分类号:TU831;TU201.5 文献标识码:A 文章编号:1009-914X(2016)08-0230-01

1.前言

虚拟现实(Virtual Reality,简称VR)是一个新兴的计算机图像学领域[1],同时它集合了许多其他领域的最新科研成果,比如需要计算机图形学的图形学知识、人机交互技术的达到接近现实交流体验,以及传感技术来探测用户的个人状态数据等诸多领域。目前的虚拟现实技术主要被应用于景点展示、观光旅游、广告展示和房地产以及城市规划等行业中。本文首先对传统的虚拟现实技术做了概要性的简述,同时提出基于游戏引擎的虚拟现实开发的特点进行描述,之后具体介绍如何实现基于UE4引擎的虚拟现实开发技术,最后是对本文的总结和未来工作的展望。

2.虚拟现实的实现方法

2.1 传统虚拟现实开发方法

传统意义上的虚拟现实实现方法主要可以分为两大类:

第一类是固定虚拟现实动画,它是采用三维动画软件,首先设定好虚拟的场景和环境之后,确定具体的拍摄要求和细节,然后利用摄像器材按照固定的路径和角度,进行实地拍摄,并将拍摄的视频放入三维动画软件中,从而生成可以观看的虚拟显示的动画短片。其特点是制作难度低,迅速快捷。同时这类方法的缺点是,所有的路线和效果都是固定的,最终的体验用户只可以按照预设的路线进行观看和浏览,而无法按照自己的意愿,和视角去选择和体验,这大大降低了真实感。

第二类是利用专业的三维GIS仿真平台或者其他专业的三维仿真平台来开发虚拟现实场景。这类方法可以生成高真实感的虚拟现实环境,用户在佩戴专业虚拟现实眼镜或者其它设备后,可以产生身临其境的感觉。但是这类方法的投入往往非常高,需要高度真实的建筑、环境皮肤数据,以及大量的各个角度的视频数据,而且开发难度也非常高,需要专业的团队支持去进行开发。

2.2 基于游戏引擎的虚拟现实开发

游戏引擎是一些已经编写好的软件和实时图像处理模块的集合,主要用于方便程序员在游戏开发中可以快速利用这些模块来开发出新的应用或者游戏,可以分为二维和三维游戏引擎。随着引擎技术的不断更新和发展,目前已经包含很多不同功能的组件,例如物理引擎、音效引擎、碰撞检测引擎以及场景管理引擎等等,甚至目前一些高级的游戏引擎已经开发出人工智能类的技术,从而大幅地提高了游戏开发速度和游戏体验效果。

虚拟现实中,现实感是最大的要求,所以对视频渲染的速度提出了非常高的要求。针对人类视觉的特性,每秒20帧是一个肉眼可以观察的界限,低于它则会明显的降低用户的真实体验感。这对传统的虚拟现实方法提出了很大的挑战,而由于游戏引擎从设计之初,就是基于用户体验而设计的,所以它能很好的满足这方面的要求,以UE4引擎为例,目前已经支持64位色动态高精度渲染,同时支持DX11,APEX和NVIDIA 3D技术,可以打造出非常逼真的效果。并且支持物理引擎PhysX和碰撞引擎,以及3维声源位置设置、多普勒效应,可以打造出高真实感的触碰和声音效果。从而给用户带来高度逼真的现实体验感。

游戏引擎自生的这些优势,可以为其在虚拟现实开发中谋得越来越重要的地位。本文以UE4引擎为例,基于此开发校园的虚拟现实环境[2]。

3.基于UE4实现虚拟现实

本节将详述基于虚拟开发工具包(Unreal Development Kit,简称UDK)来制作一个虚拟的学校场景,通过建筑、植被、地形以及喷泉水池这些元素塑造一个虚拟现实的校园,基本流程如图1所示。

最开始的在Auto CAD和3D MAX中的设计流程,由于篇幅所限,在本文中不做介绍,主要对UDK中的设计和虚拟现实场景渲染技术做简要描述。

首先地形模块的编辑和渲染,需要用到terrain editor mode工具,它是UDK中的一个专业地形编辑工具,比如可以选择笔刷把地形抬高压低,抹的均匀一点,增加一点地形噪声等等,还可利用灰度的位图自动生成三维地形。当地形编辑好后,需要给地形添加材质, 比如编辑某一块为沙地、或者草地等等。同时在地形上可以添加不同的多个材质,并且支持添加装饰物,例如在草地上的石头小路等等,这极大的方便了后期的开发步骤。

在地形编辑完成后,需要进行建筑物的编辑和渲染,在此处本文采用了多边形的建模手段,同时在具体的建模细节上,需要尽量删除多于的多边形,因为这样可以加快整个系统的渲染速度,减少系统负担。在建模完成后,需要采用置换贴图、法线贴图、烘培贴图等纹理映射方法。其中烘培贴图方法是一种把MAX光照信息渲染成贴图的方式,之后将烘培后的图像贴回场景中;置换贴图方法则是使用一个高度贴图制造出几何物体表面上点的位置被替换到另一位置的效果;法线贴图使用中XYZ轴和每一个物理位置上的分量来表示其RGB值,从而实现图像渲染。在我们的实际虚拟现实场景中,怎样灵活地使用各种贴图方法很大程度上,将决定最终的渲染效果和用户体验感,一般而言建议多使用法线贴图,应为该方法可以有效的降低模型的面数,从而提高系统渲染速度。

在建筑的渲染结束后,需要利用UDK中的Unreal Lightmass(简称UL)光照系统,来进行光照的渲染。UL可以结合区域阴影和漫射效果来模拟一系列真实环境下的复杂光源交互作用。同时在光照系统渲染时,需要注意避免使用天空光源,并注意增加光照的区域和间接光照区域的对比,从而使得系统的真实感更好,提高用户体验。

当光照渲染设计完成后,需要设计第一人称的观看视角。这需要结合人体工程学,合理地设置第一视角。同时由于在虚拟环境中,用户需要能够与虚拟显示中的物理产生交互,这就需要系统能够模拟碰撞反应,在游戏引擎中,已经有了专业的碰撞测试模块,便于开发。这些物理引擎可以及时检测到用户与环境中的碰撞,并计算相应的碰撞反应。比如低矮的,或者斜坡,在用户经过的时候,会改变视角,从而模拟用户经过时候的视角的变化,增强真实感。

当设计完成所有以上步骤后,UDK提供了专业的打包和工具,可以将整个的设计打包为一个类似于游戏的程序,用户执行程序,就可以进入虚拟显示的体验中。

4.总结

虚拟现实技术在实际的生活和商业应用中,扮演着越来越重要的角色,并且有着十分广阔的前景。但是长期以来,由于开发成本过高,复杂度大等等不利因素,大大阻碍了虚拟现实技术的实际应用。本文结合UE4的游戏引擎技术实现了简单的虚拟现实校园场景的设计,并且验证了利用游戏引擎开发具有开发快速、体验感真实、未来扩充能力强等等诸多优点,希望对未来开发人员在虚拟现实的应用开发中,起到抛砖引玉的作用。

参考文献

[1] 石教英. 虚拟现实基础及实用算法[M]. 北京: 科学出版社, 2002

[2] 黄亚鹰, 邵阳. 游戏引擎创建虚拟现实校园的研究与应用[J]. 湖南理工学院学报:自然科学版, 2011, 24(02):49-51.

上一篇:水电站电气设备安装技术的要点分析 下一篇:浅谈国有企业资本运营中存在的问题和对策