虚拟现实新技术.ppt_第1页
虚拟现实新技术.ppt_第2页
虚拟现实新技术.ppt_第3页
虚拟现实新技术.ppt_第4页
虚拟现实新技术.ppt_第5页
已阅读5页,还剩160页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、虚拟现实新技术,目录,1、虚拟现实新技术简介 2、Multigen、Performer、OSG基础虚拟现实仿真软件介绍 3、Vega premiere、Delta3d虚拟现实仿真工具介绍 4、OSG基础虚拟现实仿真软件功能及结构解析 5、OSG基础虚拟现实仿真软件编程技术讲解与实战 6、Delta3d虚拟现实仿真工具编程技术讲解与实战 7、在OSG与Delta3d基础上研发的虚拟现实仿真平台3DVRI介绍() 8、三维制作软件3dsmax与虚拟现实平台的接口 () 9、其它虚拟现实软件介绍(包括QUEST3D、VRTOOLS、EON、等等) () 10、虚拟现实技术在各个行业中的应用及本课程结

2、束语 (1课时),1、虚拟现实与仿真技术简介,VR(VRITUAL REALITY)虚拟现实,虚拟现实又称“虚拟环境”,是一项较早出现的计算机技术,是用高科技的手段构造出来的一种人工环境,它具有模仿人的视觉、听觉、触觉等感知功能的能力,具有使人可以亲身体验沉浸在这种虚拟环境中并与之相互作用的能力,人进入到虚拟的场景中,不仅有逼真的感受,而且能在其中进行各种活动如漫游用户可以在虚拟场景中行走,可以触摸物体,可以打开或关上虚拟的门,在虚拟的场景中您可以看到鸟在天上飞,汽车在公路上跑,也可以飞行的模式在高空进行俯视,这些都是模拟实际环境的各种情况,所以虚拟现实就是采用计算机等高科技技术,模拟真实的生

3、活环境,通过人机交互,使人产生一种身临其境的感觉。较早出现的虚拟现实软件有(VRML、X3D、CULT3D、VIRTOOLS、SHOCKWAVE3D、MULTIGEN等等)。,2、 Multigen、Performer、OSG基础虚拟现实仿真软件介绍,三维仿真软件经过几十年的发展后,经历了OpenGVS,Vtree,SGI performer,Multigen等等多代软件的发展,目前已进化到先进基础仿真软件Openscenegraph(以下简称OSG)的时代,据世界权威的现代仿真网站()在2005年34月份的调查统计,OSG在世界仿真软件市场的占有率已超过51%,附

4、调查统计饼图(图零)。,与老一代的基础仿真软件Multigen之类相比OSG具有的先进特性列表列举如下: 1)产品的内核采用标准的场景图结构,通过对各类遍历场景图的算法进行优化,具备了最高效率的场景图结构与访问方法,通过对并行功能的加强,使得多个CPU可以对同一场景图进行硬件支持的高效运算。 2)直接从内核开始支持最新发布的OpenGL2.0版本的功能,目前极大多数仿真软件仍然停留在Opengl1.5或者更早 期的版本的基础上,已经不能满足日益提高的仿真市场的需求。,3)内置了对已经成为世界标准的GLSL的支持,使得仿真效果的真实性大为提高,老式的仿真软件由于开发年代久远限于当时的硬件条件,在

5、效果的视觉真实性方面一直存在让人感觉很不舒服的效果真实性问题,而仿真软件的一大目标就是要让人们能得到与真实接近的计算机仿真结果,不真实的仿真结果与这一目标是背道而驰的。 4)内置块状地形分割与降解的高速算法,能处理以地球为规模的大地形仿真工程。 5)直接与显示硬件相关联的二进制文件格式,可以快速的装入大量的数据到显示内存中。 6)能直接处理大量模型数据的场景编辑器,老式的仿真软件受限于研发时的硬件条件,通常以少量的面片作为仿真场景编辑器的处理单位,现在随着显示硬件的飞速发展,仿真场景能处理的模型的复杂度与数据量都大幅度增长,老式仿真软件的模型与数据处理能力不再与最新的仿真硬件相匹配,从而面临淘

6、汰的命运。,8)可以快速的提高仿真场景的制作效率与所得到结果的真实性,许多老式的仿真软件自带具备建模能力的场景编辑器,但由于这类场景编辑器不是主流的建模的软件,结果随着岁月的流逝当时确实非常领先的工具,经过N年后已不再先进,反而变成一个提高仿真模型与场景生产效率的阻碍因素,OSG通过专为当今最为先进的几大三维建模及动画软件3DSMAX、MAYA等等编写插件的方式可以直接支持与读入这些软件的工作结果,无论在模型的生产效率与场景的真实性方面都有一个质的飞跃。 9)通过软件提供的外围数据库接口,可以非常方便的将仿真场景与外围的数据库中的内容进行动态挂接,甚至只需写上几句Visual Basic语句就

7、可以将场景中的物体与数据库挂接起来,而老式的仿真软件通常提供C+的数据库接口,这样将提高仿真软件使用者的技能要求,会将一大批懂专业但编程能力不是很强的很 有价值的专业人士排除在仿真领域之外。 10)OSG本身就具备了许多其他仿真软件目前并不具备的先进特性限于篇幅这儿不再逐一介绍,详细可以查看OSG官方网站的信息 。,3、Vega premiere、Delta3d虚拟现实仿真工具介绍,Delta3D是一款由美国海军研究学院(Naval Postgraduate School)开发的全功能游戏与仿真引擎,得到美国军方巨大的支持与丰厚的投资。该引擎应用领域极为广泛,如开发在培训、教育、娱乐行业和科学

8、计算可视化领域等方面建模与仿真的软件。 Delta3D可以用在游戏与模拟仿真或其他图象处理软件上,最新版本Delta3D 1.1.0于2005年11月12日发布,修改了Delta3D 1.0.0版的许多错误,同时增加了许多新特性。它的标准化设计把一些知名开源软件和引擎如 Open Scene Graph(OSG), Open Dynamics Engine (ODE), Character Animation Library (CAL3D), 还有 OpenAL融为一体。Delta3D通过对这些底层模块进行隐藏封装,整合在一起从而形成了一个使用更加方便的高级API 函数库,使得开发者在必要的时

9、候能够使用底层函数进行二次开发。Delta3D在软件系列中,处于中间层(Middle layer)的位置上。,当前,Delta3D完全可以在Windows与Linux操作系统上使用Microsoft Visual Studio .NET (7.1)开发与测试的(其中Linux Fedora Core 4 使用gcc 4.0.0),所有底层内核良好实现多平台支持,只需对源代码稍加修改(只要是Win32 和 Linux系统,无需改动直接可以运行),就可以快速搭建适应任何平台的应用程序。 Delta3D使用OSG 和OpenGL渲染而且可以导入众多完整的格式,如(.flt, .3ds, .obj,

10、等)。,Delta3D的主要特性:,Delta3D主要目标是提供一套简单可行的API函数库,构成搭建任何可视化软件的基本要素。它不但提供了底层功能模块,而且提供了仿真、训练、游戏编辑器(STAGE),BSP 编译器,粒子编辑器,单机版模型浏览工具,以及内置支持美国军方标准的分布式仿真环境HLA通讯及仿真标准等多种实用工具。而且Delta3D提供了一套与引擎高度集成的庞大的仿真模块体系,包含用于系统初始化的基类模块(ABC),用于设置动态角色和道具的动态角色层(DAL),用于直接方法连接的信号/跟踪支持,用于控制角色的游戏管理器(GM),用于读取、渲染、产生过程化地形的插件和用于角色通信的高级消

11、息处理器,地形数据也采用美国军用的经纬度标准,可以直接根据卫星遥测图像自动生成地形,并能根据卫星遥测图像上的色彩标准用LCC算法自动产生出各种植被并且正确的分布到地形模型上,Delta3D的地景模块采用动态装载的算法,可以支持以一个星球为单位的超大型地形数据容量,在军方需要的高精度地形仿真领域具有很高的实用价值。,更重要的是,Delta3D是一个开放源码的引擎,研发开始于2002年4月,荟萃现有最先进的系列开源软件(Open Source projects),并经过全世界所有Delta3D关注者的增补与完善,相对于购买一款价格很高又不开放源代码的引擎具有很大的优势,使用Delta3d你可以任意

12、修改代码并且定制所有你想要的功能,这是不开放源代码的商业引擎无法做到的。,Delta3D的内部功能模块构成和应用程序,Delta3D的内部功能模块主要含有: dtCore:包含通用基本功能。 dtChar:包含动画融合(Animation blending),角色步长与场景协调(Avatar feet correspond to world positioning)等功能。 dtABC:高级程序基本类模块,对于某些应用程序的开发很有用处的。 dtHLA:HLA网络模块的界面,实现坐标系统转换等功能。 dtTerrain:提供执行地形载入,渲染,装饰的插件体系框架。 dtDAL:动态角色层模块提

13、供一个生成、访问、控制角色的底层支持。 dtGUI:包含Crazy Eddies GUI的简捷界面。 dtGame:提供一个建立复杂的游戏,训练软件的体系。 dtUtil:贯穿整个Delta3D的基本应用组件。 dtBSP:将载入文件自动优化为BSP格式的组件。 dtAudio:提供高级的音频处理函数库。 dtNet:提供多用户网络操作的高级API函数库。,Delta3D应用软件提供了多种实用工具:包含一个仿真、训练、游戏编 器STAGE是一个完整的可视化3D地图编辑器,除此之外还有: 1、可视化粒子效果编辑器:为粒子特效编辑提供一个使用与演示方便的操作界面。 2、3D模型浏览器:是一个使用方

14、便,独立运行的3D模型浏览工具。 3、BSP编译器:是一个载入、编译和保存普通对象为BSP格式的工具。 4、HLA阅读器:是一个对HLA网络所有实体对象进行3D描述的工具。,Delta3D研发团队:,如上图所示,Delta3D研发团队有三个项目组完成了Delta3D的内核(Core),编辑器(“STAGE”)以及应用系统(Testing)的研发。 Delta3D研发过程中,得到美国军方大量的资金支持,同时拥有人数众多的高素质研发团队,因此研发进展大大加快,最后研发完毕时间比预计的进程至少提前半年有余。,在2005年12月2日,Delta3D研发团队参加了2005年美国奥兰多仿真会议,大会一致认

15、为Delta3D在仿真领域取得了最大的成就。“尽管没有像其他与会者有更大的展台,仅凭我们口头宣传与介绍,依然吸引无数人的关注。NETC, BMH, and DARWARS制作的Delta3D工程演示也吸引了一群又一群的人们。” Delta3D 1.1.0的CD很快就给拜访的人群发光了,最后会议闭幕时只留下两张CD作为珍品收藏。下面是部分会场图片。,Delta3D最新应用推广大事: 最近,纽约北港(Northport)的 AVI (Applied Visions, Inc.) 公司获赠了美国商业创新研究计划(SBIR)提供的第二阶段高额基金,用以使用Delta3D来研发实战导弹武器控制系统TTW

16、CS的操作及训练辅助系统。,AVI公司是第一家被授予使用Delta3D 进行软件开发的公司(不算Delta3D开发团队的合作公司BMH),AVI有限公司已经获赠一笔SBIR高额基金,这是为开发一套武器操作人员用于完成课程训练任务的战斧导弹武器操作仿真系统TTWCS而准备的。这表明Delta3D应用开发已经进入国防仿真软件市场的第一步,标志着Delta3D的发展进入一个重要的里程碑。该仿真软件的快速发展将取代Multigen在仿真界的地位。 实战武器控制系统TTWCS使得海军战舰的武器操作人员能够利用他们掌握的技能操作和控制战斧导弹。在以前,战斧导弹是执行具体任务时发射的;现在战斧导弹能够发射出

17、去并在指定的空间区域巡航,用导弹携带相机搜索目标,或者等待地面控制人员选定攻击目标。然而这项改进使得船上的导弹发射人员在决定哪一支导弹什么时候攻击哪一个目标的时候比以往更难于取舍。在该项目的第一阶段,AVI公司是三个SBIR基金受奖者之一,他们评估了几种引擎诸如UNREAL引擎和Torque仿真引擎后选用了微软飞行模拟器建立系统原型,最近AVI公司被授予继续进行第二阶段的系统研发,由于Delta3D更强大的物理学模拟功能和开源许可的便利,他们决定放弃微软飞行模拟器,取而代之的是采用Delta3D作为第二阶段的系统底层引擎。,从论文战斧导弹操作计划与训练中仿真技术的应用(作者:Ken Doris

18、 ,Mark Larkin ,AVI公司;Dave Silvia,美国海军水下作战研究中心;Perry McDowell,Delta3D研发团队)可以找到该系统更多的信息,该论文已发表在月刊Fall Simulation Interoperability Workshop第九期上。,Delta3D最新进展:,(1)、Version 1.0 新特性: 3D 声音顶级游戏引擎 角色动画天气特效 HLA viewer.setUpViewer(); osg:Node* node = osgDB:readNodeFile(cessna.osg); viewer.setSceneData(node); v

19、iewer.realize(); while (!viewer.done() viewer.sync(); viewer.update();,viewer.frame(); viewer.sync(); return 0; 编译运行后,就能看到一个飞机的模型。 NOTE:如果看不到模型,检查OSG1.0是否正确安装,即OSG_FILE_PATH是否设置正确。 这个程序的核心是,osgProducer命名空间的Viewer类实例,这个类负责管理窗口的创建,控制投影矩阵,控制OpenGL的渲染,实现程序的主循环。它还具有控制场景渲染状态,查看帧速,抓图等功能。OsgDB命名空间的readNodeF

20、ile函数负责从文件里读入三维模型及其纹理等数据,它返回读入的节点,可以加到场景图中。主循环分三步,同步,更新和绘制,当用户按下ESC键时,osgProducer:Viewer:done()返回true,主循环结束。,(3)、程序的操作,鼠标:,键盘:,总结:OSG的Viewer类本身提供了很多功能,所以,只需要简单的几句代码,就能有一个不错的程序,这些功能如果用OpenGL实现,需要很多的时间。当不再为这些基础功能操心的时候,我们就能把精力放在我们要实现的功能上面。,节点的更新回调和位置姿态控制,目的:通过本教程,学会将自定义节点添加入场景图,并控制节点在每一帧的运动。,(1)、添加自定义节

21、点,OSG提供的节点类(Node及其子类)实现了通用的场景图结构,但是不可能提供每一个用户需要的类,比如我要做一个飞行模拟程序,OSG不会给我提供一个Aircraft类。所以要实现自己的应用程序逻辑,就要自定义自己的类,这个类以OSG提供的类为基类,并能添加到场景图中,实现自己的特定功能。 一个飞机的运动,最简单情况是我们要考虑飞机的位置和姿态,而要想在OSG里控制一个模型的位置、旋转或缩放,需要在这个节点上面添加一个Transform的子类,这要用到矩阵运算,矩阵运算非常复杂,对于控制位置姿态这个经常用到的功能,OSG提供了类PositionAttitudeTransform,通过它可以方便

22、控制位置姿态而不用理会复杂的矩阵运算。 飞机需要导入一个模型,在场景图中,我们就把这个模型加为这个类实例的儿子,这样,这个类可以这样定义,飞机类CCessna:,class CCessna : public osg:PositionAttitudeTransform public: CCessna(void); CCessna(void); private: osg:ref_ptr _Model; ; 成员变量_Model是保存模型的指针。 这样,在构造函数里,将_Model加为儿子: CCessna:CCessna(void) _Model = osgDB:readNodeFile(cess

23、na.osg); this-addChild(_Model.get(); 继续使用第一个教程的源码,将这一句:,osg:Node* node = osgDB:readNodeFile(cessna.osg); viewer.setSceneData(node); 改为: CCessna* cessna = new Ccessna(); viewer.setSceneData(cessna); 就能看到效果了。,(2)、给节点添加更新回调并控制节点运动,为了控制飞机的运动,我们应该在每一帧根据速度等条件计算飞机的位置,并更新飞机节点,但是我们的更新代码应该加在哪里呢? 在程序的主循环里,可以看到

24、这句: viewer.update(); 在这个方法里,OSG会遍历场景图,调用每个节点的更新回调,我们只要把自己代码放在更新回调里,就能保证每帧代码得到运行,也就能实现我们要求的功能了。 在OSG中,每个回调都是类NodeCallback的子类,我们只需要继承它,就能实现功能了。为了保证飞机更新的时候能得到需要的足够信息,又不让飞机的内部实现暴露于外,我们让更新回调只进行一个转手的操作,而实际的更新函数放在CCessna类里。 更新回调代码如下:,class CCessnaUpdateCallback : public osg:NodeCallback virtual void operat

25、or()(osg:Node* node, osg:NodeVisitor* nv) CCessna* cessna = dynamic_cast(node); if(cessna != NULL) cessna-update(); ; 这个类覆盖了基类对操作符()的重载,所以说它实际上是一个函数对象,因为这个重载是通用的,在函数里我们要先动态转换成 CCessna 类的指针,然后调用她的更新成员函数。,为了让这个回调起作用,不要忘了在 CCessna 类的构造函数里设置更新回调: this-setUpdateCallback(new CCessnaUpdateCallback(); 下面设计让

26、飞机绕圈飞行,同时让飞机横滚,代码都是写计算操作,需要注意的是PositionAttitudeTransform类提供的设置姿态的方法不是使用通常习惯的HPR为参数,而是一个四元数,关于四元数数学请参考相关书籍,但是HPR向四元数的转换还是很直接的,这就是我们的setRotation方法: void CCessna:setRotation(osg:Vec3 在update方法里,通过设置位置和旋转来控制飞机运动,具体请查看代码。,(3)、完善程序,由于Viewer类在程序开始会根据模型的包围盒调整视点初始位置,这样能保证程序开始能看到模型,但是因为我们的模型是运动的,运行一点之后飞机会飞出视线

27、,所以我们给飞机提供一个场地,这个场地就是一个正方体,代码如下: osg:Group* root = new osg:Group(); osg:Geode* geode = new osg:Geode(); geode-addDrawable(new osg:ShapeDrawable(new osg:Box(osg:Vec3(0.0f, 0.0f, -20.0f), 200.0f, 200.0f, 2.0f); root-addChild(geode); CCessna* cessna = new CCessna(); root-addChild(cessna); viewer.setSce

28、neData(root); 这里用到了Geode 类和Drawable类的子类ShapeDrawable, Geode 是场景图的叶子节点,所有的几何体都包含在 Geode 里,而一个 Geode 里可以有多个Drawable的子类,我们看到的图像真正是Drawable画的,这个后面在讨论。,总结:要想实现自己的功能,加入自己的代码,就要定义自己的节点类,由于OSG使用了组合设计模式,我们自己定义的类在OSG看来和它自己的类是一样的,OSG的这种场景图结构,基本上是业界的一种标准,很多程序都实现了类似的结构。,6、Delta3d虚拟现实仿真工具编程技术讲解与实战,最简单的Delta3D程序,(

29、1)、建立和设置工程 启动Microsoft Visual Studio .NET 2003,建立一个Win32控制台项目,在应用程序设置选项卡里,选择空项目,点击完成。为了在工程选项里出现C/C+的选项,先给工程添加一个空的C+源文件。 OSG运行需要多线程DLL的运行时库和RTTI,所以,在建立每个OSG工程后,第一件事就是更改工程设置。 打开项目属性,在C/C+选项卡里,点击代码生成页,更改运行时库,对于Debug版,用多线程调试 DLL (/Mdd),对于Release版,用多线程 DLL (/MD)。 设置C/C+选项卡里的语言页的启用运行时类型信息为:是(/GR)。 OSG程序需要

30、链接对应的库文件,打开链接器选项卡里的输入页,设置附加依赖项,对于Debug版,是dtABCd.lib dtCored.lib dtUtild.lib osgd.lib osgDBd.lib 对于Release版,设置这些lib文件不带“d”的版本。 这样,工程属性就设置好了。,(2)、编辑程序,#include #include #include #include #include int main() dtCore:SetDataFilePathList( dtCore:GetDeltaRootPath() + /examples/testApp/; + dtCore:GetDeltaDa

31、taPathList() ); dtCore:RefPtr app = new dtABC:Application( config.xml ); /加载山体 dtCore:RefPtr terrain = new dtCore:Object( Terrain ); terrain-LoadFile( models/terrain_simple.ive );,app-AddDrawable( terrain.get() ); /加载一个物体 dtCore:RefPtr brdm = new dtCore:Object( BRDM ); brdm-LoadFile( models/brdm.ive

32、 ); app-AddDrawable( brdm.get() ); osg:Vec3 brdmPosition( 0.0f, 0.0f, 3.5f ); osg:Vec3 brdmRotation( 90.0f, 0.0f, 0.0f ); dtCore:Transform trans; trans.SetTranslation( brdmPosition ); trans.SetRotation( brdmRotation ); brdm-SetTransform( ,camPos.SetLookAt( camXYZ, lookAtXYZ, upVec ); app-GetCamera()

33、-SetTransform( 编译后运行程序就可以看到以下画面:,7、在OSG与Delta3d基础上研发的虚拟现实仿真平台3DVRI介绍,1. 3DVRI虚拟现实仿真系统是一款功能强大的虚拟现实仿真引擎,具有广泛的应用领域: 教育领域的辅助教学,如教学课件的制作,使用虚拟仿真的形式可以生动形象的向学生展示一些难以理解的基本原理的讲解,采用互动的形式,可以加快学生的理解和记忆,同时也方便了老师的讲解。 医学行业:VR在医学方面的应用具有十分重要的现实意义。在虚拟环境中,可以建立虚拟的人体模型,借助于跟踪球、HMD、感觉手套,学生可以很容易了解人体内部各器官结构,这比现有的采用教科书的方式要有效得

34、多。 建筑领域的效果演示、辅助设计,在通常的情况是的使用效果图或CAD图的方法,但是效果图或CAD图不直观,没有什么立体性,而且介绍的也不直观,一般没有专业知识的人很难看懂,如果使用虚拟仿真的形式,不紧可以让客户一目了然,而且采用三维的效果,客户容易理解,只要制作时严格按照实际的尺寸,这实际就是实际建筑物的缩影版,同时在场景中具有互动性,这样客户只要点击相关物体即可显示此物体的一些基本属性。使用户具有身临其境的感觉。 工业领域的可视化辅助设计与可视化辅助制造,通常的都是采用机械设计图的方式,但如果采用可视化的形式来设计,这样会大大的减小设计上的复杂性,而且也会减小出错率,能够做到所见即所得。,

35、3DVRI软件介绍,军事与航天工业:模拟与练一直是军事与航天工业中的一个重要课题,这为VR提供了广阔的应用前景。美国国防部高级研究计划局DARPA自80年代起一直致力于研究称为SIMNET的虚拟战场系统,以提供坦克协同训1练,该系统可联结200多台模拟器。另外利用VR技术,可模拟零重力环境,以代替现在非标准的水下训练宇航员的方法。 管理工程:VR在管理工程方面也显示出了无与伦比的优越性。如设计一新型建筑物时,可以在建筑物动工之前用VR技术显示一下;当财政发生危机时,可以帮助分析大量的股票、债券等方面的数据以寻找对策等等。 艺术:作为传输显示信息的媒体,VR在未来艺术领域方面所具有的潜在应用能力

36、也不可低估。VR所具有的临场参与感与交互能力可以将静态的艺术(如油画、雕刻等)转化为动态的,可以使观赏者更好地欣赏作者的思想艺术。另外,VR提高了艺术表现能力,如一个虚拟的音乐家可以演奏各种各样的乐器,手足不便的人或远在外地的人可以在他生活的居室中去虚拟的音乐厅欣赏音乐会等等。 科学计算等领域的建模与仿真软件,如卫星轨道的计算,通过仿真的形式可以实时的计算并显示卫星所在的位置。 火星3DVRI虚拟仿真系统内核部分采用纯C+语言编写,保证了软件具有良好的可移植性,只要稍加修改就可以在微软Windows操作系统,苹果OS/X操作系统,Linux操作系统,SGI IRIX操作系统,Solaris和F

37、reeBSD等操作系统运行。,火星3DVRI虚拟仿真系统提供对外的接口,同时提供SDK开发包,为那些支持3DVRI平台且具有单独开发能力的客户提供了方便,可以使客户能够高效率的开发相关的虚拟仿真软件及产品,同时缩短了客户的开发周期和降低了开发相关虚拟仿真软件及产品的成本。 2. 3DVRI产品结构图:,3DVRI虚拟现实核心技术,城市规划与 三维GIS软件,3DVRI多通道 展示系统,3DVRI虚拟现实 内容创作系统,3DVRI虚拟现实 内容出版系统,3DVRI互动 仿真系统,2.1 城市规划与三维GIS系统 由于城市规划项目的关联性、复杂性和前瞻性要求较高,城市规划一直是对全新的可视化方案需

38、求最为迫切的领域之一。运用3DVRI城市规划仿真系统可以使政府规划部门、项目开发商、工程人员和各界人士可从任意角度,实时互动真实地看到规划效果获得前所未有的直观感受,这是传统手段如沙盘、效果图、平面图等所不能达到的。 2.1.1 提高项目的评估质量 由于虚拟现实系统能够实时地对规划项目进行真实的“再现”,很多不易察觉的设计缺陷能够轻易地被发现,大大减少由于事先规划不周全而造成的无可挽回的损失与遗憾。 2.1.2 提高项目管理能力和效率我们知道传统的一些表现形式如效果图、模型等,很容易在某些方面如间距、高低、光照、材料等被人为地修饰以误导评估人员,尤其是对于非专业人员,从而作出有利于一方的判断和

39、决定。如果城建部门建立一个标准的虚拟现实系统总平台,要求开发机构或设计单位将他们的方案(可作为子系统)以相同的细节精度、尺寸比例和视觉质量直接导入,那么方案评估才更为准确、公正。另外,如果总系统需要增加新的项目,或其中的项目遇到方案修改,可以随时导入或更新系统的数据信息,并且可供日后存档,极大地方便了政府规划管理部门的管理工作,提高了效率,节省了成本。,2.1.3 提高公众参与度和部门协同作业由于虚拟现实打破了专业人士和非专业人士之间的沟通障碍,使得各部门能通过统一的仿真环境进行交流,能更好的理解设计方的思路和各方的意见,能更快的找到问题,达成共识和解决一些设计中存在的缺陷。2.1.4 提高方

40、案设计和修正的效率应用虚拟现实系统,我们可以很轻松随意的进行修改,改变建筑高度,改变绿化密度,改变外立面的颜色即看即所得,只要修改系统中的参数即可。大大加快了方案设计的速度和质量。 2.1.5 提高市民公开展示和城市形象宣传的效果虚拟现实系统的沉浸感和互动性不但能够让用户获得身临其境的体验,同时还能随时获取项目的数据资料,而且更可以导出视频文件用来制作多媒体宣传资料,进一步提高项目的宣传展示效果。 2.1.6 数字化城市随着我国加入WTO,国家改革开放步伐不断加快,城市的发展以前所未有的速度向前发展,伴随着新技术的推广,城市信息化管理已成为各大、中城市高层管理者的首要工作,其投资力度也不断加大

41、,为新时代、新经济注入了活力。遥感、地理信息系统、卫星定位系统在城市信息化管理中发挥着极其重要的作用,将成为今后二、三十年数字城市科技发展的主导技术。国家已明确提出,今后城市建设要把信息化管理纳入首位,提高数字城市的科技含量,让遥感、地理信息系统、卫星定位系统在数字化城市管理中发挥重要作用,而虚拟现实“VR”技术则是这项工作的主角,注:以上为曲江规划项目,2.2 3DVRI多通道系统 为提高展示效果,可使用多通道系统,目前最高端的技术就是360度立体环幕,而一般人体的视野最多也只是180度,因此市场普遍是采用小于180度的多通道的显示拼接技术,目前性价比较高的是采用双通道或三通道的所模拟的环幕

42、,而且一般的软件系统升级到三通道系统所化的成本也比较低,视觉效果却有质的飞跃。它不但有着宽阔的视野,而且带上立体眼睛在视觉感官上和看立体电影一样,加上V R的互动,会使人们产生完全沉浸在虚拟场景中的感受!,2.3 3DVRI虚拟现实创作系统 3DVRI虚拟现创作系统是新一带的三维创作软件,她能使三维创作人员方便的在个人电脑中创建虚拟场景。 新增了许多新的功能: .可以在场景中调节雾效,提高了场景的真实性。 .可以添加与真实世界视角完全相同的天空盒,让您在漫游的时候感受到真实的天空。 .易用的节点编辑使制作完成的场景不用重新制作就可以二次加工。 .利用硬件shader制作特效,完全实现实时反射、

43、折射、凹凸及多种绚丽效果。 .具有撤消与重做功能使制作人员不用担心操作失误。 .自定义水印的添加,充分维护制作人的知识产权与版权。 .方便的快捷键,方便制作人员的操作,提高工作效率。 扩展功能: .对用户制作好的场景使用创作系统直接就可以发布成可执行文件。 .支持三维树木和镜头光斑等。,注:以上为3DVRI的虚拟仿真内容创作系统软件界面,2.4 3DVRI虚拟现实出版系统 在传统的展示方法中,效果图、动画二者泾渭分明,多媒体展示在设计院获得了很大的认可,因为多媒体的制作周期很短而且同时包容了效果图、动画、文本等内容,制作成本不高,而且对电脑的要求很低,因此多中小型的项目来说是很适合的。 传统的

44、VR他的制作成本高昂与周期长决定了所承接的项目额度必须实在几万元甚至在几十万元以上,否则是没有利润可言的,而且制作周期长,周期一长中间出现各种问题,能否将项目款收回也成了问题,中间的变数较大。 VR与效果图、动画、多媒体他们之间的衔接更是泾渭分明,很多包括我们VR软件的生产厂商在内,目前的观点和事实VR等价于漫游,当前VR的纯漫游就是建筑漫游,以至造成了VR的承接者将大量的单子拒之门外的现象,所剩可以承接的项目要不是非常大就是需要针对特定编程的一般没有研发实力的公司是无法承接的,在这种情况下自然有人会想到能否将效果图、动画、多媒体及VR技术无缝的融合起来的表现形式,虽然是一种非常好的想法,但是

45、受限于技术难度和要求,多书人都是以失败而告终。 经过我们的努力,及时的推出了一款将效果图、动画、多媒体及VR技术融合的3DVRI虚拟现实出版系统,他具有如下的特性:,.通过技术革新在多媒体制作方面比传统的Autorware方法的成本与周期上再降低30%左右,易用性高,即使是一个新手的学习和上手的周期也远远低于Authorware。 .无缝融合效果图、动画、多媒体及VR的建筑表现,在以前受技术上的限制无法表现,通过技术革新后,将无缝融合的产品推荐给客户甚至无须讲解,客户只要观看或者操作一遍就能理解,这是一种全新的表现形式,客户不仅容易理解而且也不用话大量的时间为客户讲解什么是VR。 . 所承接的

46、项目的动态范围很大,由于基本上是动画、效果图、FLASH、电影、VR硬件渲染、VR交互简单数据库连接的形式,对于那种想要享受新的表现形式但有只想花费少量的制作费用的客户,可以通过这种增加一些FLASH及廉价的表现形式成分来满足要求,这样制作人员只要集中精力将VR部分制作成小而精,这样方案实施后我们的产品就带上了精致的VR表现,而且通过我们控制制作内容,可以将制作成本与周期保持在一个很大的动态范围之内。,.产品本身带有数据库功能,可以从我们的规划中方便的导入数据和报告摸板,这样对于规划、水利等等专业的演示及报告可以直接与业务数据连接。 .可以在所有的电脑上运行,软件可以自动检测电脑配置,根据不同

47、的配置转向相应的场景,如果配置很底无法运行VR,就会运行相应的FLASH,以及自动提供系统的更新建议。 .可以将与单机版相同的内容发布成网页放到网站上进行快速流式观看与操作使用。 2.5 3DVRI网络互动仿真系统 该系统正在研发阶段,完成后将具备极为强大的网络互动功能。,注:3DVRI虚拟现实出版系统界面,3DVRI基本介绍 基于OSG的3DVRI支撑平台(简称3DVRI支撑平台)对OSG进行了大幅度的改动和功能扩展,改造成一个易于进行二次开发的虚拟仿真平台,使用该支撑平台的用户只要花较短的学习周期就能相对容易与高效的开发各类虚拟仿真系统,从而大大减小了由原始工具开发一个虚拟仿真的成本,该支

48、撑的平台的特性适合各个领域的广泛推广. 3DVRI OSG的先进性 与老一代的基础仿真软件Multigen之类相比,3DVRI支撑平台继承与发展了OSG所具有的先进特性: (1).产品的内核采用标准的场景图结构,通过对各类遍历场景图的算法进行优化,具备了最高效率的场景图结构与访问方法,通过对并行功能的加强,使得多个CPU可以对同一场景图进行硬件支持的高效运算。 (2).直接从内核开始支持最新发布的OpenGL2.0版本的功能,目前极大多数仿真软件仍然停留在Opengl1.5或者更早期的版本的基础上,已经不能满足日益提高的仿真市场的需求。 (3).内置了对已经成为世界标准的GLSL(一种效果程序

49、)的支持,使得仿真效果的真实性大为提高,老式软件由于当时开发时硬件的限制,是老式软件所无法比拟的。,(4).将原来非常复杂的各种基础仿真功能封装成非常易于使用的OCX控件开发包的形式,使得快速开发仿真系统成为可能,并且同时保留了让用户进行底层开发,自行增加定制指令的功能。 (5).内置块状地形分割与降解的高速算法,能处理以地球为规模的大地形仿真工程。 (6).直接与显示硬件相关联的二进制文件格式,可以快速的装入大量的数据到显示内存中。 (7).能直接处理大量模型数据的场景编辑器,老式软件限于当时硬件的限制所支持的棉片数非常少,随着各项技术的发展,仿真场景能处理模型的复杂性和数据量都在大幅度的增

50、长,老式的软件对模型和数据量的处理能力跟不上最新的硬件发展。 (8).可以快速的提高仿真场景的制作效率与所得到结果的真实性,3DVRI支撑平台专为当今最为先进的几大主流建模软件及动画软件3DSMAX、MAYA等软件以编写插件的方式可以直接支持与读取这些软件的工作结果,无论在模型的生产效率还是场景的真实性都有质的飞跃。,(9).通过软件提供的外围数据库接口可以非常方便的将仿真场景与外围的数据库中的内容进行动态挂接,甚至只需写上几句Visual Basic语句就可以将场景中的物体与数据库挂接起来。而老式的仿真软件主要提供C+数据库接口,提高了使用者的要求,使得非专业的编程人员望而却步。 3DVRI

51、支撑平台的组成模块介绍 3DVRI支撑平台由3dsmax建模及输出模块、Maya建模及输出模块、仿真核心工作模块、仿真数据库管理模块、仿真算法模块、大规模地形模块、场景编辑器模块、VR仿真内容发布系统模块、流体动力学粒子系统仿真模块、网络仿真及通讯模块、多通道视觉仿真模块、各类仿真特效模块、方向盘驾驶及各类外设控制模块、OCX控件二次开发包模块等等功能模块组成。如图所示:,1. 3dsmax建模及输出模块、Maya建模及输出模块: 仿真项目的完成过程中,在明确需求及计划确定后,第一件必须面对的工作基本上就是仿真场景的构建,通过这些模块可以方便的在建模与动画软件中将场景构建与修改完成,然后导出到

52、场景编辑器中,加入各种仿真需要的属性。,2. 场景编辑器模块: 仿真项目的场景构建完毕后就可以通过这个模块,将原来内容相对来说比较单一的几何体赋上仿真需要的各种属性,诸如LOD、switch节点、碰撞、物理属性等等,然后进入下一步的工作流程。,3. 仿真核心工作模块:这个模块是3DVRI支撑仿真系统的工作核心,主要处理一些内核的仿真任务的调度,各种图形相关的核心工作,通过它将其它的外围仿真模块连接在一起协同工作。 4. 仿真数据库管理模块: 这个模块,在内核中保留了最基本但功能又非常强大的数据库处理能力,通过这个模块,可以处理海量的数据,当数据量大内存不够时,这个模块会将硬盘通过一套内置的虚拟

53、内存系统与物理内存进行动态交换,并且对大型场景进行动态加载。该模块的另一作用是将各种插件式开发的.dll功能增强模块作为一个数据库进行动态管理,这样如果用户或者软件研发者需要增加额外的系统功能,只需要编写一个.dll插件,然后在这个数据库系统中进行一次注册,将在下次系统启动时自动加载与进行工作。 5. 仿真算法模块: 在这个模块中提供了一些在仿真领域中最常见或者使用频率最高的一些算法,有了这个模块后,软件研发或者用户,可以不用自己去重复地编写常用的算法,只需要调用几个现成的函数就能解决常见问题。,6. 大规模地形模块: 在遥感与军事仿真领域都面临着大区域地形的三维复原与数据处理的挑战,3DVR

54、I支撑平台内置了块状地形分割与自动降解模块,可以处理以地球为单位的数据量,并且,提供高低二种数值精度的处理方式,当用户对系统内置的地形算法不满意时还可以研发自己的地形渲染与处理系统,然后,以外部插件的形式替换掉内置的算法进行工作,在卫星航片的地形处理中系统支持LCC算法,可以根据图像的色彩分析出绿化与植被的分布,在生成模型时自动的将建筑、植物等等分布到应该分布的位置。,7. 流体动力学粒子系统仿真模块: 在军事或者其它常见领域的仿真中,粒子系统是种常见的现象,诸如轮船开动时的尾迹、飞机航行时的尾迹与烟雾等等,很多属于流体动力学范畴,3DVRI支撑平台,提供了仿真这一类现象的流体动力学粒子系统仿

55、真模块。,8. 各类仿真特效模块: 在自然界中存在着很多的自然现象,诸如下雨、下雪、水面的反射、有阳光或者灯光时的镜头光斑等等各种效果,3DVRI支撑平台的仿真特效模块,可以解决很多这一方面的问题,让仿真的结果栩栩如生。,9. 集群仿真及网络通讯模块: 在仿真中通常会面对不同地点的分布式仿真的问题,3DVRI支撑平台的网络仿真及通讯模块遵循美国军方的HLA之类成为国际标准的分布式仿真协议,可以与支持HLA的主机直接联接,进行异地分布仿真,或者用自己的协议组成局域网进行仿真。3DVRI网络通讯和群集渲染模块的功能主要是将虚拟现实仿真的计算能力进行了大幅度的扩展和提高,为运行非常复杂的虚拟环境提供

56、了可行的软硬件基础,同时该模块还负担了网络通讯的功能。,10. 多通道视觉仿真模块: 为了提高仿真效果,就要使显示的视野更加的宽阔,而目前最高端的显示技术就是360度立体环幕,但人眼的视野也就不到 180 度,因此市场上选择最多的是小于 180度的多通道显示器拼接技术,而且经过反复实验,双通道及三通道所模拟的环幕性价比最高;时下国内很多虚拟仿真案例都使用双、三通道显示系统,将普通仿真软件系统升级成多通道显示视觉感官会产生质的飞跃;它不但有着宽阔的视野,而且带上立体眼睛在视觉感官上和看立体电影一样,加上V R的互动,会使人们产生完全沉浸在虚拟场景中的感受。 使用该模块可以支持很多通道的视觉仿真,

57、满足高端客户的需要,该模块具备软件边缘融合等等很多功能。 11. 方向盘驾驶及各类外设控制模块: 使用该模块可以支持方向盘等等仿真外部设备,并处理与他们的各种接口。 12. VR仿真内容发布系统模块: 使用该模块可以非常方便地将仿真内容进行发布。,8、三维制作软件3dsmax与虚拟现实平台的接口,目前的虚拟现实平台与3dsmax之类的三维制作软件有很好的接口。 我们制作一个简单的场景,放入植物、动态水面、反射金属等常用材质,然后通过VR虚拟现实发布系统为场景添加简单的交互功能,最后编译成可漫游的exe文件,通过这个完整的制作流程您可以了解以下知识:1.了解Billboard帮助物体的用法,制作

58、Billboard植物。2.了解Sequence帮助物体的使用方法,制作动态水面。3.了解Switch帮助物体的使用方法,制作漫游时的方案替换功能。4.使用编辑器简单编辑场景,设置碰撞和相机参数,添加环境效果。 5.使用VR虚拟现实发布系统实现场景漫游和交互功能。 首先,打开场景Tutorials_01.max,如下图,场景中模型基本搭建完毕,接下来我们要在场景中做出植物、水面和交互控制模型的动画。OpenFlight,TerraPage,OBJ,3DS,JPEG,PNG和GeoTiff等等。,1、Billboard植物的制作方法。VRI虚拟现实场景中最简单植物的制作方法就是制作一个赋有Alp

59、ha通道的树木贴图的面片,并且使它在漫游时永远面对漫游相机旋转。那么,怎么样使面片永远面对相机旋转呢,这就必须使用3DVRI的Billboard帮助物体了。 (1)、创建Billboard帮助物体。请查阅我们前面的关于如何安装VRI软件包的教程,如果你正确安装了VRI虚拟现实制作系统For MAX插件,那么在3ds max创建帮助物体面板中,就会出现VRI Object项,打开之后找到Billboard帮助物体并且将它放置在Top视图中的任意位置,然后点击鼠标右键放开对帮助物体的选择。如图:,(2)、创建植物面片。选择场景中名为ShuChi_01的物体,并且将其它未选择的物体隐藏。这是场景中的树池的模型。切换到Fornt视窗,在树池模型中间创建一个高800cm,宽400cm的面片,将它命名为Tree_001。并且在Top视窗中将它与树池模型中间对齐。然后在贴图目录中找到treeM005.tga,并且将它赋予这个面片。大家可以用Photoshop打开这张贴图,你可以看到这张贴图带有一个Alpha通道。最后将面片Copy出五个放置在其它树池的位置上。如下图:,注意:必须在Front视窗中创建植物面片,让植物面片在场景中与地面垂直,并且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论