摘要:web3d是vrml技术进一步发展和成熟的结果,是网络三维的简称。相对于传统的vrml而言,它具有更强的视觉表现力和交互性,更适合虚拟教学环境和课件制作。eonstudio是一款比较成熟,具有明显技术优势的全新虚拟现实开发展示工具,本文试图应用它进行数字化展览室教学实例的开发,对eonstudio在网络展示开发中的应用进行探索性和实验性的研究。
关键词:eonstudio数字展览室设计与实现
1制作和发布eonstudio作品的基本流程
1.1制作三维模型。通常用第三方三维建模软件,如3dmax、maya或vrml语言编辑三维模型,可以创建新的模型,也可以读取已有的模型。
1.2将三维模型输出为eonstudio能够识别的特定文件格式。如用3dmax完成建模后,输出的文件格式应为(.3ds)。
1.3使用eonstudio来导入已经保存和建立好的三维模型。wwW.lw881.com
1.4使用eonstudio进行三维场景设计和对象编辑,如添加节点和行为设置交互和测试优化eon程式。
1.5发布eon应用程式。将三维场景输出为可在线浏览的文件格式,即eon作品。
2数字展览室的设计
2.1使用帮助功能的设计通过对eonstudio中textbox节点相关属性的设置,使与展览室运行流程和使用操作相关的说明文字出现在程序运行视窗中,其功能是为学习者提供指导课件使用的文字帮助信息。
2.2交互接口的设计交互实现原理:利用eon支持vbscript开发的功能,通过编写script实现寻找接口,实现数据和指令的传输,达到实时交互的目的。使用的方法主要包括script接口、eai接口等。eon的script节点是连接vc++6.0和eon的桥梁,它可以描述一个由用户自己定义事件域、事件出口和入口。然后在vc++6.0开发平台利用外部创作接口eai为系统中各实体创建外部环境接口,从而实现交互。
eonprofessional的script节点可以由用户定义任意多个扩展域(exposedfield)、输入事件(eventin)和输出事件(eventout),而每一个事件vbscript中对应一个函数,用户就在这里编写实现虚拟展室复杂交互功能的源代码。然后script节点的输入输出函数在eon的流程图上与交互功能节点进行连接,创建内部环境接口,为eai访问入口作好准备。
eai可以使外部程序通过eonscript实现对虚拟设备的控制,这里所说的外部程序指在vc++6.0编制的交互界面上访问eon节点的程序。
用户在交互界面上可以通过按钮或文本框发送指令给eai,eai就能访问内部程序接口,触发eonscript的某一事件,从而是虚拟环境中的设备实现各种动作,同时用户还可以通过tcontrol类的getouteventtype()、getouteventname()方法监视反馈信息,达到实时交互的效果。
2.3数字展室立体展示功能的设计可以对展览室的物理结构进行立体仿真展示。当鼠标移动到模型上面时,可以出现其详细的文字说明。在模型上单击鼠标左键时,模型按照特定的轴方向旋转,再次单击时则停止转动。右键单击模型时,可以从由远及近的视觉关系逐渐独立地出现在窗口之中,拖动鼠标可以实现多角度观察的结构,再次右键单击模型时,恢复到初始状态。
3数字展览室的实现
3.1三维建模利用3dmax软件对数字展览室结构模型进行建模。在此过程中,为了便于后期展示时对模型进行观察,可以为各个功能区设定不同的颜色和大小加以区分。最后将导出格式为.3ds的文件保存,输出的文件名为exhibition.3ds文件。其中,三维建模是整个课件制作的前提和基础,同时也是关键所在。
3.2所使用的节点和原形介绍框架节点(frame):用来群组存放多个节点,使模拟树的结构清晰、明了。提示节点(tooltip):在模拟物体上加上辅助文字说明。旋转节点(rotate):使父系节点下的所有模型物体转动。单击传感节点(clicksensor):当对象被点击时,它被触发,从而触发与之有关联的其他功能节点。开关节点(latch):利用布尔数值来触发控制运算(0为false,1为true)。文字节点(textbox):可以加入一个文字方块于模拟程式中,用来提供用户相关咨询。对象导航原形(objectnav):可以使使用者全方位观察三维对象的运动模型,利用鼠标和键盘,使用者可以在任意方位旋转、平移、缩放三维对象。漫游节点(walk):用来实现在三维环境中漫游行走,一般用鼠标来控制。
3.3使用帮助功能的实现在scene节点下添加frame节点,再向frame节点中添加textbox节点,双击textbox节点,打开它的属性框,输入想要显示的说明文字。此外可以修改文字的颜色和字体以及背景颜色,以便获得更好的视觉效果。
3.4数字展览室展示功能的实现步骤一:在scene节点下添加一个frame节点和objectnav原型,将frame节点起名为exhibition。将先前转换好的exhibition.3ds文件导入到名为exhibition的frame节点下,并在其下面添加tooltip、rotate、clicksensor和latch节点。为了能从多侧面方便观察模型在操作过程中的模型的整体变化,增添视窗viewportnode于viewports文件下。
步骤二:eon模型中的camera(相当于人的眼睛)复位功能:增添keyboardsensornode于任意位置,以及分别在模型与cameranode下增添placenode。
步骤三:声音文档文件的跟随:添加clicksensornode、soundnode于模型的framenode下。
步骤四:交互的实现:添加scriptnode于模型的framenode下,scriptnode是实现人机交互的重要节点,在scriptnode里用户可以利用vbscript和javascript自己定义输入、输出事件,起到连接的作用。
步骤五:利用eonstudio自带的网页发布精灵,可以将制作好的作品很容易地发布到网上,并且它提供了很多种模版以供选择。
4总结
eonstudio凭借人性化、可视化的操作界面,简单的操作性,强大的交互功能,大大简化和降低了数字展览室开发和制作的过程和技术难度。本文利用eonstudio制作数字化展览室相信是对其在网络三维互动应用方面研究的深入,相信未来的学习者定会开发出更好更优秀的网络三维互动作品。
参考文献:
[1]廖红.网上科技馆与中国数字科技馆.中国科学技术馆.2006.10:8-13.
[2]刘颖,田真.浅谈数字博物馆的发展与急需解决的问题.北京科协.2005.5:40-44.
[3]李垂标,朱波,陈力生,李世停.基于eonstudio5.0的核级安全阀虚拟维修训练系统[j].阀门.2005.(4).
[4]eon详细基础教程.[eb/ol]/teach/cursor/20
本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/245007.html