虚拟校园漫游系统的设计与开发毕业论文.doc_第1页
虚拟校园漫游系统的设计与开发毕业论文.doc_第2页
虚拟校园漫游系统的设计与开发毕业论文.doc_第3页
虚拟校园漫游系统的设计与开发毕业论文.doc_第4页
虚拟校园漫游系统的设计与开发毕业论文.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

虚拟校园漫游系统的设计与开发毕业论文目 录摘 要IABSTRACTII第一章 绪 论11.1 引言11.2虚拟现实技术概述11.3虚拟现实技术的定义和特征41.4本文的主要工作51.5论文的主要结构6第二章 系统总体设计72.1系统的总体结构72.2开发工具82.3系统开发流程11第三章 虚拟校园场景建模133.1场景建模133.2场景对象优化193.3场景外观213.4本章小结24第四章 虚拟校园漫游系统的交互254.1VRML传感器节点简介254.2虚拟校园漫游系统的交互264.3虚拟校园漫游系统的视点控制284.4本章小结29第五章 虚拟校园漫游系统的优化3051 碰撞检测技术3052层次细节技术3053 纹理映射技术3154 场景消隐技术3155文件编辑环节的优化325.4本章小结33第六章 总结与展望34参考文献35致 谢36附录1虚拟校园漫游系统的部分场景图37II第一章 绪 论1.1 引言虚拟现实技术(Virtual Reality,简称VR)是20世纪末兴起的一门崭新的综合性信息技术。它融合了数字图象处理,多媒体技术,传感器等一系列新兴技术,利用计算机生成虚拟的环境,并可以进行交互和仿真。人们将虚拟现实技术看做是仅次于互联网的改变世界的未来的重要技术。当代科学技术的发展以及人们为了适应未来信息社会的需要,必须提高人与信息社会的接口能力,提高人对信息的理解能力。人们不仅要求通过打印输出在外部去观察信息处理的结果,还要求能通过人的视觉、听觉、触觉以及形体、手势或者口令等参与到信息处理的环境中去,从而获得身临其境的体验1。虚拟现实技术是一种计算机界面技术。是一种先进的计算机用户接口。它通过给用户提供诸如视觉、听觉、触觉等各种直观和自然的实时交互手段,最大限度的方便用户的操作,提供用户对一些事物真实的感受。虚拟现实实时的三维空间表现能力,人机交互的工作环境,以及给人带来的身临其境的感受,改变了人与计算机的枯燥、生硬的现状。人们过去只能从计算机系统外部去观察处理的结果,现在已能够沉浸到计算机系统所创造的环境中;过去只能通过键盘、鼠标、麦克风与计算机环境中的单维数字信息交互,现在已能够利用多种传感器与多维化的信息空间发生交互。目前,虚拟现实技术在应用方面的研究非常的活跃,涉及的领域非常的广泛,也充分显示出其良好的发展前景。如在军事、机械设计方面、医疗、教育、娱乐等方面,虚拟现实都起到了增强现实的作用,在一定程度上的人机交互中,用户把计算机作为完成工作的工具,增强用户对现实世界的感知和交互。虚拟现实技术与多媒体技术、网络技术是21世纪三大最具发展潜力的计算机应用技术。虽然虚拟现实目前还存在着许多尚待解决的理论问题和尚未克服的技术困难,对人类的生活工作所产生的影响也不过微乎其微。但是,可以预见的是,在不久的将来,虚拟现实技术必将对人类的生产和生活产生重大的影响。1.2虚拟现实技术概述121虚拟现实的演进虚拟现实技术经历了探索、集成、全面发展三个阶段。1962年Morton Heilig研制成功首台全传感仿真系统Sensorma。1965年Sutherland博士提出Ultimate Display(终极显示)概念。1968年Sutherland首次研制成功头盔式显示器(Head Mountes Display,HMD)。20世纪70年代中期美国战斗机飞行模拟器研制成功,仅头盔显示器就价值数百万美元,其屏幕显示内容主要包括:窗外场景、敌友识别符、攻击目标信息、威胁信息以及优化的飞行路线。1984年,William Gibson的小说Neuromnance(神经漫游者),使赛博空间这个词得到了广泛的推广。20世纪80年代中期,美国NASA研制成功应用于载人航天使用的VIEW系统,VIEW系统具有以下特征:头部安装有跟踪器、单色宽视场立体头盔显示器、语音识别器、三维声音输出装置以及带有跟踪器的数据手套等。VIEW系统配置已经成为当今虚拟现实系统的典型配置。20世纪90年代,VR的研究热潮开始向民用高科技企业转移。20世纪90年代中期,标准化的虚拟现实建模语言VRML为在INTERNET上构建可共享、可交换的WWW(WORD WIDE WEB)虚拟环境奠定了良好的基础。随着技术的进步,VRML本身也从早期的VRML1.0发展到了VRML2.0,再发展为VRML97标准,直到目前的X3D规范2。122虚拟现实技术的发展现状(1)国外虚拟现实技术的研究现状美国作为VR 技术的发源地,其研究水平基本上就代表国际VR 发展的水平。目前美国在该领域的基础研究主要集中在感知、用户界面、后台软件和硬件四个方面4。美国宇航局(NASA) 的Ames 实验室研究主要集中在以下方面:将数据手套工程化,使其成为可用性较高的产品;在约翰逊空间中心完成空间站操纵的实时仿真。大量运用了面向座舱的飞行模拟技术。对哈勃太空望远镜的仿真。现在正致力于一个叫“虚拟行星探索”(VPE) 的试验计划。现在NASA 己经建立了航空、卫星维护VR 训练系统,空间站VR训练系统,并且已经建立了可供全国使用的VR 教育系统。麻省理工学院(MIT) 是研究人工智能、机器人和计算机图形学及动画的先锋,这些技术都是VR 技术的基础,1985年MIT成立了媒体实验室,进行虚拟环境的正规研究。华盛顿大学华盛顿技术中心的人机界面技术实验室(HITLab),将VR 研究引入了教育、设计、娱乐和制造领域。从90 年代初起,美国率先将虚拟现实技术用于军事领域,主要用于以下四个方面:虚拟战场环境;进行单兵模拟训练;实施诸军兵种联合演习;进行指挥员训练5。(2)我国虚拟现实技术的研究现状我国VR 技术研究起步较晚,与国外发达国家还有一定的差距,但现在已引起国家有关部门和科学家们的高度重视,并根据我国的国情,制定了开展VR 技术的研究计划。九五规划、国家自然科学基金委、国家高技术研究发展计划等都把VR 列入了研究项目。国内一些重点院校,已积极投入到了这一领域的研究工作。北京航空航天大学计算机系是国内最早进行VR 研究、最有权威的单位之一,并在以下方面取得进展:着重研究了虚拟环境中物体物理特性的表示与处理;在虚拟现实中的视觉接口方面开发出部分硬件,并提出有关算法及实现方法;实现了分布式虚拟环境网络设计,可以提供实时三维动态数据库、虚拟现实演示环境、用于飞行员训练的虚拟现实系统、虚拟现实应用系统的开发平台等。浙江大学CAD&CG国家重点实验室开发出了一套桌面型虚拟建筑环境实时漫游系统,还研制出了在虚拟环境中一种新的快速漫游算法和一种递进网格的快速生成算法。哈尔滨工业大学已经成功地虚拟出了人的高级行为中特定人脸图像的合成、表情的合成和唇动的合成等技术问题;清华大学计算机科学和技术系对虚拟现实和临场感的方面进行了研究;西安交通大学信息工程研究所对虚拟现实中的关键技术立体显示技术进行了研究,提出了一种基于JPEG标准压缩编码新方案,获得了较高的压缩比、信噪比以及解压速度;北方工业大学CAD 研究中心是我国最早开展计算机动画研究的单位之一,中国第一部完全用计算机动画技术制作的科教片相似就出自该中心。123虚拟现实的发展趋势虚拟现实技术是20 世纪末才兴起来的一门崭新综合性的信息技术,尚处于初创时期,远未达到成熟阶段。在虚拟现实的理论、算法和技术实现等各方面都有很多待解决的课题和待发展的领域,它的发展创新的余地很大。虽然目前世界各国都已成功地开发出一些虚拟现实的典型应用项目,但与其它高新技术的应用相比,尚处于应用开发的初始阶段。虽然人们也许不能清楚地设想出,新世纪里虚拟现实出现并普及的新形式,但人们能通过应用媒介形态变化原则和延伸媒介领域的主要传播特性,构想出合理的未来情境。总体上看,纵观多年来的发展历程,VR 技术的未来研究仍将遵循“低成本、高性能”这一原则,从软件、硬件上展开,并将在以下主要方向发展:(1)动态环境建模技术虚拟环境的建立是VR 技术的核心内容,动态环境建模技术的目的是获取实际环境的三维数据,并根据需要建立相应的虚拟环境模型。(2)实时三维图形生成和显示技术三维图形的生成技术已比较成熟,而关键是如何“实时生成”,在不降低图形的质量和复杂程度的前提下,如何提高刷新频率将是今后重要的研究内容。此外,VR 还依赖于立体显示和传感器技术的发展,现有的虚拟设备还不能满足系统的需要,有必要开发新的三维图形生成和显示技术。(3)新型交互设备的研制虚拟现实实现人能够自由地与虚拟世界中的对象进行交互,犹如身临其境,借助的输入输出设备主要有头盔显示器、数据手套、数据衣服、三维位置传感器和三维声音产生器等。因此,新型、便宜、鲁棒性优良的数据手套和数据服将成为未来研究的重要方向。(4)智能化语音虚拟现实建模虚拟现实建模是一个比较繁复的过程,需要大量的时间和精力。如果将VR 技术与智能技术、语音识别技术结合起来,可以很好地解决这个问题。笔者对模型的属性、方法和一般特点的描述通过语音识别技术转化成建模所需的数据,然后利用计算机的图形处理技术和人工智能技术进行设计、导航和评价,将基本模型用对象表示出来,并逻辑地将各种基本模型静态或动态地连接起来,最后形成系统模型。在各种模型形成后进行评价并给出结果,并由人直接通过语言来进行编辑和确认5。1.3虚拟现实技术的定义和特征131虚拟现实的概念虚拟现实(Virtual Reality,简称VR)是由美国公司的JARON LANIER在1989年创造的一个新词。他通常是指采用头盔显示器、数据手套等一系列新型交互设备构造出的用以体验或感知虚拟境界的一种计算机软、硬件环境,拥护使用这些高级设备以自然的技能(如头的转动、身体的运动以及人类自然语言等)向计算机发送各种指令,并得到环境对用户视觉、听觉、触觉等多种感官信息的实时反馈。虚拟现实不是一种真实的世界,而是一种虚假的,可交互的环境,人们可使用计算机等高级设备融入到虚拟的情境中去,行动自如地观察环境的全部或者局部乃至细节。透过外在的现象来总结,虚拟现实就是抽象的、复杂的计算机数据在空间上表示直观的用户熟悉的事物的一种技术。是一种高级的人机交互活动。虚拟环境通常是由计算机生成并控制的,使用户身临其境地感知虚拟环境中的物体,通过虚拟现实的三维设备与物体接触,从而真正地实现人机交互。可以说人处在虚拟环境之中跟现实环境是没有差别的 7 。虚拟现实在很大程度上基于计算机图形学技术发展而来。计算机图形学的任务是在计算机上生成看起来像真的的,动起来像真的图象,而用户通过显示器观看计算机生成的图象所构造出来的世界景象。132虚拟现实的特征VR 技术的发展始终围绕它的三个特征而前进,即沉浸感、多感知性、交互性。这三个重要特征与其相邻近的技术(如多媒体技术、计算机可视化技术等) 相区别。(1)沉浸感指计算机生成的虚拟世界能给人一种身临其境的感觉,如同进入了一个真实的客观世界;用户感到作为主角存在于模拟环境中的真实程度。理想的模拟环境应该达到使用户难辨真假的程度。(2)多感知性指除一般计算机所具有的视觉感知外,还有听觉感知、触觉感知、运动感知,甚至还包括味觉、嗅觉、感知等。理想的虚拟现实应该具有一切人所具有的感知功能。(3)交互性指人能够很自然地跟虚拟世界中的对象进行交互操作或者交流;用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度 8 。因而可以说,虚拟现实可以启发人的创造性思维。虚拟现实的关键技术主要包括:动态环境建模技术,实时三维图形生成技术,立体显示和传感器技术,应用系统开发工具,系统集成技术。1.4本文的主要工作在对本选题的研究过程中,我深入地研究了虚拟现实技术,对各种三维建模技术、虚拟现实交互技术进行了比较分析,并以浙江科技学院为例,实现了校园环境的虚拟漫游。具体地说,本文的工作主要有以下几方面:(1)研究了现有的构建虚拟现实的语言,确定了以VRML语言为基础技术构造虚拟系统的解决方案。(2)虚拟校园场景建模;选择了用3DSMAX来进行模型的创建与修改活动。 (3)研究了VRML造型节点和编组节点技术,实现了对复杂场景数据的有序组织。采用3D MAX和VRML Pad实现虚拟场景对象的建模、添加节点、校验和测试。(4)虚拟校园漫游交互设计,探讨了基于VRML内建感知器的交互,实现了视点的控制和部分的动画交互。(5)虚拟校园漫游系统的优化。(6)设计并实现了一个虚拟校园。本文通过对实际操作中的一些过程和设计的总结,并在此基础上,充分描述VRML语言和相关软件的使用和方法。1.5论文的主要结构本文共分6章,用来研究和探讨基于VRML技术构建虚拟现实系统的关键技术。第一章对虚拟现实技术的研究现状及发展方向作了概要性的介绍;第二章主要介绍了系统的主要结构框架和系统开发的相关工具。提及了系统设计开发流程。也探讨了怎样利用其他相关软件与VRML结合设计与开发的问题。第三章主要研究虚拟场景对象的建模、纹理贴图、模型对象的优化;对VRML构建虚拟场景的方法进行了研究,同时还对场景外观、场景优化进行了讨论。第四章研究了人与虚拟环境对象的交互方法;第五章介绍了设计时所做的系统优化的工作与方法。第六章总结了本文所做的工作,分析其成功与不足,并对未来工作做了进一步的构想。38第二章 系统总体设计2.1系统的总体结构 为了保证整个场景能顺利流畅地在普通高档微机上运行,同时达到实时漫游的功能以及安全可靠,按照任务侧重点的不同,可将整个系统分解成场景模型子系统、漫游引擎子系统、渲染输出子系统等,他们在功能上相对独立,通过数据接口相互联系。系统总体结构如图2-1所示: 总平面图纹理材质建筑建模 三维场景建筑二次建模场景数据库场景调度用户接口输入设备场景渲染碰撞检测 输出设备地形匹配图2-1虚拟校园漫游系统总体结构图 场景调度:在建模工作进行之前,首先要对所建场景进行一个全面和完整的分析。基于场景分析的基础上,我们制定了校园建模的计划。再采取各个击破的原则,分别对各个建筑群建模,完成场景的总体调度。 碰撞检测:碰撞检测是构造虚拟漫游系统不可缺少的一个重要部分,它可以使用户以更自然的方式与三维场景中的对象进行交互。如果没有碰撞检测,当一个对象碰到另一个对象时,往往会“穿透而过”,而不会产生碰撞的效果,这在现实中是不存在的。因此,构造虚拟校园漫游系统时,必须能够实时、精确地判断场景中物体之间是否发生碰撞。虚拟校园漫游场景中动态物体与静态物体之间或者动态物体与动态物体之间的交互基础就是碰撞检测。 地形匹配:地形对漫游的真实性和系统运行的实时性有重要影响。地形对象模型是虚拟校园模型系统的基础,是布置地物对象模型的依据。地形对象三维模型的建立是开发虚拟校园必不可少的一个关键环节,对其它虚拟系统同样如此。 三维场景建筑建模:楼房是虚拟校园漫游系统中的主要景观,也是建模的重点。所以, 三维场景建筑建模是系统真实性的最真实的反映。 三维场景建筑建模是对校园景观中的各个建筑物的三维再生和再创造,用于导入虚拟场景中。2.2开发工具221VRMLVRML是一种用于对三维虚拟场景进行建模的描述性语言。VRML在虚拟现实技术的发展过程中脱颖而出,并已被广泛应用的虚拟现实建模语言。VRML不完全等同于虚拟现实,但对虚拟现实技术产生了重要的影响。典型的虚拟现实意味着用户要借助复杂设备进入虚拟环境,获得沉浸式体验,并与环境进行交互。而VRML则作为WEB上一种描述性的虚拟环境的造型语言独立存在,它与设备无关。虽然VRML所构造的虚拟环境相对简单,类似于嗅觉、味觉以及表面硬度、表面触觉等重要虚拟特征还没有涉及,但是构造一个基本的虚拟环境所需要的语言,工具以及实现已经在VRML2.0中得到充分体现。作为单纯的三维造型和渲染工具,VRML提供的技术能够把二维、三维、文本以及多媒体素材有效地集合在同一个虚拟环境当中,从而使用户沉浸其中。随着INTERNET以及三维WEB技术的不断进步,VRML将进一步推动网上交互式三维应用的蓬勃发展。VRML建模语言有以下主要技术特征: (1)C/S工作方式。其中服务器负责协调绝大多数防真活动,提供VRML文件极其资源,并维护环境中所有虚拟对象的状态。 (2)独立平台。VRML浏览器解析VRML文件描述虚拟场景,而浏览器由本地平台提供。实现了平台上的独立性。 (3)ASCII文本格式的描述性语言。VRML是用的是ASCII文本格式的三维场景式描述语言进行编程。这在保证各种平台通用的同时,也降低了数据的通讯量,从而提高网络的传输速度。 (4)增强了静态场景。VRML2.0新增的一些功能可以使三维静态场景的真实感更强。 (5)可交互性与动画。VRML2.0设置的接触传感器、环境传感器、感知传感器以及碰撞传感器可以对三维造型进行实时交互仿真。 (6)三维视听效果。通过SOUND节点,用户可以具体设置声音的大小、音源的位置、传播方向等空间属性。 (7)实时3D渲染。 (8)脚本支持。Java或者JavaScript支持。VRML通过Script节点引入Java或JavaScript语言编写的脚本程序来扩展其功能。VrmlPad工作界面(如图2-1所示)是标准的Windows应用程序窗口,有标题栏、菜单栏、常用工具栏、系统左右两个主工作区以及状态栏组成。系统右工作区主要用于编辑Vrml场景造型节点。其用法非常简单,工作区中任意输入一个Vrml规则允许的合法名称的首字母,VrmlPad将自动弹出一个滚动列表,列表中包含了所有以该字母开头的系统可用的名称和相关的名称,用户只需要选择其中一个合适的名称单击或者回车就可以,非常方便。图2-1VrmlPad工作界面VrmlPad具体有主要功能特点:(1)可编辑本地或者网络上的远程文件、可压缩存储;(2)支持高级查找、使用书签、分色显示、自动侦错等编辑功能;(3)支持多步取消和重复操作;(4)采用树形结构显示场景构造;(5)支持在浏览器中对场景的浏览;(6)有功能强大的软件发布向导;(7)VrmlPad环境中可以处理和执行其他语言编写的外部应用程序;(8)提供文件列表功能,方便用户管理系统目录6。222 3D Studio Max技术3DS MAX是使用最广泛的专业3D建模,动画和图像制作软件。3DS MAX通过构建虚拟的3维世界,来表现真实现实中的存在。它能创建耀眼夺目的视觉效果,越界引擎和进行视化设计。3DS MAX有着悠久的发展历史,拥有世界上最多的3维软件用户群体,以及大量可提高其软件性能的内部和外部插件。 3DSMAX的制作一个产品造型的基本流程是:建立模型,在3DSMAX中“创建”和“修改”几乎是不可分割的,可以用二维图形经过旋转、放样、挤压等修改命令来使之转换成三维模型,直接拉出几何体后一般也要用修改工具进行修改才能完成建模工作。因此,在本课题的校园建筑中,我们采用3DSMAX来进行模型的创建与修改活动。在教学楼的模型创建过程中,事先实地考察,获取相关结构和风格的资料(以照片为主要材料)。再通过参照这些资料,对建筑物进行建模仿真。 在3DSMAX中可以通过组合建模,生成不规则的、复杂的几何形状和设备。3DS MAX生成的模型,能通过“File (文件) ”“Export (导出) ”菜单,以VRML 的文件格式输出,通过这种方式使3DSMAX和VRML二者之间建立联系。所以可以在3DS MAX中建立好场景的基本模型,以简单的门牌为例子,输出的VRML节点如下:DEF menpai Transform children Shape appearance Appearance material Material diffuseColor 0.5882 0.5882 0.5882 ambientIntensity 1.0 specularColor 0 0 0 shininess 0.145 transparency 0 texture ImageTexture url menpai.jpg geometry Box size 90 20 1 其中Translation是VRML中的标准节点,它在X、Y、Z轴上控制物体的位置。Children域中定义了Shape,它是一个长宽高分别为90 20 1的Box。在对这个Box的其他属性设置中,我们发现,在导出的文件中,VRML自动地记忆在3DSMAX中材质、灯光、透明度等数值。另外我们还添加了对Box的纹理贴图。求得最真实的效果。最后门牌的实例效果如图2-2所示:图2-2门牌的纹理贴图223 Java与VRML结合尽管VRML是一个有力的3D语言,但它更大的功能来自于它能够用程序语言去建立复杂、交互界面,这个程序语言就是JAVA语言。Java与VRML相互补充,Java主要讨论对象的行为,但很少涉及外部特征,而VRML则注重于外表,不太考虑对象的行为。可以说,VRML所战线的正是JAVA要做的。随着网络技术的发展,Java与VRML的关系将会越来越密切。VRML2.0提供了两种扩展VRML和外部程序实现连接的机制,即Script节点和外部编程接口。通过扩展Script节点。VRML的Script节点是一种控制传感器和内插器的节点。通过它可以定义和改变场景中对象的外观和行为。Script节点可包含一个JAVA文件,当Script初始化时调用。Script节点可以将事件和节点从VRML传递到JAVA,而命令从JAVA传递到VRML9。通过VRML浏览器外部编程接口EAI进行编程,允许VRML与Web页上的其他对象进行沟通。EAI提供了更为灵活的连接外部编程环境的途径,它可以提供强有力的方法来表现交互式网络分布式多媒体应用。2.3系统开发流程系统的开发流程关系到该系统的开发时间和有效程度。为了合理的开发虚拟校园漫游系统,该系统设计流程图基本如图2-3所示:三维建模解决基本的建筑物和地理情况问题。使虚拟校园有一个基本的初体的模型。纹理贴图空间漫游人机交互在已经建好的模型的基础上进行纹理贴图。使校园更加形象生动,更接近现实生活中的校园。浏览者可以通过桌面系统进行对校园的浏览和观察。碰撞检测使该系统更加真实。不同的浏览方式适合不同的浏览者的习惯。图2-3虚拟校园漫游系统设计流程图在三维建模之前,还必须对校园环境进行分析,选取最合适的建模方案。在三维建模完成之后,还要考虑系统的可行性,对系统作一些必要的优化。2.4本章小结本章主要介绍了虚拟校园漫游系统的总体结构和开发工具。包括VRML技术特征、VRML浏览器的种类及其各自的特征、VRML中的一些重要的概念、VrmlPad 功能特点、VrmlPad工作界面。明确了利用3D Studio Max软件建立各种三维模型,再导出生成.wrl文件,编辑他们在虚拟现实世界中的位置和关系,形成一个完整和同一协调的虚拟世界。也可以利用Java等一系列的脚本完善和增强VrmlPad功能。同时也初略介绍了虚拟校园漫游系统的开发流程和相关问题。第三章 虚拟校园场景建模3.1场景建模311场景分析在建模工作进行之前,首先要对所建场景进行一个全面和完整的分析。对于本系统中的校园场景,做了如下的分析。(1)从建筑物的类别上来分:浙江科技学院分为五个建筑群,分别为A教学楼区、B教学楼区、C教学楼区、图书馆(大门)、行政楼。(2)从地理位置的分布上来看:浙江科技学院校内河把学校一分为二,分为南北两部分。南部分有A教学楼区、C教学楼区、图书馆(大门)、行政楼。北部分包括A教学楼区、B教学楼区与情人坡、小山等景观性物体。312制定计划基于场景分析的基础上,制定了校园建模的计划。采取各个击破的原则,分别对各个建筑群建模。从地理位置上来看,为了符合人们浏览的顺序,首先从大门(图书馆)开始建模,接下来为其他部分。各个建模顺序如下所示:(1)图书馆(大门);(2)行政楼;(3)C教学楼区;(4)B教学楼区;(5)A教学楼区;(6)其他。313建模工具选取三维建模是VR 系统开发的关键,不借助专业VR建模工具很难完成。VRML 和3DSMAX是常用的两个建模工具。VRML 采用ASC文件格式描述三维场景和交互过程,建立的三维场景文件,要经过浏览器插件解释后才能显示出来。节点是VRML文件的核心和灵魂,在VRML 创造的虚拟场景中,任何对象都用节点表示。具体来说,可以通过标准形状节点和高级形状节点,创造虚拟环境中的静态虚拟对象;通过各种动态造型节点和时间传感器节点,实现动态建模;通过传感器节点和视点控制,使系统能与用户交互。314地形地貌的建模地形对象模型库在虚拟环境中分量很大,通常其多边形数占系统总多边形预算的1/3左右,它对漫游的真实性和系统运行的实时性有重要影响。地形对象模型是虚拟校园模型系统的基础,是布置地物对象模型的依据。地形对象三维模型的建立是开发虚拟校园必不可少的一个关键环节,对其它虚拟系统同样如此。在实际操作中,主要利用3DS Max中的Veiws / Viewport Background把翻拍所得的地形图导入到top视图中,然后根据形状勾画出平面图形,再用Extrude功能使之成为三维图形。通常,地形是不规则的,如草地高低不平,需要根据实际情况进行拉伸。如地形复杂,则往往需要增加面片,然后再拉伸,直至达到预期的目标。最后,把所有制作好的模型导入到同一个文件里,进行总体规划排列,形成一个完整的三维场景。地形建模结果如图3-1所示:图3-1虚拟校园地形建模315建筑单体的建模楼房是虚拟现实(如虚拟城市,虚拟校园)中的主要景观,也是建模的重点。作者以航拍照片的平面图作为参考,将图扫描到计算机中,在3DS Max中作为底图描出楼房底部轮廓线和具体位置,由于平面图没有提供高度信息,楼房高度采用现场测量数据,少部分参照数码相机拍摄的照片近似地获取屋顶、阳台这样的细节也要参照相片如实建模。为了能够多人协调作,同时使系统具有扩展性,事先要约定好接口规则,允许分别创建多个小模型并将它们结合起来。这样,在为特定需求建模后,能把这些独立的三维模型准确地放入校园中,扩大校园的范围。还可以满足人们漫游整个校园或欣赏单个建筑的不同需求。这种工作方法也为今后将虚拟现实技术运用于城市(区域)规划、城市设计、建立更大规模的虚拟环境提供了一种可能。根据系统需要,虚拟校园主要是展示教学区,像临时工棚或简易房屋就没有必要建模。本系统模型大部分都基于3DS Max的模型设计,在3DS Max中完成,构成物体三维图形的基本要素是点、线、面。较复杂的建筑,通过编辑减少不需要的多边形,合并面,消去T点(即两个共面多边形,其相交的顶点没有重合)来精简模型。对于一般建筑物,表现出模型的基本轮廓和结构,反映出必要的形体变化关系即可。同时可根据虚拟现实系统的要求,调整所建模型的参数以获得不同分辨率的模型,以适应虚拟场景实时显示的需要。由于三维虚拟校园的设计非常复杂,楼的形状多样、比较复杂,不同的楼要采用不同的建模技术。因此,先把校园内的建筑物进行编号,规定好模型的名称和存储路径,同时把建筑物按区域不同分割成4个部分进行建模,每部分都有自己的材质和贴图。三维建模包括对象级建模、布尔建模、网格对象建模、面片建模等等。对于简单建筑物主要采用对象级建模,用几个方块就可以实现,用3DS Max的create面板中的shape。工具栏上的line按钮,根据楼的形状尺寸先在top视图中勾画出平面图,再用修改器modify中的Extrude, wave, bend等进行修改,获得准确的形状模型,对于复杂形状的楼,需借助更复杂的技术才能制作。复杂形状的楼的设计往往离不开复杂曲线和曲面的设计,主要是曲线的设计,经常要用到的Bezier曲线,B样条曲线和NURBS曲线。对这三种曲线进行三维拓展就可以得出相对应的曲面,同时也用到了布尔建模。单体建筑A的模型如图3-2所示图3-2 A教学楼区模型单体建筑B的模型如图3-3所示图3-3 B教学楼区模型单体建筑C1的模型如图3-4所示图3-4 C1教学楼区模型单体建筑C2的模型如图3-5所示图3-5 C2教学楼区模型单体建筑图书馆的模型如图3-6所示图3-6 图书馆模型单体建筑行政楼的模型如图3-7所示图3-7 行政楼模型3.2场景对象优化321虚拟场景的二次建模方法建模要达到理想的效果,关键是取决于真实度和面片组合复杂度的矛盾。解决了这一个矛盾,就会取得良好的网络传输效果和虚拟现实的真实程度。二次建模的思路是,第一次建模,我们建立一个精细的模型,不管从建筑物细节上、纹理图片质量上,都力求最佳效果。达到精益求精的地步。然后对这些所需的纹理进行渲染输出,包括一些建筑物的侧面,表面等表现力较强的纹理。再对原结构进行分解,用外轮廓线加拉伸或者放样生成片段数为一的几何体,最后,用包含细节的纹理映射到简单几何体上,完成模型的建造,这些步骤就是二次建模的主要过程。单体建筑C1二次建模的模型如图3-8所示图3-8 C1二次建模模型单体建筑C2二次建模的模型如图3-9所示图3-9 C2二次建模模型单体建筑行政楼二次建模的模型如图3-10所示图3-10 行政楼二次建模模型322建模环节的其他优化方法(1)应用实例复制:实例对象在VRML中只定义一次,再通过在场景中多次使用这样的几何体,而文件的大小不会增加。(2)删除和隐藏场景中的不可见和细微细节。这种方法可以简单得降低场景的复杂度。(3)使用多细节层次模型技术。根据物体和观察者的距离选择同一对象的不同精细度的版本。合理设置VRMLExport对话框参数。(4)使用面片模拟植物造型。目前关于植物的造型主要有以下两种方法,一种是通过Billbord贴图来实现。一种是用十字交叉法,在交叉的两个平面上贴上相同的透明贴图,这样就解决了Billbord树木只有一个视角的问题,真实度得到了提高,但是模型复杂度有所上升。(5)使用LOD 表达复杂结构模型。虚拟校园中有许多复杂模型必须用LOD 来表达,以使运行系统中的多边形数控制在预算之内,有利于提高运行系统的实时性。 (6)用纹理代替多边形表达结构细节。纹理映射能够在不增加多边形数目的前提下提高场景表达的详实程度。用LOD 模型配合一定细节程度的纹理来代替多边形模型会大大降低系统的绘制负载。(7)删除冗余多边形。删除数据库中的冗余多边形可以在一定程度上减少系统中的多边形数量。些多边形可能是模型内部的细节结构,某些多边形的背面可能是位于某平面上的模型的底面,如地面上内部不需漫游的房屋的底面等。(8)移除多边形的背面。虚拟校园环境中组成绝大多数模型的多边形都是单面可见。Creator 能自动剔除多边形的背面而仅显示其前面。虚拟校园环境中除构成树木模型之外的绝大多数多边形都是单面可见的。为减轻系统的运行负载,提高渲染速度,如果多边形是单面可见,应确保其状态没被设定为Render Both Sides Visible12。3.3场景外观VRML纹理映射是通过数字纹理(又区分为图象纹理、象素纹理、电影纹理)根据几何体的外形,按照一定规则映射到几何造型或者文本造型的表面。纹理映射是包括VRML在内的各种三维技术广泛使用一种增效渲染方法,该方法通过在造型表面映射具有微观细节的数字纹理,极大地改善了单纯使用Material接点进行造型材质渲染所呈现的视觉宏观效果。VRML纹理映射对于场景对象的真实程度和精简程度都有着很大的影响。331纹理种类VRML纹理映射使用Appearance节点的texture域或者texture Transform域进行;对于VRML以点、线、面方式构造的复杂造型,还可以使用Texture Coordinate节点进行精确纹理映射。纹理种类可分为以下几种:(1)图象纹理(ImageTexture)图象纹理(ImageTexture)节点用于设置一个图象纹理和将该纹理影射至几何体表面时所需要的参数图象纹理可使用数字图象文件格式有JPEG、GIF、PNG文件。(2)象素纹理(PixlTexture)象素纹理(PixlTexture)与图象纹理(ImageTexture)、电影纹理(MovieTexture)的使用方法不同,它是利用image域将映射纹理直接存放在VRML文件中。由于不再需要调用外部纹理文件,因而可以极大地节约网络下载时间。PixlTexture节点以显示象素数组的形式定义了一个二维象素纹理,同时指定将该纹理映射至几何体表面时所需要的参数。(3)电影纹理(MovieTexture)电影纹理(MovieTexture)用于设置一个电影纹理以及将该纹理映射至几何体表面时所需要的映射参数和控制播放参数。332模型纹理处理只有物体的形状是不够的,要使物体具有真实感,还需设计和制作物体的属性和表面图案,如材质、贴图,最后把这些内容有机的结合起来就可以制作出一个具有强烈真实感的三维物体模型。 建模后,要对形状模型的每一部分分配材质和贴图。灵活运用贴图可以带来很多方便,建筑中的三维模型,如门窗、树木等原本立体效果不是很强、精度要求不是很高,可以用贴图取代立体图案的制作,既简化了模型的设计,又不会对视觉产生不良的影响。树木在VRML中的的贴图如图3-10所示:图3-11 树木在VRML中的纹理贴图通常在制作树木的时候,由于树木叶子的面片数过多,不可能一一去细化制作。一般都用一张贴图来代替,但是对于贴图也存在着一定的要求,在制作过程中,其中的GIF、PNG这类透明贴图在对树的制作是简单方便的。为了取得更好的效果,我们采用Billboard节点来适应不同角度的树的观察。这样浏览者可以在不同的角度都可以看到树木的整体效果。树木纹理贴图代码如下:Background skyColor 1 1 1Transform childrenBillboard children Shape appearanceAppearance materialMaterial textureDEF shu ImageTexture urlshumu.gif geometry Box size 10 20 1 纹理是由材质、纹理和色彩组成的,需要运用图像处理技术来实现。纹理制作中要运用大量的贴图,贴图图片的获得可以通过多种手段,其中主要是用数码相机实地拍摄。拍好的图片一般不能直接作为贴图,因为拍摄时角度存在些偏差、模糊等,要进行预处理,包括灰度级修整、图像平滑、图像锐化处理、图像分辨率提高、图像角度修正等。最后,把表面图案和形状有机的结合起来,就构成了教学楼的三维模型。由于现实中的楼房外观是复杂的,需把模型进行分解,对每一部分采用不同的贴图,用多种贴图真实地表现楼房景观。对于相似的建筑,赋材质时可利用平铺图片来简化贴图的处理。贴图最终是通过指定贴图坐标贴到物体表面上去的。贴图坐标要求准确,否则贴图将不能正确显示。需要注意的是,对于用布尔建模得到的模型应先对原模型分配材质,再做布尔运算,否则会扰乱贴图。各部分模型通过在3DS Max平台上的三维建模、材质分配和贴图等的处理,再把各个部分根据实际情况组合起来,最终就完成了校园完整的三维建模设计。在3DS Max中,通过旋转、放大、缩小可以在任意角度对其进行观察,真正达到了形象逼真的效果。3.4本章小结本章主要讨论虚拟校园的建模工作。在建模过程中,使用3DMax软件辅助建模。分析了场景建模的步骤和VRML中造型节点对建模的作用。另外,对于复杂的多边形场景的建模,我们也提出了一些优化的方法。介绍了VRML中纹理的种类,使用方法和优化的方式。只有物体的形状是不够的,要使物体具有真实感,还需设计和制作物体的属性和表面图案,如材质、贴图,最后把这些内容有机的结合起来就可以制作出一个具有强烈真实感的三维物体模型。建模后,要对形状模型的每一部分分配材质和贴图。灵活运用贴图可以带来很多方便,建筑中的三维模型原本立体效果不是很强、精度要求不是很高,可以用贴图取代立体图案的制作,既简化了模型的设计,又不会对视觉产生很多的影响。所以在具体的操作过程当中,合理地使用纹理贴图能够达到事半功倍的效果。第四章 虚拟校园漫游系统的交互虚拟校园漫游系统的交互是通过VRML的交互机制来实现的。具体来说,交互是通过节点来实现的。节点的交互就是一个节点某状态的变化能引起另一个节点状态的变化。VRML中将状态的变化一记为一个“事件”,代表输入的称为“事件输入”,代表输出的称为“事件输出。引起其他节点变化的节点为“源节点,发生变化的节点为“宿主节点”。“源节点”发出“事件输出,“宿主节点”接受“事件输入”,节点的任何一个参量都可能成为一个“事件。 VRML使用的交互功能,浏览者可以根据需要感知VRML场景、改变场景中的造型状、触发一个事件或者开始一段动画。VRML通过一系列交互传感器在三维环境和用户之间感知交互。4.1VRML传感器节点简介VRML中的交互传感器分为接触传感器、环境传感器、感知传感器以及碰撞编组4类。411接触传感器接触传感器(TouchSensor)节点用于检测用户基于指定设备(如鼠标、操纵杆)的动作,并将其转换后以各种形式的事件加以输出。TouchSensor节点可以作为任何边组节点的子节点使用,并感知用户对该编组节点中所有造型的指定动作。TouchSensor节点就可以控制门窗的活动动画,当观察者点击TouchSensor物体所指定的门窗时,门窗即可开始自身具有的动画。接触感知器TouchSenso:实现开门交互。当我们漫游场景时,若要进入大楼参观,较自然的交互方式是推门而入。实现这种交互控制可通TouchSensor来实现。TouchSensor是一种接触感知器,鼠标点击后可使物体绕Y轴转动。场景中,当鼠标指向并保持指向状态、选取门造型后,单击后释放,这时isActive为TRUE,该值送TimeSensor使其处于使能状态,同时输出事件关键值Key,供朝向插值器(OrientationInterpolator)使用。朝向插值器按预设定进行插值,输出转动角度到门节点。本例的TimeSensor节点由于其默认Loop域值为FALSE,初始状态下场景动画不会自动发生。动画自动运行一个时间周期后停止,类似于在一个存在摩擦阻力的环境中,旋转的门会自动停止13。412基于ProximitySensor的交互方法 用ProximitySensor节点来感知观看者的接近,当观看者接近部分门窗时可以感知并且触发一段动画,门窗即被打开,这样浏览用户就不必手动操作这些门窗了,大大增加了VRML场景的亲和性。413环境传感器环境传感器分为三种:平面传感器PlaneSensor、圆柱体传感器CylinderSensor、球体传感器SphereSensor。(1)平面传感器PlaneSensor平面传感器PlaneSensor节点用来检测用户操纵指定设备的动作,并将指定设备的选取,移动解释为造型在平面传感器PlaneSensor节点所在局部坐标系XOY平面上的平移。(2)圆柱体传感器CylinderSensor圆柱体传感器CylinderSensor节点用来检测用户操纵指定设备的动作,并将该动作转换成为造型在围绕以某根轴为旋转轴的一个圆柱面上所产生的旋转,使浏览者像是在围绕着一跟圆柱体上进行观察。(3)球体传感器SphereSensor球体传感器SphereSensor节点用来检测用户操纵指定设备的动作,并将该动作转换成造型在围绕以某一点为中心的一个球体的表面上所产生的旋转。414碰撞编组碰撞编组Collision节点用来从浏览者所在的方位检测用户何时与该组中的任何子节点造型发生了碰撞。Collision节点作为碰撞编组节点,既可以单独使用,也可以作为其他编组节点的子节点使用。Collision节点兼具编组和感知传感双重功能。4.2虚拟校园

温馨提示

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

评论

0/150

提交评论