一种基于3D和Virtools技术的开发方法

文档序号:9787163阅读:279来源:国知局
一种基于3D和Virtools技术的开发方法
【技术领域】
[0001]一种基于3D和Virtools技术的开发方法主要是涉及计算机3D虚拟方面领域。
【背景技术】
[0002]实验是中学及高校教学中一个重要的教学环节,国内很多中学及高校实验课的开设普遍不足,在一定程度上影响了教学质量。虚拟实验弥补了这方面的缺陷。相比常规实验,虚拟实验具有的特点是:弥补了教学经费的不足;避免真实操作所带来的危险;彻底打破空间和时间的限制。随着虚拟现实技术的发展,虚拟实验在实验教学中的应用越来越受到重视。它们都有一个特点,就是基于VRML (Virtual Reality ModelingLanguage)。但基于VRML的虚拟现实可视化工具还有待进一步研究:以VRML为基础的基于文本的虚拟场景生成工具存在不能提供可视化环境,用户必须有一定的背景知识和场景搭建人员必须从VRML提供的基本集合形体出发搭建复杂场景等缺点;以VRML为基础的基于Java技术通过EAI (External Authoring Interface)进行交互控制,要求用户必须熟悉Java语言以及VRML动画交互的编程。这样的结果是,对于实际开发难度大、复杂,不易实现。本文针对上述的不足,提出了一种基于3D和Virtools技术的虚拟实验开发方法-VVE,即用
3DMAX构建3D实验场景、制作3D动画;用Virtools进行数据处理,交互控制。
[0003]基于Virtools虚拟实验开发结构图主要包括虚拟实验开发平台、虚拟实验开发平台模组、建模软件、PC工作站、虚拟实验(VR Content)和浏览器(Virtools Web Player)等。虚拟实验开发平台是Virtools Dev ;虚拟实验开发平台模组包括VirtoolsPhysicsPack、Virtools Al Pack、Virtools VR Pack、Virtools XboxKit、Virtools OpenCAD、Virtools Server ;输入设备主要指控杆、方向盘、3D滑鼠、3D手套、位置追踪器;输入设备指立体眼镜、立体荧幕、头盔式显示器、模拟机;展出系统包含立体剧院和展示系统。

【发明内容】

[0004]通过国家专利检索没有发现关于此系统方面的申请资料。
[0005]一种基于3D和Virtools技术的开发方法可以分为3个步骤,分别是模型的构建、模型的控制和虚拟实验的发布。
[0006]一、模型的构建;
虚拟实验环境的构建首先是模型的构建,由于Virtools本身没有建模的功能,所以一般建模方法是采用建模软件来实现,如3DMAX或Maya等(本文中采用的是3DMAX)。用3DMAX制作三维模型或动画后以NMO格式保存文件(导出NMO格式文件需要安装相应的MaxExporter插件),然后在Virtools中导入所生成的NMO文件。导入到Virtools的三维世界编辑区的3D (或2D)元素可以加以观察、控制,也可以用安装SDK插件编辑更多的BBs,实现虚拟实验的需要。
[0007]二、模型的控制;
Virtools中三维(或二维)模型的控制是靠Virtools内置行为模块实现的。这些行为模块有500多个,能够对三维(或二维)模型进行各种基本操作如大小变化、平移、旋转、缩放、颜色变化、光线变化、三维贴图等,复杂操作如投影、燃烧、行走、奔跑、后退等。实现对三维世界编辑区中的模型的控制,一种方法就是直接调用行为模块库中的内置BBs,一种是使用VC++通过手工自动编写BBs。前者简单方便,后者更为灵活。点击Data Resource(数据资源库),选择Animat1ns (行为动作)类中的行为,用鼠标点击所要的动作行为并拖到3D Layout (三维世界编辑区)中的角色身上,并在Schematic (脚本流程图)中运用行为交互模块库中的行为模块编辑角色相应的脚本,这样就形成3D交互动画了。
[0008]一般地,用行为动作库中的行为模块设计的3D动画能够满足设计的需要。但有时必须自己写VC++代码来制作BBs,其中主要用到一些Win32和API编程的方法。
[0009]三、虚拟实验的发布;
虚拟实验由两部分组成:虚拟环境和交互动画。其中模型的控制完成了虚拟实验之中的交互动画,而虚拟环境则是由构建的三维模型,如实验台、实验仪器、实验药品、墙、地板等共同构成虚拟实验室。虚拟实验制作完毕后,可采用两种方法加以保存,一种是直接将整个虚拟实验以CMO文件格式保存,这种情况保存的文件只有载入Virtools才可进行单机的虚拟实验;一种是将整个虚拟实验以VMO文件格式保存,同时相应地以HTML文件格式保存一份,这种情况需要安装播放插件VirtoolsWeb Player,可以进行单机的虚拟实验,也可以发布在网上,只要客户端安装了播放插件都可以进行虚拟实验。
[0010]下面给出了部分用Virtools的BBs进行编程的镁条燃烧虚拟实验的实例。
[0011]I)实现用户的基础属性设置与做实验相关动作的设置。
[0012]①加 Enhanced Character Keep On Floor>Prevent Collis1n 到 Schematic 中用户的Script,并编辑输入参数;
②添加KeyboardController、UnlimitedController 到用户的 Script,并编辑输入参数;
③添加KeyEvent、Send Message到用户的Script,并编辑输入参数。
[0013]2)实现用户用手揭开酒精灯灯帽,并放在实验台上的功能。
[0014]①加Wait Message、Send Message到灯帽的Script,并编辑输入参数;
②添加Set Posit1n、Set Orientat1n、Keep At ConstantDistance 到灯帽的Script,并编辑输入参数;
③点击AddParameter Operat1n 添加 Get Distance,添加 Test、DeactivateScript、Hide到灯帽的Script,并编辑输入参数。
[0015](3)实现用户拿打火机点燃酒精灯的功能。
[0016]①添加Wait Message、Send Message到打火机的Script,并编辑输入参数;
②添加Set Posit1n、Set Orientat1n、Keep At Constant Distance 到打火机的Script,并编辑输入参数;
③加GetDistance、Test、Deactivate Script到打火机的Script,并编辑输入参数;
④加WaitMessage、Send Message到酒精灯火焰Script,并编辑输入参数;
⑤添加Point Particle System、Test、Get Distance、Deactivate Script 到酒精灯火焰Script,并编辑输入参数。
[0017](4)实现用户用手拿坩埚钳夹镁条的功能。
[0018]①添加Wait Message、Send Message到i甘祸钳的Script,并编辑输入参数;
②添加Set Parent、Set Orientat1n、Keep At Constant Distance 到樹祸甜的Script,并编辑输入参数;
③加Get Distance、Test、Timer、Deactivate Script 到i甘祸甜的 Script,并编辑输入参数;
④添加WaitMessage、Send Message到镁条的Script,并编辑输入参数;
⑤添加Set Posit1n、Set Orientat1n、Keep At ConstantDistance 到续条的Script,并编辑输入参数;⑥添加 Get Distance、Test、Unlimited Controller 到续条的Script,并编辑输入参数。
[0019](5)实现镁条燃烧的功能。
[0020]①添加Wait Message、Send Message到镁条火焰的Script,并编辑输入参数;
②添力口 Set Posit1n、Set Orientat1n、Keep At Constant Distance、Point
Particle System到镁条火焰的Script,并编辑参数。
[0021]看到用户在虚拟实验室中做镁条燃烧的实验:当按下键盘上的T键后,虚拟角色-用户就会用其右手把酒精灯灯帽揭开放在实验台上;按下L键后,用户就会去拿打火机点燃酒精灯;当按下G键后,用户就执行拿坩埚钳夹镁条点燃镁条,镁条燃烧完毕后把坩埚钳放回实验台;按下C键后,用户就会熄灭酒精灯。另外可以通过数字键2、8、4和6控制用户行另外可以通过数字键2、8、4和6控制用户行走、后退、左转和右转,实现漫游虚拟实验的目的。
【主权项】
1.一种基于3D和Virtools技术的开发方法其过程序分为模型的构建、模型的控制、虚拟实验的发布。2.根据权利要求1的过程则模型的构建则用3DMAX制作三维模型或动画后以NMO格式保存文件(导出NMO格式文件需要安装相应的MaxExporter插件),然后在Virtools中导入所生成的NMO文件;导入到Virtools的三维世界编辑区的3D (或2D)元素可以加以观察、控制,也可以用安装SDK插件编辑更多的BBs,实现虚拟实验的需要。3.根据权利要求1的模型的控制则实现对三维世界编辑区中的模型的控制,一种方法就是直接调用行为模块库中的内置BBs,一种是使用VC++通过手工自动编写BBs。4.根据权利要求1的虚拟实验的发布则是:虚拟环境和交互动画。5.根据权利要求4其中模型的控制完成了虚拟实验之中的交互动画,而虚拟环境则是由构建的三维模型。
【专利摘要】一种基于3D和Virtools技术的开发方法主要是指VVE方法,即用3DMAX构建3D实验场景、制作3D动画;用Virtools进行数据处理,交互控制,使其具有真实性、交互性、简单和易实现等特点。
【IPC分类】G06T13/20, G06F9/44
【公开号】CN105549955
【申请号】CN201410586109
【发明人】戎翔
【申请人】镇江华扬信息科技有限公司
【公开日】2016年5月4日
【申请日】2014年10月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1