| 利用虚拟现实技术构建动画素材开发环境的研究 |
| 当前位置: 论文资料 >> 计算机论文 >> 计算机网络 >> 利用虚拟现实技术构建动画素材开发环境的研究 | ||
| 利用虚拟现实技术构建动画素材开发环境的研究 | ||||
|
2.2 组织与管理大量的VRML模型 随着模型(代码引擎)的不断开发,其数量也会越来越多。在这种情况下,就要求我们设计出一种能有效地组织和管理众多的模型的机制。我们首先想到用数据库来管理。但经分析发现,如果数据库能根据用户的要求返回模型,那这种模型必然是在数据库中已经存在的静态模型。如果考虑到用户的各种要求,这个数据库必然会无限膨胀以致失去其数据库管理所具有的任何优点。通过分析决定借鉴当前应用软件(例如3D MAX)比较流行的管理机制——插件。这种机制就是将一类模型组织为一个插件(即为VRML代码引擎)放到系统下。每次启动系统,系统会自动将其目录下的所有插件装载到系统中来扩充自己的功能。可以想象采用了这种机制,肯定会极大地提高系统的扩展性与开放性。我们受到Windows编程中的“回调函数”思想的启发:一般操作系统都是由系统提供函数,由程序来调用,而回调函数则是由程序提供函数,由系统调用,方向刚好相反。 这样,我们的插件(VRML代码引擎)也被设计成能够提供一些标准的例程(回调函数)来供系统来调用。其与系统协作的机理如下图( 图1 ): ![]() 这些例程包括: getLibName 返回该插件所代表节点库的名称 getNodeNameList 返回该插件所提供的模型列表 getArgs 返回当前选中模型的参数描述定义 checkArgs 核对用户的输入是否正确 processArgs 利用代码引擎生成VRML代码 根据以上机理,我们编制了系统“诺德发动机(Node Engine)”;而插件则是制作成DLL(动态链接库)形式。之所以采用DLL这种形式,是因为我们可以利用DLL的输出例程及其动态调用机制模拟回调函数。 鉴于Delphi 4 集成开发环境是真正的面向应用程序设计全过程的可视化应用程序开发环境,其提供的大量实用工具可以使开发人员很容易地实现和完成复杂的功能。因此我们选择Delphi 4作为我们的系统及插件的开发工具。 最后我们通过实例验证了上述机制的可行性及实用性。另外补充一点:由于插件开发采用了DLL方式,所以只要其提供了符合规则的例程,至于使用什么开发工具开发则是无关紧要的。因此说,为了在极大程度上得到第三方开发人员提供的支持,该系统在开放性上做出了有效的努力。 3 VML网站建设 只有不断变化、更新的事物才最具有生命力。由于我们的系统采用了插件机制,因此对于模型的更新与补充是相当方便的。只需将新的插件替换老的插件即可。问题是新的插件从何而来。最好的途径当然是利用Internet。这就要求我们首先要建立一个VML网站,其次在系统中提供一个连到网站上的接口。对于后者,实现的方法非常简单,只需在系统中提供一个连到VML网站的快捷按钮即可。 VML网站的建设有两点是很重要的。第一应使访问者感受到该网站与其他网站的区别,即应体现出VRML的存在。第二对于众多的插件,应分门别类加以管理,也就要合理安排超级链接。在网站的实现中,我们用Java编制了动态菜单来实现对插件有效的管理。 至于如何体现VRML的存在,我们在网站首页用VRML编写一个简单的三维场景。但是VRML是用VRML浏览器播放的,在IE中,三维场景与网页其他部分会被VRML浏览器分隔开,不利于整体效果。为了解决这个问题,我们对VRML浏览器进行研究发现其描绘三维场景时使用了Microsoft公司的DirectX技术。在DirectX中有一个组件DirectAnimation是专门用来配合DHTML(动态HTML)制作网页二维和三维动画的。
图 2
|
||||
|
|
||||