基于Maya和Virtools的煤矿虚拟现实系统开发
2011-02-28孟庆武神文龙
孟庆武,樊 明,神文龙
数字矿山DM(Digital M ine)是矿业科技创新的核心方向,是采矿业改造与可持续发展的重要保障。走DM之路,将DM建设与整个矿山企业的技术创新、管理改革相结合,有利于我国矿业行业面向 21世纪的可持续发展[1]。虚拟现实技术是数字矿山的一个重要组成部分,将虚拟现实技术运用到煤矿生产中无疑具有非常重要的意义。本文运用Maya和 Virtools这两款开发软件的强大功能以实现煤矿生产虚拟现实生产系统的仿真和漫游。
1 Maya和 V irtools简介
1.1 Maya简介
Maya是美国Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告、角色动画、电影特技等。Maya功能完善,工作灵活,易学易用,制作效率高,渲染真实感强,是电影级别的高端制作软件。
Maya集成了Alias/Wavefront最先进的动画及数字效果技术。它不仅包括一般三维和视觉效果制作的功能,而且还与最先进的建模、数字化布料模拟、毛发渲染、运动匹配技术相结合。
在煤矿生产虚拟现实系统的开发中,主要利用Maya进行各种生产系统的具体模型设计与制作、材质添加、场景渲染等。Maya的工作界面示意图见图 1。
图 1 Maya的工作界面示意图
1.2 V irtools简介
V irtools软件是一套多功能的三维开发工具,是一套具备丰富的互动行为模块的实时3D环境虚拟实境编辑软件,由开发模块、生成模块和发布模块组成。开发模块包括创作应用程序和软件开发工具包(SDK)。V trtools Dev是创作应用程序的主要部分,可以快速生成丰富、对话式的3D作品。生成模块包括行为引擎和渲染引擎。发布模块包括 EXE文件生成器和 Web播放器 (V irtoolsWeb Player)。
V irtools中采用行为模块 (Building Blocks简称BBs)流程图的形式来设计作品。V irtools中有 600多个行为模块,其中的 Run VSL模块可运行自己添加的V irtools语言代码,利用这些行为模块可以相互搭配串连设计出很多不同的互动效果。
在煤矿生产虚拟现实系统的开发中,主要利用V irtools进行场景动画设计、灯光渲染、3D人机交互设计等。V irtools的工作界面示意图见图 2。
图 2 Virtools的工作界面示意图
2 煤矿生产系统模块设计
煤矿生产系统模块设计包括井下生产系统设计和地面生产系统设计两部分。井下生产系统有运煤系统、通风系统、运料排矸系统、排水系统、供电系统、防火系统、除尘洒水系统、瓦斯抽放系统、瓦斯监控系统等。地面生产系统有地面提升系统、运输系统、排矸系统、选煤系统、变电所、压风机房、锅炉房、机修厂、浴室、行政福利大楼等。
3 开发过程
3.1 搜集整理资料
煤矿生产系统非常复杂,各个环节紧密相连,为了真实的体现生产过程中的各个环节并且突出重点,必须在开发前以及开发的过程中根据需要进行必要的资料搜集。
资料主要包括图片、数据、视频等。只有在对资料进行认真研究的基础上,才能使仿真场景和实际现场相接近。同时积极的现场观察也非常必要。
3.2 系统场景模型的建立
场景模型是整个虚拟现实系统最直观的部分,场景模型的好坏直接关系到软件运行的快慢和逼真度。
矿山生产系统是一个非常大的场景,因此,在利用Maya建模的过程中通常采用先分别建模,最后集中导入的方式。
由于虚拟现实系统要求计算机实时计算场景中的所有多边形数据,因此,在模型建立的过程中应该在保证场景不失真的前提下力求线条的简约化,应尽量选择多边形建模方法。在建模的过程中要注意详略得当,达到有效利用计算机的内存和 CPU进行实时交互。在建模的过程中还要严格的控制模型比例使其符合真实情况[2]。
模型及场景建立完成以后,给模型的表面加上各种材质并进行纹理贴图。
把初步建成的模型导入到 V irtools中进行检验,对不正确和不美观的部分进行不断的修改。最终利用V irtools Export Plugins插件导出。部分场景模型示意图见图 3。
3.3 系统场景模型的整合
将从Maya中导出的 (*.nmo)文件用V irtools打开,为他们加上各种控制和灯光。
在 V irtools中,场景三维模型的控制是依靠V irtools内置行为模块 (Building Block)实现的。V irtools中有 600多个 BB模块可供使用,能够对场景模型进行各种基本操作,如:大小变化,平移,旋转,缩放,颜色变化,光线变化,三维贴图等;复杂操作,如投影,行走,奔跑,后退等。
实现对三维编辑区中的模型进行控制,除了直接调用行为模块库中的内置 BB模块外,还可以使用C++进行手工编写 Building Blocks。前者简单方便,后者比较灵活。
点击 Data Resource(数据资源库),选择Animations(行为动作)类中的行为,用鼠标点击所要的动作行为,并拖到编辑区中的角色身上,并在Schematic中运用行为交互模块库中的行为模块编辑角色相应的脚本,这样就形成了3D交互动画[3]。脚本流程图见图 4。
经过以上过程的设置后,便可以将诸如液压支架的升降、移架过程、采煤机割煤方式、煤炭运输方式等一系列的生产细节生动逼真的展现出来。
为了更好的实现漫游效果,在系统中增添了一个虚拟人物角色,并将摄像机以第三人称跟随的方式进行设置,这样就可以让操作者产生如身临其境的感觉。虚拟角色漫游图见图 5。
3.4 成品的发布
煤矿生产虚拟现实系统制作完毕后,可以直接将整个作品以 CMO文件格式保存,在需要的时候可以再进行修改和编辑,但是这种情况保存的文件只有载入V irtools才可进行单机的展示操作。
还可以把整个作品以VMO文件格式保存传播或者发布到网络上,这种情况只要客户端安装了V irtoolsWeb Plaver播放插件,就可以进行交互操作。
利用编程的方法,结合V irtools提供的 SDK开发工具包,可以将作品打包生成单一的 EXE文件,这样系统就可以在任何W INDOWS平台直接运行[4]。
4 结 论
随着科技的快速发展,虚拟现实技术将会有更加广泛的应用前景。本文介绍了如何用Maya和V irtools进行煤矿生产系统的虚拟现实展示,对于工人的岗前培训和学生的教学工作可以起到很好的效果,对于加强煤矿安全生产也有一定的指导意义。
[1] 王 政,朱向阳,韩 栋,等.液压支架三维模型运动仿真及其实现[J].煤炭科技,2008,(3):36-38.
[2] 王 琦.Maya2010标准培训教材[M].北京:人民邮电出版社,2010:320-325.
[3] 付志勇,高 鸣.三维游戏设计[M].北京:清华大学出版社,2008:118-140.
[4] 刘明昆.三维游戏设计师宝典[M].成都:四川电子音像出版中心,2005:311-351.