预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于Virtools的虚拟演示系统的设计【摘要】虚拟演示是近年来兴起的一个研究领域,有各种不同的开发工具。利用OpenGL和VRML技术开发的虚拟交互式演示系统,具有虚拟现实(VirtualReality)的互动和沉浸的特征,但是对开发人员的编程能力有一定的要求,而目前大多数系统并不具有信息询问功能。基于3D动画软件3dsmax和实时VR编辑器Virtools,我们为鹫峰森林公园开发了一套虚拟交互式演示系统。其中,3dsmax用于场景的构建,而Virtools用于场景的可视化,用户可以通过鼠标和键盘控制虚拟人物并与其互动。此外,植物信息可以通过鼠标点击轻松获取。通过这种方法创建的虚拟交互式演示系统不仅拥有很强的互动性和沉浸感,还带有信息询问动能,所有这些为实现此虚拟交互式演示系统提供了一个切实可行的途径。【关键字】虚拟演示;人物行动;信息询问;VirtoolsI.引言虚拟现实是一项广泛集成的技术,涉及计算机图形学、人机交互技术、传感器技术以及人工智能等领域。虚拟现实VR是采用计算机和其他设备来创造一个模拟的三维虚拟环境,在这个虚拟环境中,参与者能够进行虚拟的操作和互动,使人产生如同现实世界的感觉。目前,复杂情景的虚拟演示是重要应用领域之一,也引起了众多专家和学者的关注。虚拟演示已经采取的主要技术有:基于OpenGL和VisualC++[1]的虚拟演示技术;基于VRML和JAVA相关技术以完成虚拟演示[2][3];基于WTK技术进行建模,同时实现虚拟演示[4];基于MultiGenCreator和Vega的虚拟演示技术[5]。基于这些技术的虚拟演示系统的开发能够获得更好的沉浸感和交互性,而在开发过程中,要求开发人员具有一定水平的编程能力,且开发难度也有所增加。II.虚拟演示的实现方法虚拟演示的实现大概可以分为两部分:场景建模和场景演示。场景模型的构建是整个虚拟场景的基础,它将直接影响到虚拟环境的自然性和逼真度。场景建模就是将需要模拟的场景通过数学方法,以三位图像的形式储存在电脑里。场景演示是在虚拟场景的基础上创建的,利用演示平台、适当的算法和冲突检测,实现虚拟场景的演示。在本篇论文中,该虚拟演示系统是为北京鹫峰国家森林公园所搭建。采用了基于3D和Virtools技术的开发方法。图表1显示了系统实现的过程。图表1系统示意图根据鹫峰森林公园的实际地表景观,首先,三维模型或者场景动画在三维动画软件3dsmax中被构建好,并以.nmo格式输出(扩展名为nmo的文件是在Virtools中用来存储人物、场景以及物体信息的默认文件格式)。其次,.nmo文件将被导入到Virtools软件中。在Virtools中,通过添加模块脚本来实现交互。当所有的交互设置完成后,该虚拟交互系统将被发布。有两种方法可以进行系统的发布:一种是打包生成.exe可执行文件,另一种是将文件保存为html+vmo格式,通过InternetExplorer进行发布。.III.演示平台的功能化设计在此三维虚拟场景中,用户通过不同的演示方法观察和研习三维模型,为了获得更多有用的信息,该三维模型是利用三维数据创建的[6]。该虚拟演示系统是实时的,它为用户提供了不同的演示漫游的方法。A.场景演示的设计1)演示导航演示导航也可被认为是通过路径进行演示。人物可以通过在虚拟场景中预先设计好的道路进行漫游。在虚拟演示系统中,道路的设定是与公园中的景点分布相一致的,而这将会被提前记录和保存起来。用户可以令虚拟人物在实现选择好的道路上自由漫游,道路沿途的景观便可一一展现在用户面前。2)人物演示a)设计人物虚拟人物被设计在演示系统中,在演示过程中,用户可以再互动模式中控制人物进行漫游。用户可以用鼠标或键盘,甚至其他交互设备来控制虚拟人物在虚拟场景中向前移动、向后移动、向左转、向右转以及旋转。考虑到人在旅途中所体现出的生理特性,我们为虚拟人物设计了两个属性:体力值和饥饿值,相应地我们也设计了这些属性值的变化规则。与此同时,我们也为虚拟人物设计了背包。用户如果点击背包按钮,便可打开背包。用户点击X按钮,便可关闭信息面板。还是在图表2中,在背包中有几种食物。不同的食物对缓解虚拟人物的饥饿感的程度是不同的。在徒步漫游的过程中,虚拟人物的体力值会逐渐降低,饥饿程度会逐渐增加,“饥饿程度”状态栏显示了人物当前的饥饿值,如果虚拟人物停下来休息,体力值便会升高,如果虚拟人物补充一些食物,饥饿值就会降低。虚拟人物体力值和饥饿值的主要功能模块见图表3。图表2人物面板图表3体力值改变的实现b)人物的运动在Virtools中,虚拟人物的移动有两种类型的方法:一种是基于二维图像连续的帧来进行控制和调用,另一种方法是对三维模