VRML网页制作谈

Author: 魏启明 Date: 1999年 第41期 27版

    有关虚拟现实技术VRML(Virtual Reality Markup Language)及其在Internet上应用的一些情况,《电脑报》曾作过一些介绍,但少于具体介绍制作虚拟现实网页的细节。今天我就用Autodesk公司的三维动画软件3DSMAX为工具,向大家简单介绍如何制作虚拟现实网页及要注意的一些问题。
    首先,你最好有3DSMAX2.0以上版本(1.0版需外挂模块支持,本例用2.0版。2.5以上版本支持VRML的更高标准VRML 97),在进入3DSMAX界面后,按一般制作三维动画的方法对要创建的虚拟现实对象建模,赋予材质及贴图,指定动画。这些工作完成之后,点击Creat/Helpers,在下面的下拉列表框中选取VRML2.0,出现一个工具面版,面版上列出了12个VRML辅助工具,添加相应的辅助工具,然后点击File/Export,出现一个对话框,单击“存为类型”下拉列表框,选取“VRML2.0(*.WRL)”文件类型,最后取一个相应的名称,单击“保存”,会出现一个VRML EXPORT对话框,先不管它,取默认值即可。单击OK就生成了一个以WRL为后缀的文件,可以直接用Netscape浏览器打开浏览。因Netscape浏览器自带有VRML的插件,而IE需另外安装插件。
    下面介绍几个主要的VRML辅助工具:
    Anchor辅助工具使场景中的对象与另一个URL链接,类似HTML文档的超级链接;或与场景中的另一摄影机链接,类似电影中的镜头切换。
    TouchSensor辅助工具可启动一个动画。这是一个非常有意思的辅助工具。比如你在VRML场景中建了一个自己家的模型。并设计了一个开门的动画,这时你就可以在场景中添加一个TouchSensor辅助工具,然后单击“pick tigger object”在场景中选取一个触发物(如门把手),再单击“pick action object”在场景中选取门,当用户来到你家门口时,只要一点击门把手,门就会打开。是不是很有意思。
    Inline Object辅助工具将另一个WRL文件合并到场景中,类似3DSMAX中的merge功能。它的另一重要功能是,通过关联一个Inline Object文件,可以复制对象的多个拷贝。
    LOD辅助工具替代模型的不同版本。同样一个建筑的模型,在远方看比在近处看需要的细节少,这时可通过替代不同的版本来加快显示,这主要是基于Internet有限的连接速率的考虑。这方面的问题,后面还将谈到。
    AudioClip和Sound两个辅助工具是联合使用的,它们主要提供虚拟的声音效果。比如在场景中一辆汽车驶近你,汽车离你越近,声音就越大;汽车离你越远,声音就越小。
    掌握了以上内容之后,我们还应明白一点,由于受到Internet的带宽及传输速率的限制,我们不可能像在作3DSMAX场景时那样给模型制作非常精细的建模,贴上复杂的贴图,布置庞大的场景。如果将这样的场景输入到Web中,恐怕用户在没有欣赏到你漂亮的VRML场景之前,早已因漫长的下载过程而失去了耐心。所以,WRL文件应尽量短小以缩短用户下载的时间,这就要求我们在为VRML作场景时使用一些特定的技巧,比如在建模时减少基本几何体的分段数以节约面数,删除场景中不可见的面,使用optimize编辑修改器对模型进行优化,用纹理贴图替代几何图形,使用Instances(关联复制)等。Instances是一个非常有用的技术,当场景中有多个关联复制品时,组成关联复制品的对象的面在VRML中却只定义一次。这样,你就可以多次使用关联复制品增加场景对象而不会增加文件的长度。
    另一个有用的技巧是在场景中放置足够多的摄影机,精心调整视角,并给摄影机取一个合适的名字。当用户在浏览时,可通过单击右键来选择不同的摄影机在场景中导航。此外,WRL文件还可以在HTML页面中显示,并能灵活控制其大小。所用到的HTML语句是<embed src=″filename.wrl″ width=″x″ height=″y″>