业界动态

德化陶瓷虚拟展厅

作者:陈柏生, 张志阳,杜吉祥
发布日期:2009-06-26

  摘 要: 讨论了虚拟现实技术用于陶瓷展示的可行性,关键技术和系统的实现过程。利用3DS MAX和PhotoShop建立展厅和瓷器的三维模型,并使用贴图技术增强瓷器模型的真实感;使用开源的图形渲染引擎OGRE实现场景资源的组织和管理,并基于OGRE实现了虚拟展厅的实时交互和动态漫游功能。
  关键词: 德化陶瓷; 虚拟展示; OGRE; 用户交互

 

  德化是闻名世界的瓷都,并且逐渐成为全国最大的工艺陶瓷生产与出口基地[1]。目前德化陶瓷产品的展示主要是通过在线的图片展示和离线的样品展览来实现。对于这两种传统的样品展示方式,文字和图片展示只能提供静态的局部的视觉体验,真实感和交互性都比较差。而实物展览则要求客户花费不菲的时间和金钱成本到现场参观,这往往也会显著延长客户下订单的周期。近年来,虚拟现实技术在物品展示和场景重建的应用中日益受到人们的关注。虚拟现实利用计算机制作出来的类似真实世界的虚拟环境,并可提供观者实时性的互动和沉浸式的逼真感受[2],它为快速的展示瓷器样品和发布产品信息、降低交易成本和加速产品销售提供了一种可行的思路。
1 系统概述
  本课题利用相关的虚拟现实技术实现了一个具有友好用户交互和动态漫游功能的虚拟陶瓷展厅,客户可以在这个虚拟展厅中自由行走、任意观看同时也可以借助交互式操作针对单个产品做更多细节的观察。该系统包括图形系统、脚本系统、交互系统、资源管理、场景管理等模块。图形模块使用3DS MAX和PhotoShop建立展厅和瓷器的三维模型,脚本系统维护系统的所有配置文件和日志文件,交互系统则负责友好的场景交互功能。本系统使用开源的图形引擎OGRE实现场景元素组织和场景资源管理。整个陶瓷虚拟展厅系统的框架结构设计如图1所示。

 


2  关键技术
2.1 瓷器三维建模

  目前应用于视景仿真的三维建模软件主要有:MultiGen Creator、3DS MAX、MAYA、SOFTIMAGE/3D 等。
  3DS MAX是PC机上最普及的三维动画和建模软件,成本低廉,具有良好的软件接口;系统集成了丰富的第三方插件,使得它具有强大的三维动画和特技效果制作等功能[3]。本文使用3DS MAX 9.0建立展厅和陶瓷产品的实体模型,并利用相关插件将其转化为本系统支持的内部文件格式。
  获取建立实体模型的相关参数是建模的准备工作。数据采集往往可以通过使用相应的测量设备测出产品原型或产品实物若干组点的坐标,进而计算出模型参数。更简单且在实际应用中可行的一种方法是由产品设计者提供模型参数。绘制表面纹理图案是增强瓷器产品真实感的重要步骤,但是直接使用3DS MAX建模瓷器的表面纹理是一个十分困难的工作。通常,要将实物图片贴到三维模型的表面,使瓷器产品具有更加逼真的视觉效果,这些实物图片称为纹理贴图。在具体操作中,先拍摄不同角度的实体照片,再用Photoshop对照片剪裁、校正和拼接等处理,最终得到所需的纹理贴图。如图2所示,整个瓷器产品的三维建模主要包括图片处理和实体模型的建立两个部分。

 

 

  图3给出了一个瓷器产品建模的实例。纹理贴图被导入到3DS MAX并被贴合到瓷器的三维模型表面,然后赋予其真实的材质、环境、灯光等,再通过渲染器渲染出逼真的效果。从图3(b)可以看出,本文方法创建出的瓷器模型与真实的瓷器效果非常接近。本文系统使用OGRE图形引擎组织和管理场景资源,所以,完成好的三维模型通过Deep Exploration进行数据转换、优化后利用工具软件3ds2mesh导出为OGRE所支持的.mesh文件。

 


2.2 场景资源的组织和管理
  本文使用开源的三维图形渲染引擎OGRE(Object-oriented Graphics Rendering Engine)组织和管理场景资源以及实现虚拟展厅的实时漫游。OGRE是用C++开发的面向对象且使用灵活的3D图形引擎,让开发者能更方便和直接地开发基于3D硬件设备的应用程序或游戏。OGRE中的类库对更底层的Direct3D和OpenGL系统库的全部使用细节进行了抽象,并提供了基于现实世界对象的接口和其他类。OGRE图形引擎全面支持Direct3D和OpenGL,同时具有更高的开发效率和更好的系统可扩展性。
OGRE系统主要包括:Render系统和Render插件、Material系统和Material脚本、Entity(主要是物件系统)、GUI系统和Overlay脚本、Texture和图片解码器、Archive系统和文件解码器、Scene插件(主要是地形系统)、粒子系统、日志、Dll动态导入和插件系统等[4]。而系统所有的对象全部归Ogre::Root统一管理。Root是整个OGRE的核心部分,通过Root对象可以配置系统,还可以获得系统内的其他对象。图4给出了OGRE中的关键对象及其关联。

 

  Ogre::SceneManager是OGRE的场景管理器,负责组织和管理场景中的物体,并将物体发送到渲染系统进行渲染。OGRE将现实世界中的场景划分成抽象的不同空间,这些空间还可以划分成更小的子空间。每个空间都由一个场景节点SceneNode对象来管理,场景节点将处理移动、旋转和缩放等与空间相关的行为。在每个场景节点之上可以挂载各种场景元素,如Entity、Light、Camera等。OGRE将大量场景节点按照空间的划分层次组织成树状结构,从而实现对整个场景的有序、高效管理。
3  系统实现与结果
3.1 使用OGRE绘制视景
  使用OGRE管理场景资源和绘制虚拟展厅的主要过程如下:
  (1)系统启动,检测OGRE动态链接库;设备信息管理器从设备信息文件中读入设备信息进行初始化。
  (2)资源管理器从外部文件中载入系统需要使用的资源,包括模型文件(.mesh)、骨骼动画(.skeleton)、粒子模板定义文件(.particle)、材质定义文件(.material),以及各种图像文件。
  (3)建立场景管理器,建立成功后系统从场景文件中载入场景,并按照文件设置创建虚拟场景。整个场景由若干场景节点按照空间的划分层次组织成树状结构。
  (4)场景节点从瓷器三维模型定义文件中载入瓷器,载入后按模型文件指定值设置瓷器摆放的初始位置。
  (5)OGRE帧监听器开始循环监听,读取串口或鼠标键盘输入,并进行处理;然后将数据发送至相应的场景节点,场景节点通知绑定在其上的粒子发射器发射粒子;最后,OGRE渲染系统将视景渲染到显示终端。
  OGRE的场景管理器按照场景文件创建虚拟展厅。本系统中定义了一种xml 格式的场景文件,其中关键信息是场景节点结构。xml 的树型结构正好与场景节点的树型结构一致,该文件规定了节点对应的网格模型、节点的缩放比例、节点的位置方向、是否是静态物体。场景文件被载入后,系统对 xml 文件中的Node 节点进行遍历,遇到 Node 节点时在 OGRE 应用程序中创建场景节点Ogre::SceneNode。
3.2 用户交互的实现
  在虚拟漫游系统中,系统通过不断改变视点和观察点的位置来产生视景的三维动画。本系统中的场景控制主要包括以下两个方面:键盘漫游和鼠标控制。键盘漫游就是用户通过操纵键盘来实现在三维场景中的任意漫游。通过键盘漫游用户可以灵活、准确地对场景进行全方位观察。鼠标控制则是利用鼠标进行模型的多角度观察以及放大、缩小等详细查看场景对象。键盘控制前进、后退、左移、右移,鼠标控制视野的抬头、低头、左右旋转。此外,用户可用鼠标选择对象,对指定对象进行浏览,其右键功能可以详细查看瓷器信息的文本描述,包括瓷器名称、尺寸、产地、特性描述等。图5(a)、(b)分别给出了一幅陶瓷虚拟展厅的全景图和使用鼠标控制详细观察所选定瓷器的近景图。

 


  本文使用相关虚拟现实技术实现了一个具有样品摆放和展示、用户交互与场景漫游功能的陶瓷虚拟展厅原型系统。利用功能强大的开源三维图形渲染引擎OGRE完成虚拟场景的资源组织与管理,极大地降低了开发成本并缩短了开发周期,使得系统具有良好的平台适应性和可扩展性。陶瓷虚拟展厅克服了传统展示方式真实感较差,交互性不强,而且展示成本高的缺点,为实现快速、低成本的陶瓷样品展示和缩短交易时间提供了一条可行的思路。同时,虚拟展示系统如能够与企业现有的计算机辅助设计系统及在线销售系统进行整合,将很好地实现陶瓷产品设计、样品展示、在线订单一体化,极大降低企业成本,加快产品销售速度。


参考文献
[1] 蔡卫红. 德化陶瓷业国际化的战略选择[J]. 发展研究, 2006,22(1): 42-43.
[2] 石教英. 虚拟现实基础及实用算法[M]. 北京: 科学出版社, 2002.
[3] 胡安林, 兰海. 3ds Max材质与贴图应用技法精粹[M]. 北京: 科学出版社, 2008.
[4] Mage 小组.OGRE(Object-Oriented Graphics Rendering Engine)使用指南, 2003.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
三维模型 管理器 开源 图形引擎 3D