游戏引擎创建虚拟现实校园的研究与应用

2011-01-24 13:59:44黄亚鹰
关键词:漫游引擎光照

黄亚鹰 , 邵 阳

(湖南理工学院 美术学院, 湖南 岳阳 414006)

引言

虚拟现实(Virtual Reality, 简称VR)是一项综合集成技术, 涉及计算机图形学、人机交互技术及传感技术等多个领域. 现在人们已经能够通过数字平台来实现非常逼真的虚拟现实景观, 生成逼真的三维视觉效果, 使参与者通过交互界面及装置, 轻松直观地对虚拟世界进行沟通和体验, 最终能够使参与者产生身临其境的感觉, 还能够直接感受到虚拟环境中对象的反馈作用, 尤其适用于呈现那些尚未实现或准备实施的项目, 使观者提前领略到实施后的精彩结果. 虚拟现实的最大特点是用户可以与虚拟环境进行人机交互, 将被动式观看变成更逼真的体验互动. 虚拟现实技术被广泛应用于观光旅游、景点展示以及房地产、园林景观、城市规划等行业项目的展示、宣传. 现在许多高校校园的规模都相当大, 校园的建设都非常美, 出于对学校的宣传目的, 都纷纷搭建了自己的虚拟校园展示系统, 展现校园全貌和细节信息, 公众则通过该系统, 利用自动漫游、导航定位等多种模式进入虚拟校园, 获得直观感受和逼真体验. 更重要的是将来还可以利用虚拟现实系统这一平台, 在其上构建更为直观的数字化教学及管理系统.

1 传统技术手段的虚拟现实

传统技术手段下的虚拟现实校园的实现方法主要是以下两类:

摄像机漫游动画, 它实际上不能算是真正意义上的虚拟现实, 设计制作者根据真实的校园环境, 运用三维软件在电脑上制作出校园的三维模型及视觉效果, 再在三维软件中按照设计好的观看路线制作路径线, 然后在路径线上绑定摄像机, 最后设置所需的动画时长, 通过渲染可得到摄像机镜头在环境场景漫游后所拍摄的视频动画. 它的视频内容固定, 可反复播放, 但观看者不能控制观看的角度、范围, 等于是看一部电脑做的动画短片.

依托专业领域的平台软件或是自主开发的虚拟技术平台来实现虚拟现实校园的漫游. 以河南理工大学的虚拟现实校园为例: 该校建成的校园景观立体真三维虚拟现实漫游系统是基于计算机立体视觉、人工智能、空间信息等技术, 在三维虚拟现实系统软件——超自然真三维地理信息系统(SUPERNATURAL GIS)平台上建立的. 观看者佩戴上立体眼镜, 即可漫游动态校园, 相应实地场景的动态影像给人以身临其境的感觉. 为完成动态虚拟现实校园建设, 该校测绘学院专门成立了数字化校园课题攻关小组, 攻克各种技术难题, 采用小型飞机数码航空摄影测量成果数据, 辅以数码相机实地拍摄获得的校园花草树木、建筑物表面单纹理数据建成的. 这样的虚拟现实系统专业性强、投入大, 非常不适合艺术设计工作者掌握和运用.

2 运用游戏引擎技术来实现虚拟现实校园的研究

游戏引擎的一个重要的功能是提供构建游戏世界的程序系统, 现在的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统, 从建模、动画到光影效果, 从物理系统、碰撞检测到网络构建, 涵盖了开发过程中所有的重要环节. 图形引擎和虚拟现实技术又是三维拟真游戏中最重要的核心技术, 也是电子游戏领域的关键技术之一, 无论是二维还是三维游戏, 都依托着这些起显示控制作用的代码来构建游戏的关卡场景. 场景渲染是游戏图形引擎中最重要的子模块之一, 现在高级的游戏图形引擎已经能够实现照片级别的即时渲染与显示, 以虚幻3引擎(Unreal Engine 3)为例: 虚幻3引擎支持64位色高精度动态渲染管道. Gamma校正和线性颜色空间渲染器提供了完美的颜色精度, 同时支持了各种后期特效例如光晕、镜头光环和景深等效果. 支持当前所有的基于像素的光照和渲染技术, 支持高级的动态阴影. 所有支持的阴影技术都是可视化的, 并且可以按照艺术设计者的意愿自由混合, 同时可以与有颜色的衰减函数结合,从而实现具有合适阴影的平行光、聚光灯效果, 以及投射光效果. 完全支持室内和室外环境的无缝连接,在任何地方都支持的动态每像素光照和阴影, 艺术设计者可以通过一个基本高度图来建立地形及植被.

最为重要的是在虚拟场景建模时普遍存在逼真度和即时渲染显示速度之间的矛盾, 在虚拟现实的应用领域对场景的实时再现有很高的帧率要求, 如果达不到必须的显示帧率(每秒 20帧), 就会丧失实际应用的价值, 而游戏引擎在这一点的解决上就非常好, 我们在游戏场景中能够十分流畅地实现场景的漫游和显示. 由此可见, 所有的艺术设计者都能够在涉及最小程序开发的条件下使用游戏引擎程序来创建虚拟校园环境.

3 应用游戏引擎来实现虚拟现实校园的实施方案

以UDK(Unreal Development Kit)虚幻3游戏引擎开发工具包为例, 用UDK引擎制作一个学校的虚拟场景, 通过地形、建筑、植物、水流这些元素塑造一个虚拟现实的校园, 基本流程如图1所示.

3.1 校园场景地形的制作

在 UDK中, 有专门编辑地形的模块.打开terrain editor mode, 就能看到地形编辑的功能, 比如可以选择笔刷把地形抬高压低, 抹的均匀一点, 增加一点地形噪声等等, 还可利用灰度的位图自动生成三维地形(图 2). 然后就是给地形添加材质, 比如变成一片沙地, 变成一片草地等等, 一个地形可以添加多个材质, 还可以添加多个“装饰物”, 比如, 用一个岩石的材质,当做笔刷在地形中刷出一条岩石小路等等.

图1 应用游戏引擎来实现虚拟现实校园的基本流程

3.2 运用 3ds MAX等三维建模软件进行模型构造和材质纹理的贴图

图2 利用灰度位图生成三维地形

UDK材质的编辑采用节点连接方式(图 3), 与 MAYA十分接近, 节点运算的原理也比较接近Photoshop的图层叠加, 有设计基础的人可以较快上手. 校园内各种建筑物的模型建造一定要使用多边形建 模手段, 现在的游戏引擎基本上只支持多边形几何模型. 注意必须对模型进行优化, 去除冗余的表面多边形, 降低整个模型的复杂度. 对模型的细节必须要采用置换贴图、烘培贴图、法线贴图等纹理映射技术来表现, 法线贴图中的每个点 RGB, 实际是代表每个所对应模型UV表面法线为坐标参考系XYZ轴的分量, 这里的Z轴就是该面的法线方向, 通过法线贴图中每个点定义的矢量方向来模拟校正光的反射方向, 最终体现凹凸层次, 这种技术手段可以有效降低模型的面数, 减少场景实时渲染时的运算量.

图3 材质节点编辑方式

3.3 将建筑物模型导入到游戏引擎编辑器中

我们需要把建筑物模型作为ase格式导出. 3dsmax用户可以直接导出ase格式, 再在UDK中导入ase模型文件,同时还需要导入模型的贴图. 如果贴图没有alpha通道的话, 在UDK中勾选上CompressionNoAlpha. 如果导入的是法线贴图的话, 在UDK中的CompressionSettings里选择TC_Normalmap. 在 LODGroup里选择对应贴图类型的选项, 也可以勾选上DeferCompression使贴图暂时不被压缩. 模型导入到 UDK后, 在场景地形上添加即可, 如果模型大小尺寸不合适, 还可以通过UDK的编辑工具进行缩放操作(图4).

3.4 设置场景的日照等灯光效果

虚幻3引擎采用Unreal Lightmass静态全局光照系统, Lightmass使用像区域阴影和漫射相互作用一样复杂的光源交互作用来创建光照贴图, 它和其它的渲染方法(动态光照及阴影)是正交的, 它仅是使用较高质量的光照贴图和阴影贴图代替了其它的光照贴图及静态阴影贴图 . 在进行光照设置时要特别注意避免 Skylights(天空光源). 给您的场景添加一个常量环境条件, 降低在非直接光照区域中的差异. 设置光源时要在直接光照区域和间接光照区域有一个能量的对比, 这个对比将使它很容易地找到阴影变换发生的位置, 并使你的场景具有更好的深度感.

3.5 设置第一人称的漫游者观看视角

重点注意虚拟人物的头部位置和视野角度要符合正常人的人体工程学参数, 这样在场景中漫游时才会产生逼真的视觉效果.

图4

3.6 设置碰撞检测

在虚拟环境中, 由于用户的交互和物体的运动, 需要及时检测到这些碰撞, 并计算相应的碰撞反应,更新显示结果, 否则物体会发生穿透现象, 破坏虚拟环境的真实感. 在UDK中, 引擎的物理系统能够很好的进行碰撞检测, 并不是场景中所有的物体面都会阻挡漫游者的前进. 例如, 较矮的障碍和平缓斜面, 这些在发生碰撞时都可以检测到, 当碰撞到这种面时, 引擎系统能做出正确判断和适当处理,让漫游者的视点能继续前进.

3.7 发布生成执行程序

当利用 UDK创建完成虚拟现实的校园场景后,就可以使用 UDK的打包发布命令生成一个可执行的游戏程序. 当使用者执行这个程序时, 就打开了一个虚拟校园的游戏场景, 使用者可以用第一人称视角在场景中自由漫游, 并和场景中的对象进行交互性操作(图5).

图5

4 结束语

在虚拟现实技术快速发展, 虚拟现实应用领域不断拓展的今天, 虚拟现实技术在各专业方向的运用前景十分广阔, 但长期以来因为专业技术的难度过大, 没能很好地推广应用. 而灵活运用游戏引擎技术来构建虚拟现实的校园环境、园林景观等各类场景, 既快速又有很好的扩展性, 是那些沿用固定漫游路径或者是依托复杂技术平台等手段的虚拟系统无法与之相比的. 虚拟校园所提供的三维虚拟环境, 可为将来支持现实大学的资源管理、环境规划和远程访问提供有效的界面服务平台, 运用游戏引擎创建的虚拟校园将是校园数字信息化的一个重要组成部分.

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

[2]陈立伟, 张 翔, 李晓燕. 基于VEGA的数字城市漫游系统[J]. 计算机工程, 2003

[3]傅 晟, 彭群生. 一个桌面型虚拟建筑环境实时漫游系统的设计与实现[J]. 计算机学报, 1998, 21

猜你喜欢
漫游引擎光照
节能环保 光照万家(公益宣传)
节能环保光照万家(公益宣传)
春光照瑶乡
霹雳漫游堂
蓝谷: “涉蓝”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
NASA漫游记
无形的引擎
河南电力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame开发
服装CAD系统中的光照面向对象分析
河南科技(2014年4期)2014-02-27 14:06:59
边走边看:漫游海底 梦想成真