APP下载

基于EON Studio的数字展览室的设计与实现

2009-01-20丁黎明

中小企业管理与科技·上旬刊 2009年10期
关键词:鼠标节点建模

丁黎明

摘要:Web3D是VRML技术进一步发展和成熟的结果,是网络三维的简称。相对于传统的VRML而言,它具有更强的视觉表现力和交互性,更适合虚拟教学环境和课件制作。EON Studio是一款比较成熟,具有明显技术优势的全新虚拟现实开发展示工具,本文试图应用它进行数字化展览室教学实例的开发,对EON Studio在网络展示开发中的应用进行探索性和实验性的研究。

关键词:EON Studio数字展览室设计与实现

1制作和发布EON Studio作品的基本流程

1.1制作三维模型。通常用第三方三维建模软件,如3D Max、Maya或VRM L语言编辑三维模型,可以创建新的模型,也可以读取已有的模型。

1.2将三维模型输出为EON Studio能够识别的特定文件格式。如用3D Max完成建模后,输出的文件格式应为(3ds)。

1.3使用EON Studio来导入已经保存和建立好的三维模型。

1.4使用EON Studio进行三维场景设计和对象编辑,如添加节点和行为设置交互和测试优化EON程式。

1.5发布EON应用程式。将三维场景输出为可在线浏览的文件格式,即EON作品。

2数字展览室的设计

2.1使用帮助功能的设计通过对EON Studio中Textbox节点相关属性的设置,使与展览室运行流程和使用操作相关的说明文字出现在程序运行视窗中,其功能是为学习者提供指导课件使用的文字帮助信息。

2.2交互接口的设计交互实现原理:利用EON支持VB Script开发的功能,通过编写Script实现寻找接口,实现数据和指令的传输,达到实时交互的目的。使用的方法主要包括scrlDt接口、EAI接口等。EON的Script节点是连接vC++6.0和EON的桥梁,它可以描述一个由用户自己定义事件域、事件出口和入口。然后在VC++6.0开发平台利用外部创作接口EAI为系统中各实体创建外部环境接口,从而实现交互。

EON Professional的Script节点可以由用户定义任意多个扩展域(expose d Field)、输入事件(eventln)和输出事件(eventOut),而每一个事件VB Script中对应一个函数,用户就在这里编写实现虚拟展室复杂交互功能的源代码。然后Scnpt节点的输入输出函数在EON的流程图上与交互功能节点进行连接,创建内部环境接口,为EAl访问入口作好准备。

EAI可以使外部程序通过EON scnpt实现对虚拟设备的控制,这里所说的外部程序指在VC++6.0编制的交互界面上访问EON节点的程序。

用户在交互界面上可以通过按钮或文本框发送指令给EAI,EAI就能访问内部程序接口,触发EON scnpt的某一事件,从而是虚拟环境中的设备实现各种动作,同时用户还可以通过TControI类的GetOutEventType()、GetOutEventName()方法监视反馈信息,达到实时交互的效果。

2.3数字展室立体展示功能的设计可以对展览室的物理结构进行立体仿真展示。当鼠标移动到模型上面时,可以出现其详细的文字说明。在模型上单击鼠标左键时,模型按照特定的轴方向旋转,再次单击时则停止转动。右键单击模型时,可以从由远及近的视觉关系逐渐独立地出现在窗口之中,拖动鼠标可以实现多角度观察的结构,再次右键单击模型时,恢复到初始状态。

3数字展览室的实现

3.1三维建模利用3DMax软件对数字展览室结构模型进行建模。在此过程中,为了便于后期展示时对模型进行观察,可以为各个功能区设定不同的颜色和大小加以区分。最后将导出格式为.3ds的文件保存,输出的文件名为Exhibition.3ds文件。其中,三维建模是整个课件制作的前提和基础,同时也是关键所在。数字展览室模型如图3.1

3.2所使用的节点和原形介绍框架节点(FFame):用来群组存放多个节点,使模拟树的结构清晰、明了。提示节点(Tooltip):在模拟物体上加上辅助文字说明。旋转节点(Rotate):使父系节点下的所有模型物体转动。单击传感节点(Clicksensor):当对象被点击时,它被触发,从而触发与之有关联的其他功能节点。开关节点Ilatch):利用布尔数值来触发控制运算(O为false,1为true)。文字节点cTextbox):可以加入一个文字方块于模拟程式中,用来提供用户相关咨询。对象导航原形(O bjectNav):可以使使用者全方位观察三维对象的运动模型,利用鼠标和键盘,使用者可以在任意方位旋转、平移、缩放三维对象。漫游节点(Walk):用来实现在三维环境中漫游行走,一般用鼠标来控制。

3.3使用帮助功能的实现在Scdne节点下添加Frame节点,再向Frame节点中添加Textbox节点,双击Textbox节点,打开它的属性框,输入想要显示的说明文字。此外可以修改文字的颜色和字体以及背景颜色,以便获得更好的视觉效果。

3.4数字展览室展示功能的实现步骤一:在Scene节点下添加一个Frame节点和ObjectNav原型,将Frame节点起名为E×一hibition。将先前转换好的E×hibition.3ds文件导入到名为Exhibition的Frame节点下,并在其下面添加Tooltip、Rotate、CIicksensor和Latch节点。为了能从多侧面方便观察模型在操作过程中的模型的整体变化,增添视窗viewport node于vrewports文件下。

步骤二:EON模型中的camera(相当于人的眼睛)复位功能:增添keyboard sensor node于任意位置,以及分别在模型与cameranode下增添place nodeo

步骤三:声音文档文件的跟随:添加clicksensor node、soundnode于模型的frame node下。

步骤四:交互的实现:添加Script Node于模型的frame node下,Script Node是实现人机交互的重要节点,在Scnpt Node里用户可以利用VB Script和java Script自己定义输入、输出事件,起到连接的作用。最终的路径视窗如图2—2所示:

步骤五:利用EON Studio自带的网页发布精灵,可以将制作好的作品很容易地发布到网上,并且它提供了很多种模版以供选择。

4总结

EON Studio凭借人性化、可视化的操作界面,简单的操作性,强大的交互功能,大大简化和降低了数字展览室开发和制作的过程和技术难度。本文利用EON Studio制作数字化展览室相信是对其在网络三维互动应用方面研究的深入,相信未来的学习者定会开发出更好更优秀的网络三维互动作品。

猜你喜欢

鼠标节点建模
物理建模在教与学实践中的应用
在经历中发现在探究中建模
思维建模在连续型随机变量中的应用
基于移动汇聚节点和分簇的改进节能路由算法
求距求值方程建模
CAE软件操作小百科(48)
基于点权的混合K-shell关键节点识别方法
鼠标折叠笔
45岁的鼠标
浅谈基于P2P的网络教学系统节点信息收集算法