基于EON的虚拟化工场景优化技术的研究
虚拟现实VR(Virtual Reality)是一种可以创建和体验虚拟世界的计算机系统,其本质特征要求能够生成实时且真实的虚拟环境。虚拟环境生成从本质上是一种限时的计算机图形绘制技术,这与传统的单一强调逼真性的真实感图形绘制技术有着根本的不同。虚拟现实系统所要求的是实时图形生成,一方面渲染出来的虚拟场景要能满足一定的视觉效果,否则就违背了模拟真实的初衷;另一方面由于实时性的限制,有时不得不降低虚拟环境的几何复杂度、降低生成图像质量,或采用优化技术来提高虚拟环境的速度。本文应用虚拟现实软件EON,以某化工企业的生产现场为模型,建立了多处虚拟化工场景,制作过程中结合多种优化理论及技术的具体应用,实现了具有工艺流程培训、漫游交互等功能的漫游系统,可使用户有身临其境的真实模拟操作的感觉,同时让用户对实际化工生产中的管路设计、生产设备和车间布置有更加感性的认识。
1 开发平台概述
EON Studio是美国EON Reality公司开发的一套模块化多用途的三维交互式仿真软件开发工具,它能够让用户自定义行为及交互方式,也能够进行仿真测试及实时更改测试的参数,可应用在设计、研究、制造、生产、教育、训练与维护等领域。EON Studio基于最新的PC技术,是在OpenGL图形标准和微软的DirectX多媒体功能的基础上建立起来的。通过与OpenGL和DirectX的联系,使得利用EON所开发的应用程序在将来图形卡渲染能力加强的同时其渲染效果也会得到提高。EON强调资源(软件/硬件)的集成与延展、基于Web的交互式三维文件的安全维护、逼真度及后台数据库的结合。EON Studio技术和VRML技术在结构上十分相似,可以认为,EON Studio技术是VRML技术基础上的延伸和扩充,其系统组成如图1所示。
EON Studio应用了面向对象技术,不仅使得对三维世界的描述变得清晰,还通过封装属性和建立模拟场景内部消息路由,很方便地实现虚拟实体的交互和行为动作等功能。虚拟场景的基本元素为节点(node),节点是EON Studio为多媒体和交互对象定义的一个对象集。节点的属性包含在域(field)和事件(event)中。EON Studio的节点类型很丰富,具有超过100个预先设定好的功能节点,按功能可以分为以下几类:预设节点;代理节点;组装节点;基础节点;碰撞检测节点;可视化节点;传感器节点。
另外,EON Studio在以上基础上又增加了Script Nodes,可以利用Java script或VB script进行编程,处理一些复杂的仿真,扩展了EON Studio中虚拟世界的动态行为。利用EON Studio的功能节点,能方便地建立满足用户要求的三维虚拟场景,完成用户特定的交互过程。
2 三维模型建立与优化
2.1 三维模型建立
使用3DS MAX可以较方便地建立逼真度很高的三维模型。图2是建立某化工场景模型的软件界面。
2.2 模型的优化
模型的优化对漫游场景的浏览很有帮助,前期如果不对场景的模型进行很好的优化,到了制作后期再对模型进行优化时就需要重新回到MAX里修改模型并进行重新烘焙后再导入到当前的EON场景里,这样就出现了重复工作的情况,大大降低了工作效率。因此,模型的优化需要在创建场景时就应受到足够的重视。
在3DS MAX中建模的准则基本上可以归纳为以下几点:
(1)制作简模
漫游场景中运行画面每一帧都是靠显卡和CPU实时计算出来的,如果面数太多,会导致运行速度急剧下降,甚至无法运行;还会导致文件容量增大,在网络上发布还会导致下载时间增加。
(2)三角面尽量为等边三角形
在调用模型或创建模型时,尽量保证模型的三角面为等边三角形,不要出现长条型。这是因为长条形的面不利于实时渲染,还会出现锯齿、纹理模糊等现象。
(3)合理分布模型的密度
模型的密度分布不合理对其后面的运行速度有影响,如果模型密度不均匀,会导致运行速度时快时慢,因此,应合理地分布场景模型的密度。
在3DS MAX中完成模型烘焙和优化后,输出的Eoz文件格式,可方便地导入EON Studio进行开发设计。