(机械设计及理论专业论文)3d游戏引擎在虚拟展示中的应用研究.pdf_第1页
(机械设计及理论专业论文)3d游戏引擎在虚拟展示中的应用研究.pdf_第2页
(机械设计及理论专业论文)3d游戏引擎在虚拟展示中的应用研究.pdf_第3页
(机械设计及理论专业论文)3d游戏引擎在虚拟展示中的应用研究.pdf_第4页
(机械设计及理论专业论文)3d游戏引擎在虚拟展示中的应用研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(机械设计及理论专业论文)3d游戏引擎在虚拟展示中的应用研究.pdf.pdf 免费下载

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

文档简介

i 摘摘 要要 随着时代发展、科技进步,足不出户就能游历世界各地的梦想已经实现,其关键就 在于虚拟展示系统的开发成功!传统虚拟展示系统由于关键技术的局限,日益暴露出 许多棘手问题,如:画面粗糙、速度缓慢、系统结构复杂、交互性和移植性差、开发 成本高等,这些问题需要尽快解决,否则将严重影响虚拟展示技术的推广与发展。本 文以东莞科技博物馆展示项目为背景,研究传统虚拟展示技术以及 3d 游戏引擎技术, 为快速开发应用虚拟展示系统,如虚拟博物馆,网上书店以及电子商务等提供了科学 的依据与先进的手段。 本文是作者研究工作的总结, 首先对虚拟展示技术的发展以及现状作了综述, 分析 了传统虚拟展示技术的应用特点, 初步阐述了将3d游戏引擎引入虚拟展示领域的思想。 然后深入剖析 3d 游戏引擎和多媒体数据库技术,从而进一步论证利用 3d 游戏引擎来 实现虚拟展示系统的可行性。最后介绍一个完整的虚拟展示系统的实现,包括系统的 开发环境、体系结构、界面设计与各种关键技术的应用。 在上述研究工作中, 文章提出了一个完整的新型虚拟展示解决方案。 该方案基本解 决了传统虚拟展示方案的弊病,并且得到良好的展示效果。 本文的成果首先是提出了利用 3d 游戏引擎技术来实现虚拟展示的思想,即用开发 游戏的角度来开发虚拟展示系统,并用展示系统的实现来例证此思想的可行性。其次, 采用多媒体数据库技术来管理和优化系统资源,如多媒体信息文件,虚拟场景文件以 及其他信息,使系统更稳定、更高效。这些成果可用于东莞科技博物馆的网上展示, 并可为艺术鉴赏,参观旅游,文物保护等传统行业采用,亦可应用于其他新兴行业, 如电子商务,网上图书馆等。 关键字:虚拟展示 3d 游戏引擎 多媒体数据库 ii abstract with the lapse of time and development of science, the dream that people can travel around the world in their homes has come true because of the realization of virtual exhibition system. traditional virtual exhibition system gradually emerges many stubborn problems such as the unshaped image, slow speed for browse, complicated structure, expensive cost, poor transplantation and intercommunion. the problems need being resolved as quickly as possible, otherwise the extendibility and development of the technology of virtual exhibition will be affected severely. with the background of the exhibition project of dongguan museum of science and technology, the paper introduces the traditional technology of virtual exhibition, researches the technology of 3d game engine and puts forward to its scientific foundation and advanced solution of rapidly developing application system such as the virtual museum, online bookstore and so on. this paper is a summary of authors research in huazhong university of science and technology. firstly, it gives a through introduction of computer techniques, which can be used in virtual exhibition. it demonstrates the thought of introducing the 3d game engine into the field of virtual exhibition. secondly, it anatomizes the techniques of 3d game engine and multimedia db, which further demonstrates the feasibility of realizing the system based on the 3d game engine. finally, it describes the realization of the virtual exhibition, which includes the development environment, structure, user interface and the application of key techniques. based on the former research, the paper puts forward to a solution for the virtual exhibition which solves the stubborn problems on the whole and its output is favorable. the progeny of the paper includes firstly the thought of realizing the system based on the 3d game engine and illustrates the feasibility by realizing the system, secondly the resource of system is managed and optimized by using the technology of multimedia data base. the progeny can be applied to online exhibition such as art, tour and relic preserving, as well as many rising industry such as e-business and online library. keyword: virtual exhibition 3d game engine multimedia data base 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 ,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 1 绪论 1 绪论 1.1 前言 1.1 前言 东莞市科学技术博览馆是一所现代化的高科技博物馆,作为展示高科技成果的场 所,如何更好地将科学的魅力向世人展示呢?在兼顾传统的“走马看花”式的展示方 式外,它应该还有更为先进的展示“利器” 。随着计算机技术的飞速发展,人们对客观 事物的表示,已经不再满足于简单的二维世界,而是转向“景物真实、动作真实、感 觉真实” 1的多维信息系统。同时,人们若要使三维物体的形体和运动等信息可以在网 络上传输,只需要通过某种浏览器就可以轻松地投入到一个逼真生动的虚拟境界中去, 就像在浏览 web 主页一样简单,更直观,除了逼真、直观之外,它还要有极强的交互 性,它能让用户通过键盘、鼠标对“场景”中的自己进行完全控制,实现移动、转动、 抬头、低头、甚至跑、跳等视觉效果,让那些没有到过现场的人们足不出户就能通过 网络一览现代科技博物馆的风采,这就要依靠虚拟现实技术了。 虚拟现实系统, 是一种可以创建和体验虚拟世界的计算机系统。 虚拟现实技术是充 分利用计算机硬件和软件资源的集成技术,它提供了一种实时的三维虚拟环境,用户 可根据自身的感受,通过多种传感设备,使用人的自然技能对虚拟环境中的物体进行 考察或操作,参与其中的事件1。用户可获得视觉、听觉、触觉等直观而自然的实时感 知,从而“沉浸”于虚拟环境中,虚拟环境是由计算机生成的具有双视点的、实时动 态的三维立体逼真图像,它可以是某一现实世界的真实再现,也可以是虚拟构想的世 界2。 但随着计算机技术的飞速发展,这些主流的虚拟展示技术(如 vrml、cult3d)逐 渐暴露出了交互性差,画面不流畅,辅助功能不强,系统实现复杂等诸多棘手问题。 如何解决呢?当然方案有很多, 本文就描述了一个将展示系统做成3d游戏的开发思路, 将 3d 游戏的心脏游戏引擎引入虚拟展示系统中来。这个系统不仅具有传统虚拟现 实系统的所有优点,而且具有 3d 游戏般的交互性,再赋予 3d 音效、背景音乐甚至基 于网络联机的多用户实时对话和聊天等功能,就能将电脑屏幕变成一个逼真的虚拟世 界。 2 1.2 国内外概况国内外概况 虚拟现实系统按功能可分为两种类型: (1) 沉浸型虚拟现实系统,是一套比较复杂的系统。使用者必须戴头盔、戴数据 手套等传感跟踪装置,才能与虚拟世界进行交互。这种系统的优点是用户可完全沉浸 到虚拟世界中去,缺点是系统设备价格昂贵,难以普及推广3。 (2) 简易型虚拟现实系统,是由一台普通的计算机系统组成。使用者通过键盘和 鼠标便可与虚拟环境进行交互。这种系统的特点是结构简单、价格低廉,易于普及推 广,是一套经济实用的系统4。此种系统又分为两类:基于照片虚拟现实技术的实现方 法和基于三维造型虚拟现实技术的实现方法。前者主要是针对已经存在并且形式较复 杂的场景及实物,比如文化古迹等。通过对场景以及实物进行全景或多方位的拍摄得 到照片,然后用这些照片来模拟真实的场景以及实物。后者主要是针对未来的并且形 式比较简单的场景及实物,比如网上书店,虚拟科技博物馆等。通过 3d 建模工具来构 造实体,由 2d 图形工具构造纹理贴图,然后由编程的方法来模拟真实的场景及实物。 从目前来说,后种方式更能引领当今的计算机水平,而且从某种程度上来看,更能节 约成本,因此更能得以推广,本文就以此种方式做详细讨论5。 1.2.1 用 vrml 技术实现 1.2.1 用 vrml 技术实现 vrml 技术是当今国际上流行的基于 internet 网的虚拟现实建模标准。目前,基于 web 的虚拟漫游环境一般使用 vrml 来实现,如 caligari 公司的 truespace3,cosmo 软件公司的 cosmo world,platinum technology 公司的 vrcreator personal edition 等6。vrml 语言采用面向对象的描述方法,通过对象的层次结构、封装、重用、消息 (事件)传递以及超链接来实现。它具有以下优点: (1)结构化、易扩展。 (2)平台无关:无论是 pc 还是 sgi,都可以浏览 vrml 世界 (3)基于 web,能够建立三维可视化服务器。 (4)能够快速建模:支持 proto 等灵活的编程方式。 (5)大量的可用资源:越来越多的 internet 站点有与 vrml 有关的内容。 但 vrml 语言又有以下缺点: (1)效率低下 (2)硬件匹配性差。 3 (3)真实感和实时性差7 8。 另外,vrml 是以几何建模为中心来组织虚拟实体对象的建模。这种方式几何建模 能力较强,而行为建模能力相对较弱;虚拟实体对象的独立性、并发性较差;已开发 的虚拟实体对象的行为难以被其他虚拟实体对象重用。而且,还存在不支持复合行为, 不支持把完整的具有行为的虚拟实体对象作为子对象等问题。这些因素综合起来就使 得 vrml 语言显得有些不堪9。 1.2.2 用 cult3d 实现 1.2.2 用 cult3d 实现 将三维动画制作软件中的三维模型通过 cult3d exporter 插件输出为一个 cult3d designer 文件(*.c3d), 将生成的 cult3d designer 文件载入到 cult3d designer 编 辑器中,给对象加上各种事件、行为,当对象编辑完成以后将它输出为一个 cult3d player 文件(*.co),将此文件插入网页,装载 cult3d 插件就可在网上浏览了10。 1.2.3 用 atmosphere 实现 1.2.3 用 atmosphere 实现 最近 adobe 公司开发的 atmosphere,虽然它尚处于调试开发阶段,但由于其独特 的光能传递渲染技术, 深深吸引着客户。 adobe atmosphere 包括三个组件: atmosphere builder 用于三维场景制作;atmosphere player 用于浏览 atmosphere 场景文件 (*.aer);atmosphere community server 支持 atmosphere 场景交互聊天的消息服务器 软件。这三个组件 可 在 adobe 公 司 站 点 免 费 下 载1。 综上所述,国际上流行的这几种实现虚拟现实的几种方法,如 w3d 技术、cycore 公司的 cult 3d 技术、adobe 公司的 atmosphere、viewpoint 公司的 viewpoint 技术和 macromedia 公司的 shockwave 3d 技术,虽然在实时性,失真度等方面各有千秋,但它 们还是逃脱不了同 vrml 同样的宿命,那就是效率低,要求高等缺点,而且这些技术都 是非开放技术,不允许用户自行开发,所以就大大影响了它们的传播速度11。 1.3 本文所做工作本文所做工作 根据前文提到的问题,本文就提出了一个基于 3d 游戏引擎的解决方案。用构建 3d 游戏的思想来解决虚拟展示中的问题。在游戏开发中,核心的技术是构架游戏引擎, 它是决定游戏质量的关键 11。游戏引擎是指为制作游戏需要而事先编制好的一系列同 游戏初始化、图形处理、角色控制、碰撞检测等有关的 api 函数(一般以 dll 库的形式 4 提供),它相当于游戏程序员的开发工具包,这样游戏程序员就不必从最底层开始编写 游戏,只需要调用游戏引擎中相关的 api 函数 12。在游戏里,剧情的进行、形形色色 的角色衬托、各种场景的变换,也都是游戏引擎事先就约定俗成一种模式,一个大体 的框架,然后依靠一些复杂的数据库来组织完成的 13。所以,采用 3d 游戏引擎来开发 不失为一种简便易行的解决办法。 文章具体安排如下: 绪论。阐述了本文的研究背景、意义、目标和内容。 虚拟展示系统概述。 对目前虚拟展示领域的应用情况进行了研究, 论述了主要采用 的思想和技术,介绍了目前比较流行的几种解决方案,初步论证了将 3d 游戏引擎引入 此领域的可行性。 新型虚拟展示系统设计。围绕 3d 游戏引擎对虚拟展示系统进行了设计,包括总体 设计、多媒体数据库设计、系统模块设计以及人机界面设计。充分展现基于 3d 游戏引 擎的设计思想。 新型虚拟展示系统实现。 对本文涉及的关键技术进行了深入研究, 介绍了系统开发 的软硬件环境以及开源的游戏引擎开发工具crystal space 3d sdk,对系统设计, 模块结构,操作流程以及最终实现也做了详细的描述。给出了一些界面方案以及效果 图。 结论与展望。通过对本文工作的总结,得出了这一结论:将 3d 游戏引擎应用于虚 拟展示领域的思想是可行并极有价值的。最后就几个关键部分,展望了下一步的研究 方向。 5 2 虚拟展示系统 2 虚拟展示系统 2.1 虚拟展示系统现状 2.1 虚拟展示系统现状 虚拟现实(virtual reality)是 20 世纪 80 年代未 90 年代初崛起的一种实用技 术,它以构想性、交互性、沉浸性三大特性为用户提供了丰富临场感。由于虚拟现实 技术可以降低成本,减少危险,提高效率,克服物理条件的限制,拓宽应用领域等诸 多优点,已在娱乐、医疗、工程与建筑、教育与培训、军事、科学和金融可视化等方 面获得了应用15。目前国外在虚拟现实的应用上,主要侧重历史继承性的应用。如: 地域演变的模拟、生物演变的模拟、虚拟博物馆、虚拟展览馆、文物的复原等。另一 方面主要是虚拟游戏的开发,以及虚拟现实技术与遥感技术的结合,用于气象、宇航 等事业。近年来,由于地理信息系统(gis)应用的发展,使得能提供良好的人机界面 的虚拟现实技术与 gis 技术的结合将成为必然趋势。例如:数字城市、数字地球等概 念屡见不鲜16。 在建筑设计、房产开发中,利用虚拟现实技术,虚拟出建筑物,让设计人员、用户 对室内、室外进行考查。虚拟现实技术为设计人员、用户对房产设计规划是否合理、 满意提供了直观参考,并且可以节约生产成本,缩短建设周期17。 虚拟现实系统按功能可分为两种类型: (1) 沉浸型虚拟现实系统,是一套比较复杂的系统。使用者必须戴头盔、带数据 手套等传感跟踪装置,才能与虚拟世界进 行交互(如图 21)。这种系统的优点是用 户可完全沉浸到虚拟世界中去,缺点是系 统设备价格昂贵,难以普及推广。 (2) 简易型虚拟现实系统,是由一 台普通的计算机系统组成。使用者通过键 盘、鼠标便可与虚拟环境进行交互。用户 在普通的电脑上,利用鼠标和键盘,就能 真实地感受到所虚拟的情景。这种系统的 图 2-1 虚拟现实示意图 特点是结构简单、价格低廉,易于普及推 广,是一套经济实用的系统1 2。因此,重点介绍简易型虚拟现实系统。 6 2.2 虚拟展示系统概述 2.2.1 基于照片虚拟现实技术的实现方法 2.2 虚拟展示系统概述 2.2.1 基于照片虚拟现实技术的实现方法 1 照片的获取 (1) 全景 (panoramas) :quick time vr 的全景,实际上是空间中一个视点对 周围环境的 360 0的视图。应用在旅游风光、楼盘展示等方面。 (2)物体 (objects) :quick time vr 的物体是和全景图像的概念刚好相反,它 是从分布在以一件物体为中心的立体 360 0的球面上的众多视点来看一件物体 (全景图 像是从空间中的节点来看周围 360 0的景物所生成的视图) , 从而生成的对一件物体全方 位的图像信息。应用在商品展示、文物观赏、工艺品展示等方面。 (3)场景(scenes) :quick time vr 的场景,是把一个或多个全景图像或对象电 影通过热点这种手段连接后的全景图像和对象电影的有序集合体。在 quick time vr 场景中,用户可以在很多全景图像或对象电影中漫游,可以从全景图像到全景图像、 从全景图像到对象电影、从对象电影到对象电影、从对象电影到全景图像等多种方式 来漫游1 18。 2 照片的拍摄 拍摄用于全景(panoramas)方式照片时,建议利用三角架将相机固定,让相机保 持水平于地面。拍摄时镜头焦距要一致,以同一顺时针方向旋转,每隔一固定角度拍 摄一张, 每张相邻的照片最好能重叠大于 15以上 (如数码相机焦距大于或等于 38mm 以垂直方式旋转拍摄,每隔 20 0 拍一张,共拍 18 张) 。在室外拍摄时,应尽可能在较 短时间内完成,这样可避免由于自然光强度变化对全景照片的影响。为了提高拍摄效 率,kaidan 公司和 eye see 360 公司研发了一种可以捕获 360 0全景图片,并由一个相 机一次拍摄就可以完成的系统360 one vr。 拍摄用于物体(objects)方式照片时,有两种情况:对于无法旋转的物体 (如固 定的雕塑、建筑物等) ,要找出物体的中心,以此中心为圆心画圆,在圆周上分 18 等 分,即 18 个拍摄点,相机放在每个拍摄点对物体拍摄;对于可以旋转的物体 (如模 特,一些商品手机、电视机、电脑等) ,可采用相机固定,使物体均匀旋转固定角度拍 摄若干张 (如物体每旋转 20 0拍摄一张) ;为了操作方便,也可自制转盘(能锁定旋转 的角度更好) ,将拍摄物体放置在转盘上。 3 利用专业软件整合 美国的 vr tool box 公司推出的 quick time vr 制作软件 the vr worx (for pc) 7 包括三个模块:全景(panoramas) 、物体(objects) 、场景(scenes) ,分别用于制作 上述的三种方式的全景照片。 可从 http:/ www. vrtoolbox. com 下载 the vr worx (for pc) demo 版。 使用 the vr worx 制作软件整合应注意: (1)在室外进行 360 0拍摄时,总会遇到逆光和顺光的情形,两者在图像上的亮度 会有很大差异。因此,在用 the vr worx 制作软件整合前,需将图像放在图像处理软 件 (如 adobe photoshop)中进行处理,可以得到一致性很好的照片。 (2)对于基于物体(objects)方式的全景照片,可扩充其应用 (不仅用于物体 展示) ,就是沿一定行走的路径确定拍摄点产生一系列照片,按基于物体(objects) 方式在 the vr worx 软件中整合。 (3)对于场景(scenes)方式的全景照片,是对其他(全景(panoramas) 、物体 (objects) 、场景(scenes)方式)quick time vr 文件(*.mov)的合成,并在其中设 置了人机交互的链接,因此场景 (scenes)方式在大多数情况下,是 quick time vr 应用的最终形式。在开发场景(scenes)方式时,应使用相应的背景图规划和设计出 各节点链接关系示意图,以免在开发大型项目时造成关系混乱。 4 全景照片的浏览 the vr worx 软件导出 quick time vr 文件(*.mov),将该文件插入网页,并使用 quick time 插件便可浏览。 当然, 制作全景照片的软件不同, 插入网页的方式亦不同, 用于浏览的插件也就不同,有的也无须插件1 18 19。 基于照片虚拟现实技术的优点: 由于是基于照片的, 所有的信息都是通过照片获得, 物体信息损失最少,软件系统最为简单,最适合已经存在的场景。 基于照片虚拟现实技术的缺点:前期的硬件投入非常巨大,包括摄像、人工等,需 亲临现场,实现画面也最为粗糙,属于准三维系统。 2.2.2 基于三维造型虚拟现实技术的实现方法 2.2.2 基于三维造型虚拟现实技术的实现方法 1 三维模型的建造和获取 建造三维模型可利用常规模型制作软件:3d studio max, maya, rhino, lightwave 等. (1)利用照片建模技术。对建模对象实地拍摄两张以上的照片,可根据透视学和 摄影测量学原理,标志和定位对象上的关键控制点,建立三维网格模型。这项建模技 术的优点是操作比较简单,成本比较低。例如,imagemodeler 是一个特殊类型的独立 8 建模软件,根据几张不同角度的照片创建三维的立体模型,同时能自动根据照片创建 贴图材质,产生的模型可直接输出给 3d studio max, maya 等三维软件使用。照片建 模软件还有 canoma, photo3d, photomodeler 等1。 (2)利用三维激光彩色扫描系统。该系统是一种光、机、电三结合的高科技产品。 可用非接触式的手段,利用光学和电子系统直接获取物体外表的三维立体模型和材质, 并可形成三维动画制作软件使用的文件格式,被三维动画制作软件直接引用,也可利 用已出版的三维模型库20。 2 基于三维造型虚拟现实技术的实现 基于三维造型虚拟现实技术主要分为两类:一类是主要用于虚拟空间场景的技术, 如出现较早的虚拟现实建模语言 vrml 和最近 adobe 公司推出的 atmosphere 软件等, 这类技术特别适用于虚拟旅游、 楼盘展示等。另一类则着重于 kg 物体的再现,代表 技术是 cult3d, viewpoint 等,这类技术特别适用于电子商务中的商品演示1。 (1)用 vrml 实现。将三维动画制作软件场景按 vrml(*.vrl)文件格式输出(也 可以利用虚拟现实建模语言 vrml 直接建模, 最终形成 vrml 文件) , 将此文件插入网页, 装载 vrml 插件就可在网上浏览了21。 使用 vrml 应注意:首先 vrml 文件大小直接影响浏览三维场景的流畅程度,应尽 量减少场景复杂度,如在三维动画制作软件中减少所建几何体的分段数、用纹理贴图 代替几何体等;其次搞清 vrml exporter 能导出和不能导出的元素,如 3dsmax 场景中 用 vrml exporter 导出 vrml97 格式文件,不能导出光滑组等;最后常用的 vrml 浏览 插件有 microsoft vrml 2.0, cosmo player 2.0, cortona vrml client 3.022。 (2)用 cult3d 实现。将三维动画制作软件中的三维模型通过 cult3d exporter 插件输出为一个 cult3d designer 文件(*.c3d),将生成的 cult3d designer 文件载入 到 cult3d designer 编辑器中,给对象加上各种事件和行为,当对象编辑完成以后将 它输出为一个 cult3d player 文件(*.co),将此文件插入网页,装载 cult3d 插件就可 在网上浏览了10。 使用 cult3d 应注意:首先 cult3d 在建模阶段(即在三维动画制作软件中建模)一 定要处理好各个三维对象的层级关系,如制作一个带盖的盒子,盒盖上还有个小柄, 为了能够将整个盒子作为一个整体以使得我们可从不同的角度方位查看盒子的外部结 构(单击鼠标左键拖动) ,用鼠标点击盒盖上的小柄,盒盖 (连同其上的小柄一起) 打开, 可以将小柄联结在盒盖上, 将盒盖联结在盒子上。 其次用 cult3d 插件查看 cult3d 作品,只要单击鼠标左键,拖动旋转对象;单击鼠标右键,拖动缩放对象;鼠标左、 右键都按下拖动移动对象最后由于 cult3d 本身不能建模,可使用 cult3d 周边软件, 9 如 3dmenow 是由 biovirtual 公司出品的三维建模软件,用两张人脸照片,加上少许控 制点, 即可生成一个完全立体的三维头像, 而且还可以加上动画, 配上声音 biovirtual, 就可导出 cult3d 所支持的(*.co)格式1 23。 最近 adobe 公司开发的 atmosphere,虽然它尚处于调试开发阶段,但由于其独特 的光能传递渲染技术, 深深吸引着客户。 adobe atmosphere 包括三个组件: atmosphere builder 用于三维场景制作;atmosphere player 用于浏览 atmosphere 场景文件 (*.aer);atmosphere community server 支持 atmosphere 场景交互聊天的消息服务器 软件。这三个组件 可 在 adobe 公 司 站 点 免 费 下 载。atmosphere builder 本 身有建模功能,也可以运用 3ds max 建模,但运用 3ds max 直接输出的文件(*.ase) 因无法直接导入 atmosphere builder 所以还需要 viewpoint 公司的 viewpoint 来转换 格式 (*.mts, *.mtx) , 使文件能被 atmosphere builder 导入; 另外, 也可以用 viewpoint 直接做模型,然后输出(*.mts, *.mtx)1 11。 此实现方法所要求的系统结构图如下: 虚拟展示系统 静态部分动态部分 纹 理 获 取 及 处 理 场 景 动 态 重 绘 碰 撞 检 测 交 互 控 制 场 景 信 息 提 示 物 体 的 拾 取 文 字 提 示 信 息 场 景 三 维 模 型 格 式 的 转 换 与 简 化 多 媒 体 信 息 控 制 图 2-2 传统虚拟展示系统结构图 基于三维造型虚拟现实技术的优点:真正的三维漫游系统,前期投入较少,实体都 由三维造型软件制作,画面得到了一定的改善,技术已标准化。 基于三维造型虚拟现实技术的缺点:交互性比较差,漫游速度受固有特性影响,系 统结构过于复杂,漫游画面需进一步提高。 10 2.2.3 基于 3d 游戏引擎的实现方法 2.2.3 基于 3d 游戏引擎的实现方法 电脑游戏在计算机发展使用中可以说扮演了一个有趣的角色, 一方面不为很多人所 赞同,这些人认为它是一种在人力和财力上的浪费;而另一方面电脑游戏却是推动计算 机的各项技术迅速发展的最有力的力量之一。游戏可以说是集合了每个时期计算机行 业中最先进的硬件技术和最新的编程思想,比如现在游戏都采用了面向对象的编程技 术,大部分高质量图像的游戏都支持或者要求图形加速卡,同时游戏编程也有自己的 基本理论和结构设计方法23。 在游戏开发中,核心的技术是构架游戏引擎,它是决定游戏质量的关键11。游戏 引擎是指为制作游戏需要而事先编制好的一系列同游戏初始化、图形处理、角色控制、 碰撞检测等有关的 api 函数(一般以 dll 库的形式提供),它相当于游戏程序员的开发 工具包,这样游戏程序员就不必从最底层开始编写游戏,只需要调用游戏引擎中相关 的 api 函数12。同样在游戏里,剧情的进行、形形色色的角色衬托、各种场景的变换, 也都是游戏引擎事先就约定俗成一种模式、一个大体的框架,然后依靠一些复杂的数 据库来组织完成的13。 所以, 采用 3d 游戏引擎来开发不失为一种简便易行的解决办法。 3d 游戏引擎主要包括:引擎内核、图形处理模块、声音处理模块、游戏逻辑模块 和交互处理模块25。系统结构图如图: 引擎内核:此部分是 3d 引擎与操作系统之间通信交互的部件模块。一个优秀的 3d 引擎在进行平台移植时,它的系统模块则是唯一需要做主要更改(扩展代码)的地方。 此模块负责初始化、更新,以及关闭所有的专门处理模块。 图形处理模块:此模块负责在屏幕上它负责在屏幕上画点、线等图形操作。如今, 操作系统 引擎内核 游戏逻辑 声音处理 输入处理 图形处理 事件处理 网络处理 图 2-3 游戏引擎系统结构图 11 在屏幕上生成像素,涉及到 3d 加速卡,api,三维空间数学,对 3d 硬件如何工作的 理解等等。 声音处理模块:此模块负责在三维模拟环境中产生 3d 音效,程序员可以用来给声 音环境增加复杂的反响,比赛和障碍效果。 游戏逻辑模块: 此模块负责将客观规律以及与游戏情节有关的逻辑关系施加于虚拟 世界中,如碰撞检测,反向运动学,重力、惯性以及速度的实现和人工智能。 输入模块、 事件处理模块以及网络模块: 这三个模块共同完成人机之间的信息交互 处理25 26。 基于 3d 游戏引擎虚拟现实技术的优点:由于是建立在一个完整的、开源的、免费 的系统架构基础上的,所以此系统的实现较为简单,开发成本能大大降低;由于是以 制作 3d 游戏的思路来开发此系统,所以画面质量,声音效果以及交互性都是上述两种 技术所不能比拟的。 基于 3d 游戏引擎虚拟现实技术的缺点:处于起步阶段,还是以 c/s 为通信模式, 网络速度成为提高此技术性能的瓶颈。 2.3 虚拟展示系统分析 2.3.1 需求分析 2.3 虚拟展示系统分析 2.3.1 需求分析 从游客的角度看,这个系统首先画面要足够精美,足够流畅,操作性好而且娱乐功 能强大,将知识性与趣味性完美的结合起来,这样才能吸引更多的游客进行虚拟漫游。 从某种意义上说,游客需要的是一个类似 3d 游戏的虚拟展示系统。 从商家的角度看,这个系统的开发周期要尽量的短,周期越短见效就越快,成本也 就越低,所以对于以前想购买此类系统又缺少资金的中小型企业来说,这个系统的意 义就更加深远了。 从程序开发人员的角度看, 这个系统结构要尽量简单, 最好有现成的专业系统框架 可以利用,有专业的开发文档可以借鉴。 2.3.2 功能分析 2.3.2 功能分析 根据 3d 游戏引擎的特性,我们将要求本系统具有如下一些功能: 1 固定漫游 12 功能: 对于一个陌生的场景, 用户如何对其进行首次漫游是一个我们必须解决的问 题。固定漫游就像是一个熟练的向导,带领游客按照一定的次序游览场景。当然,用 户可以自由选择某条路线,自由调节漫游速度,可以在乐意时跳过某一场景,也可以 自由地转入其他漫游模式或退出。 效果和目标:此功能犹如一部探索影片,带领陌生的游客进行漫游,画面都是事先 生成好的场景,以便使游客能够在第一时间熟悉整个场景。 2 自由漫游 功能:对于那些有特殊要求的用户,例如需要对某个场景进行仔细漫游的游客,或 是那些不习惯被约束的游客,本系统可以提供自由漫游。用户自由选定某一场景,随 意在其中漫游,也可以随时退去漫游。在提供用户简单漫游的基础上,留下足够的空 间,以利于专家系统的进一步开发,比如引入高精度图像,以及类比图像查询。 效果以及目标:漫游完全由用户自由控制,视点是比较连续的移动,此时场景将进 行实时渲染,所以对电脑以及网络都有一定的要求。 3 历史漫游 功能: 我们提供的历史演变功能可以满足用户对历史场景演变过程了解的要求, 游 客可以对某一个历史场景进行漫游,例如,可以选择故宫的某一个大殿进行漫游,也 可以在场景中选择某一个历史文物,观看其历史演变过程。 效果和目标:基本采用自由模式的方式,读入模型后能够控制视点移动,不提供光 照变化。演变的方式可以是按时间的推移,也可以是某个事物的生成过程。 4 其他功能 a、游历与雷达功能:游客通过此功能可以实时了解自己的确切地点,并能了解同 时在此场景中的其他游客的位置。 b、交互式的展板和模型:模拟真实博物馆中的可动模型、多媒体演示设备以及其 他的一些互动的展示项目。 c、游客通过客户端访问系统:服务器响应请求并将所需数据传送至客户端,这样 游客就能通过客户端来访问整个系统。 d、游客间的实时语音和文本通信:由于本系统是应用于 internet 上的,所以某一 时刻将有成百上千的游客在某一场景中游览,通过此功能,游客之间可以相互交流, 传达信息,使游览过程更真实、更自然。 e、广播功能:类似实时语言通信,只是它的对象是全体游客。 f、系统资源的管理:建立多媒体数据库,对系统资源进行有效的管理,使整个系 统稳定而高效。 13 系统功能结构图如下: 系统功能 自由漫游固定漫游历史漫游 雷达导航 语音或文本 聊天 系统维护客户管理信息管理展厅管理 客户端 服务器端 图 24 系统功能结构图 2.4 小结 2.4 小结 通过以上的介绍,我们可以看出,虚拟展示技术已经成为一个非常热门的研究 领域,很多大公司都相继推出了自己的虚拟现实系统。虚拟展示的研究能容非常广泛, 在许多应用中表现出了很好的展示效果。然而,综合考虑,仍然有一些问题有待解决。 14 3 新型虚拟展示系统设计 3 新型虚拟展示系统设计 3.1 体系结构设计 3.1 体系结构设计 本系统结构设计为四个部分: 最基本的是多媒体数据库(mdb) ,存储场景的三维模型数据结构、文字、声音以及 视频等系统信息资源。它是系统的一切数据来源,并提供数据 i/o 操作的接口。 然后是调用 3d 游戏引擎中的各个函数库来完成虚拟场景的表达与绘制,这也是该 系统的核心部分。该部分可以分成五个子模块:引擎内核、图形处理模块、声音处理 模块、游戏逻辑模块和交互处理模块。 第三部分是用户界面(ui) ,负责管理各种显示场景的窗口,接受用户的各种输入 信息等。 最后一部分是三维模型的格式转换过程 dl(data-loader), 负责把有建模工具生成 的模型数据(如 3ds 格式)转换为系统定义的数据结构。 多媒体数据库 3d游戏引擎 用户界面 3d 建模 工具 格式 转换 模块 引擎核心 声音模块图形模块 交互及网络模块 图 3-1 系统体系结构图 15 3.2 多媒体数据库设计 3.2 多媒体数据库设计 由于虚拟场景数据库中包含了大量的多媒体信息, 例如虚拟物品的文本介绍及其图 片,还有地图资料,甚至可以包括相关的语音和视频资料,所以数据库的选择必须考 虑到能支持多媒体信息。在 sql 中有 image、text 和 ntext 类型可以用来支持相关的 大型二进制数据类型,因此我们将采用 microsfot 公司的 sql server 2000 来构建我 们的虚拟场景数据库。向数据库中保存多媒体信息,一般来说有两种方法:一种是将多 媒体信息数据存放在某个外部文件中,把目录和文件名存进相应表中;另一种把多媒体 信息数据直接存进去。第一种方法较简单,易于操作,因为 sql server 数据库通常不 能直接操作大型的二进制数据,因此很多 web 数据库采用这种方法,但这样对于数据 库的移植性、安全性以及存储冗余方面都是不可靠的。所以在这里采用了第二种方式, 通过后台数据库管理和维护系统来操作相应的多媒体信息。由于数据都放在数据库中, 所以易于移植,根本就不像第一种方式那样要考虑对外部文件的管理,同时该数据库 更像一个完整的数据库27。 该数据库需要建立多个表, 例如虚拟场景的管理建立了 room 表,物品的管理建立 object 表等。 表 31 object 表结构: 字段名称 字段类型 描述 object_id number 该物体的入表编号 object_name varchar 该物体名称 object_room_id number 该物体所在场景编号 object_info text 该物体介绍 (多媒体) object_image image 该物体图片 (多媒体) object_file 该物体实体文件 表 32 room 表结构: 字段名称 字段类型 描述 room_id number 该场景的入表编号 room_name varchar 该场景名称 room_next_id number 下一场景编号 object_id number 该场景包含的物体编号 room_info text 该场景介绍(多媒体) room_file 该场景实体文件 16 3.3 系统模块设计 3.3 系统模块设计 按照虚拟展示系统所要具有的功能以及 3d 游戏引擎所具有的特点,可以把系统划 分为以下几个功能模块:图形模块、音频模块、交互模块、数据存储模块、网络通信 模块以及扩展模块。 3.3.1 图形模块 3.3.1 图形模块 图形模块在游戏里表现得非常直观, 它负责在屏幕上画点和线等图形操作。 一般说 来,图形子系统都是利用 opengl, directx3d 等图形库绘制实现的,它们都具有自己 独特的一面。在理想情况下,对应每个图形库都有一套各自的 api 函数,然后抽象出 一个“图形层”并将它置于实现的 api 函数之上,这将给游戏开发人员或者玩家更多 的选择,以便在机器上获得最好的兼容性和最佳的表现效果14。 3d 游戏真正吸引玩家的是它的逼真、虚幻的场景画面和人物造型,以及灯光照明 效果和爆炸烟火等特效,这些都需要靠一个高效的渲染器一工作。它是 3d 游戏引擎中 最重要的部分之一,一般由 direct3d 或 opengl 库来实现其功能28。 按照不同的功能和任务, 可以把图形模块分为可见裁减、 碰撞检测与反馈、 摄像机、 静态几何体、动态几何体、粒子系统、布告板、网格、天空体、灯光、雾、节点阴影 和输出等部分。其中每一个部分都要有一个接口来方便地实现改变设置、位置、方向、 以及其他可能与系统相关的属性配置。对于渲染模块的各个部分,现在都有一些成形 的算法,例如对于可见裁减,可以使用 sutherland-hodgman 多边形裁减算法,对于碰 撞检测,可以使用基于 bsp 引擎的碰撞检测,或 m. k. ponamgi、d. manocha 和 ming c. lin 等人提出的基于 voronoi 区域的碰撞检测方法29。而这些方法在游戏引擎中都已 实现,因此,我们可以利用 3d 游戏引擎强大的渲染器以及相关部分渲染出生动而又逼 真的场景来吸引游客。 3.3.2 音频模块 3.3.2 音频模块 音频模块负责声音的载入、 播放等操作。 该模块与图形模块相比较功能非常简洁明 了,但由于要与 3d 场景相一致,我们不得不支持 3d 音效,这样实现起来会稍许复杂 一些。目前,比较好的音频开发工具就是 microsoft direct sound 和 direct music 了,其强大的功能和逼真的效果足够我们充实游客的耳朵了。而有了游戏引擎,我们 17 也不必从底层做起,直接调用其库函数即可,而且支持几乎所有的音频格式,包括: mp3, wav, ogg/vorbis, au, aiff, iff, 和 mod 30。开发人员只需将注意力放在场 景背景音乐以及各种音效上,而不必花费太多的功夫在编写繁琐的程序上。 3.3.

温馨提示

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

评论

0/150

提交评论