浅谈基于Web3D的交互式工业产品三维虚拟场景的设计
2010-04-12张啸
张 啸
西安外事学院,陕西 西安 710077
3D图形技术不是一个新话题,但是3D图形对机器的要求较高,以往都是在图形工作站实现的。然而,随着计算机技术的发展和互联网的出现,却使3D图形技术发生了微妙而又深刻的变化,并且深刻影响各个领域。Web3D协会(前身是VRML协会)最先使用Web3D术语,这一术语的出现反映了这种变化的全貌,我们把Web3D理解为:互联网上的3D图形技术。下面以PC为平台,实现一个产品3D展示,来说明现在Web3D技术。
本文用到的VRML是3D图形和多媒体技术通用交换的文件格式,它基于建模技术,描述交互式的3D对象和场景,不仅应用在互联网上,也可以用在本地客户系统中,应用范围极广。由于网上传输的是模型文件,故其传输量大大小于视频图像。
制作互联网3D图形的软件并没有完全遵循VRML97标准,许多公司推出了它们自己的制作工具和插件,对用户而言,要在互联网上观看用这些软件制作的3D图形,先要下载1M~7MB的插件,然后安装在网页浏览器上。插件的种类之多,这也使得用户难以选择。要观看10个不同的网站,用户就需要下载并安装10个不同厂家的插件。这是难以忍受的。
所以,我们在综合考虑之后采用了基于JAVA的Wirefusion作为创作工具。Wirefusion是一个可视化编程工具,可以设计出先进的、交互式动态web3d网页。
Wirefusion是一个多媒体平台,集成了几种不同的媒体类型,成为一个单一的播放器。它支持三维,二维、macromedia的flash、视频和mp3音频,也能够创造360度的全景图,幻灯片及缩放图像[1]。不需要安装插件就可在客户端观看作品,这样就大大方便了访问者。
在模型制作方面,采用的是3Ds Max 2010,该软件是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。在WindowsNT出现以前,工业级的CG制作被SGI图形工作站所垄断。3D Studio Max + Windows NT组合的出现一下子降低了CG制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域[2]。该软件在国内,有很庞大的使用人群,有很好的群众基础,非常便于推广使用。
本文以国产“红旗”牌轿车为例,采用的车型是红旗盛世HQ300型汽车,需要全方位展示汽车,用户可以交互操作车门开关以及车灯开关。
首先,创建蓝本,我们需要确定将所有的蓝本进行对齐,可以很容易的在Photoshop下完成这一步。将汽车前视图投影到一个面片栅格上,沿着汽车的主要边线勾画出它的各视图轮廓线。对照其他的几个视图(顶视图、后视图等),用同样的方法做出其它的轮廓。然后在3D Max中将所有的图片对齐到一个平面上。沿着画出的line挤出一个面,再按照车的大体结构,进行边的复制,适度缩放,做成大体的车身,由于需要车门和车灯的动画,所以这几部分需要单独来做,其它部分包括内饰也用同样的方法制作完成。分别给汽车各个部件添加材质,并且使用Render To Textures技术将贴图保存。制作完成后,按照VRML97格式将模型导出。
进入Wirefusion,Wirefusion的作品设计方式是采用预编程,在Wirefusion里有一套被称为Wirefusion对象,或者是物体。使用或重用已设计好的对象,可确保你设计的作品的文件小且稳健。首先导入背景图片,可以用来约束范围,然后导入模型,并且给每个部件添加贴图,可以在Wirefusion中设定反射,然后设定每个交互按钮的功能,编程方式非常类似于传统的编程技术,数据或资料(俗称参数,如数字、字符串、颜色、图像等),由一个函数送到另一个函数。但是,区别于常规技术是,Wirefusion是把两个有关联对象用连接线,把它们连接起来,显得非常直观。但是不能直接交互式的更换贴图,比如车体颜色,如果需要更换车体颜色,则必须在网页代码中修改,全部设定完成后测试。如果没有问题,发布到网站。
更换车体图片需要在网页中添加如下代码:
并且配合Wirefusion中设定的脚本文件,就可以实现在网页中实时更换颜色的功能了。至此,基本完成了所需要的功能。完成后的程序运行稳定,状态良好。
虽然,Web3D技术将有好的发展前景,但仍然不可盲目乐观,它还面临着很多问题,如带宽、处理器速度等。现在的Web3D图形是有几十种可供选择的技术和解决方案,多种文件格式和渲染引擎的存在是Web3D图形在互联网上应用的最大障碍,而这种局面还将长时间存在。网站的访问者必须先花费时间下载对应的插件,然后再像安装软件那样安装这个插件,才能观看一个十分粗糙的3D图形。用户苦不堪言。网络带宽也是制约网上3D图形发展的另一个主要瓶颈。
所以本文建议使用JAVA3D,JAVA在互联网上几乎随处可见。使用JAVA的重要理由之一是它的平台无关性。负责编译JAVA程序的是JAVA Virtual Machine(JVM),不同的平台有它自己的JVM,处理与平台相关的功能。因此,只要支持JVM,就能运行JAVA小程序。两种最有名的浏览器Netscape和IE都支持JVM。因此用JAVA制作的3D图形几乎可以在所有的浏览器上显示。
当前,互联网上的图形仍以2D图像为主流,但是3D图形必将在互联网上占有重要地位。互联网上的交互式3D图形技术Web3D正在取得新的进展,形成自己独立的框架,并且会广泛应用在如电子商务、联机娱乐休闲与游戏、科技与工程的可视化、教育、医学、地理信息、虚拟社区等方面。
[1]http://www.web3d.com.cn/.
[2]http://www.autodesk.com/.