已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)数字奥运博物馆原型系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文摘要 摘要 计算机图形学和虚拟现实技术的巨大进步,为数字奥运博物馆( d 硒t a l o l y m p i cm u s e u m ,简称d o m ) 原型系统提供了强大的理论指导和技术支持。本文描 述了d o m 原型系统的设计与实现,以及系统开发过程中使用的若干关键技术。 d o m 原型系统采用分布式虚拟现实技术,通过i n t e m 引i n 仃a n e t 使用户足不 出户就可以对博物馆进行访问,感受奥运文化。整个系统由服务端与客户端两部 分组成。其中服务端主要负责数据库访问、网络监听、以及为用户提供服务例如 同步等功能。客户端主要负责场景的渲染、模型的管理、与服务端的通信、角色 动画、以及与用户的交互等功能。系统为每个用户提供了一个虚拟化身,用户通 过对它进行控制来漫游场景。在漫游的同时,用户可以看到周围的其他用户,可 以和他们进行对话。 整个博物馆由四个部分组成,第一部分是博物馆的外围场景,主要包括博物 馆的主建筑以及周围的景物;第二部分主要展示的是历届奥运会的火炬及其介 绍;第三部分展示的是奥运奖杯、奖牌以及跟奥运相关的物品;第四部分主要展 示的是中华体育文化,包括中国古代、近代、现代的体育发展历程。不同的楼层 之间,我们用旋转楼梯进行连接。 在实现了基本的漫游功能后,本文进一步分析了已有的同步算法,提出了基 于全局时间的同步算法,使得不同的客户端之间可以以微小的代价保持状态的一 致性。同时,我们采用g p u 技术,运用反射和折射效果,并引入基于时间的扰 动函数,在场景中实现了实时的水模拟,这些技术比较好地增加了用户的沉浸感。 关键词:数字奥运,虚拟现实,分布式同步,水模拟,g p u a b s t r a c t n l e 们m e n d o u sa d v a n c e m e n ti 1 1c o m p u t e r 卿t l i c sa n dv 删r e a l 毋t e c h n o l o g ) r p r 0 v i d e sas t t o n gt h e o r e t i c a lg u i d a i l c ea n dt e c h i l i c a ls u p p o r tf o ro u rd 酒诅l0 l y m p i c m u s e u m( d o m )p r o t o 够p es y s t e m 1 i l i sp a p e r d e s c r i b e st h ed e s l 印 a 1 1 d i m p l e m e i 僦i o no fd o mp r o t o t y p es y s t e m ,a j l dan u m b e ro fk e yt e c l l i l o l o g i e su s e di n 0 u rs y s t e m d o mp r o t o t y p es y s t e mb a s e so nd i s t r i b u t e d v i i t l l a lr e m i t ) ,t e c l l i l o l o g y ,s ot h e u s e r sc a nv i s i tt h em u s e 啪a th o m et h r o u g hi n t e m e t i n t r a n e t ,f e e lt l l eo l y m p i cc u l n l r a l t h ee r l t i r es v s t 锄c o i l s i s t so fs e e ra 1 1 dc l i e n ts i d e s t h es e r v e rs i d e ,w m c hi sm a i n l y r e s p o n s i b l ef o rd a t a b a s ea c c e s s ,n e t w o r kl i s t e l l i n 舀锄dp r o v i d i n gu s e r sw 砒ls e i c e s s u c ha ss v n c h r o 血z a t i o na 1 1 do t h e r 血n c t i o n s t h ec l i e n ts i d ei sm a i m yr e s p o n s i b l ef o r s c e n er e n d e d n g ,m o d e lm a n a g e m e n t ,c o 删叭m i c a t i n gm t l ls e r v e rs i d e , c h a m c t e r a 1 1 i m a t i o na i l dm ei n t e r a c t i o n 埘t l l 璐e r s w ep r o v i d ea na v a :t a rf o re a c hu s w h oc a l l 靴d ka r o u i l dm em u s e u mt l l i o u 曲c o n 仃o l l i n gt h e 撇m e 觚t i m e ,u s e r c a l ls e em e o t l l e r a v 躺,a n d c h a t w i t l l t h e m 1 1 1 em u s e 岫c a nb ed i v i d e dm of o u rp a n s t h ef l r s tp 矾i se x t e m a ls c e n e ,w l l i c h i n c l u d e st h ei n u s e u m sm a i nb u i l d i n g 龇ds u r r o u n d i n g1 a i l d s c a p e t h es e c o n dp a r t d i s p l a y st h et o r c h e so fa l lo l y m p i cg 锄e s t h et h i r dp a r td i s p l a y s t l l e0 l y m p i c 仃o p l l i e s ,m e d a l sa i l dt h ea n i c l e so fo l y m p i cg 锄e s t h ef o u n hp 砌m a i l d yd i s p l a y s t 1 1 eg y m n a l s i 啪c u l t u r eo fc 1 1 i n 如i n c l u d e st h ed e v e l o p m e n to fa 1 1 c i e n ta n dm o d e m s p o n s b e 铆e e nd i 虢r e n tn 0 0 r s ,w eu s er o 协t i n gs t a i r c a s et 0c o 仰e c te a c ho t h e r a f b e ri m p l e m e n t i n gt h eb a u s i cr o 锄i n g 劬c t i o 坞t h j sp a p e ra 1 1 a l y s e st h ee x l s t l n g s y n c h r o n i z a t i o na l g o r i t h m ,a 1 1 dp r e s e n tan e w o n eb a s e do nm eg l o b a lt i m e ,t oa c h j e v e c o n s i s t e n c vb e t w e e nd i 骶r e n tu s e r sw i t ht i n yc o s t a tt h es 锄et i m e ,w ea d o p tg p u t e c h n o l o g yt oi m p l e m e n tr e a l t i m ew a t e rs i m u l a t i o nw i t hr e f l e c t i o n ,r e f r a c t i o na 1 1 d t i m e - b a s e dd i s t u r b a i l c ef u n c t i o n t h e s et e c h n i q u e s 伊e a t l y1 n c r e a s et h el m m e r s i o n k e y w o r d s :d i g i 诅lo l y m p i c ,r t u a lr e a l 咄d i s 仃i b u t e ds ) ,1 l c h d l l i z a t i o n ,w 乱e r s i m u l a t i o n ,g p u 浙江大学硕士学位论文图目录 图目录 图1 1 保龄球原型系统( 左图) 和屏幕上模拟的碰撞结果( 右图) 6 图2 1d o m 系统的总体结构7 图2 2l u c i d 3 d 的结构层次图8 图2 3 场景模型从建立到加载的过程9 图2 4 服务端功能模块图。1 0 图2 5 服务端线程的协同工作图_ 1 1 图2 6 工作器线程执行流程图1 5 图2 7 数据库访问接口的u m l 图一1 6 图2 8 系统服务组件的u m l 图18 图2 9 服务端的用户管理图19 图3 1 场景规划图2 1 图3 2 博物馆主体模型效果2 3 图3 3 采用车削命令的“中华鼎”( 左图) 和局部贴图的“福娃”( 右图) 2 4 图3 4 虚拟人的骨骼和皮肤2 5 图3 5 虚拟人的运动状态2 6 图3 6 系统中虚拟人的u m l 图2 6 图3 7d e a dr e c k o n i n g 算法示意图2 7 图3 8 服务端和客户端的时间同步过程2 9 图3 9 同步算法应用截图3 1 图3 1 0 大纹理映射到小网格上3 1 图3 1 1m i p m a p 表的存储方式3 2 图3 1 2 客户端功能模块图3 3 图3 1 3 虚拟人的运动角度3 3 图3 1 4 场景组织方式3 4 图3 1 5 监听线程与渲染线程协同工作3 4 图3 1 6 外围场景( 上图) 和火炬展厅( 下图) 一3 5 图3 1 7 中华体育文化展厅( 上图) 和奥运相关物品展厅( 下图) 3 6 图4 1g p us h a d e r 的渲染流程一3 8 图4 2 对m e s h 使用法向映射产生的结果3 9 图4 3 经水面反射后的摄像头4 1 图4 4 当光透过水面时的折射现象4 1 图4 5 系统中实现的动态水效果图4 4 v 浙江大学硕上学位论文 表目录 表目录 表2 1 各种虚拟现实通信协议的比较17 表2 2 协议中包的基本格式18 表2 3 协议包头的基本格式18 v l 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得逝江盘堂或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者躲穆多钆 签字日期 妒y 年,月厂j 日 学位论文版权使用授权书 本学位论文作者完全了解逝姿盘鲎有权保留并向国家有关部门或机构送交本 论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝姿盘鲎可以将学位论文的 全部或部分内容编入有关数据库进行检索和传播,可以采用影印、缩印或扫描等复制手段保 存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:铭多k 褡:产日期:w y 年6 月f ) 日 肭名2 矽压 解醐:c 月1 日纱叶c1 浙江大学硕士学位论文第l 章绪论 第1 章绪论 伴随着计算机图形学的发展以及硬件设备的进步,使得很多虚拟现实技术从 理论变成了现实,各种形式的数字化博物馆如雨后春笋般发展起来。而且随着0 8 年奥运会的脚步越来越近,我们迫切需要更加深入地了解与奥运会相关的知识。 但因为时间和空间的限制,使我们不能到奥运博物馆的现场去参观。虚拟数字奥 运博物馆,采用虚拟现实技术,把奥运历史、文化通过三维的形式展现在人们面 前,使人们足不出户就可以身临其境地接受奥运文化的熏陶。 1 1 虚拟现实简介 虚拟现实( v j n i 场lr e a l i t ) ,) 是一种基于可计算信息的沉浸式交互环境,它可将 因时空限制无法直接看到的场景或迄今为止尚不存在的虚拟场景以三维的形式 呈现在观察者面前【1 1 。自9 0 年代以来,虚拟现实的进步和发展对科学进步和社会 发展产生了深远的影响。这些领域包括航空航天技术、工业产品的创新设计、气 象及自然灾害的精确预报、军事训练和仿真、常规和战略武器的研制、药物设计 和手术模拟等【2 1 。从某种意义上说,虚拟现实代表着未来的计算机交互界面【3 1 。 一般来讲,虚拟现实技术有以下几方面主要特征: 多感知性( m u l t i s e n s o 巧) 除了一般计算机技术所具有的视觉感知之外,还有听觉感知、力觉感知、触 觉感知、运动感知,甚至包括味觉感知、嗅觉感知等。理想的虚拟现实技术应该 具有一切人所具有的感知功能。由于相关技术,特别是传感技术的限制,目前虚 拟现实技术所具有的感知功能仅限于视觉、听觉、力觉、触觉、运动等几种。 沉浸感( i r r 蚰e r s i o n ) 理想的模拟环境应该使用户难以分辨真假,使用户全身心地投入到计算机创 建的三维虚拟环境中,该环境中的一切看上去是真的,听上去是真的,动起来是 真的,甚至闻起来、尝起来等一切感觉都是真的,如同在现实世界中的感觉样。 交互性( i n t e r a c t i v 蛔) 1 浙江大学硕士学位论文第1 章绪论 用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度( 包括实 时性) 。例如,用户可以用手去直接抓取模拟环境中虚拟的物体,这时手有握着 东西的感觉,并可以感觉物体的重量,视野中被抓的物体也能立刻随着手的移动 而移动。 构想性( i m a g i n a t i o n ) 强调虚拟现实技术应具有广阔的可想象空间,可拓宽人类认知范围,不仅可 再现真实存在的环境,也可以随意构想客观不存在的甚至是不可能发生的环境。 1 2 网络虚拟漫游 网络虚拟漫游是虚拟现实与网络通信相结合的产物,属于分布式虚拟现实 ( d i s t r i b u t e d m l a lr e a l i 吼d v r ) 。它提供了一个共享虚拟空间,可以通过计算机 网络支持对象的仿真以及多个分布用户的交互和通讯。d v r 系统涉及多个领域, 包括网络协议的设计和实现、分布式系统、实时图形绘制技术、异步系统设计、 数据库开发以及用户界面设计等。所以它需要涉及到的关键技术【4 】包括: ( 1 ) 网络通信和网络协议 在d v r 中,网络通信能力往往是系统实时性的瓶颈,尤其是当d v r 的规模 变大的时候,各个对等实体间的通信量会剧增,使得维持各工作站之间状态的一 致性变得非常具有挑战性。 ( 2 ) 环境建模和实时绘制 在传统的建模过程中,要使环境看起来更真实,就需要采用高精度的模型。 然而在d v r 中,我们需要实时地对场景和模型进行绘制,所以应该尽量避免采 用高精度的模型。通常我们一般采用减少模型精度,还有就是采用多细节层次模 型和基于图像的绘制技术。 ( 3 ) 自然人人交互与人机交互 v r 系统的特征之一是“沉浸性”,另一个是交互的自然性。在d v r 中,除了 一般图形系统的人机交互之外,还有人人交互,并且要求是同步交互。 2 浙江大学硕士学位论文第l 章绪论 1 3 数字奥运博物馆介绍 1 3 1 博物馆的数字化 博物馆是一个地区甚至国家文明发展程度的重要标志。我国有着悠久的文化 历史,拥有丰富的文化遗产,博物馆也非常之多,光北京奥运前博物馆的数量就 将达到1 5 0 座之多。但它们大多由于受观念落后、资金、人才匮乏的困扰而面临 严峻的形势,另一方面还因为开放时间的规定和展览场地的限制,运作的舞台已 经越来越显得狭小、发展的空间也越来越显得局限而且没有余地。为了适应世界 文化潮流,满足社会的文化需要,数字化成为博物馆发展的一个重要趋势。 数字化博物馆完全打破了传统知识信息的传递方式:从展示静态的展品图 像,到全方位介绍三维立体动态的展馆环境;从进入现实的博物馆空间,到进入 遗址、遗迹的虚拟历史空间;数码影像技术都可以一一实现,它让人们从沉寂的 展品中,感受到人类文明、历史长河在眼前流过。这是一个从动态到静态的变化, 使得我们博物馆的展品在观众面前“活”了起来【5 1 。 目前,数字博物馆已在国内外被广泛采用,美国、日本、欧洲一些博物馆都 陆续上网。在我国,也有很多家博物馆上网,但内容大多比较简单,仅仅是原有 小型书面介绍的翻版,除了短短的几行文字及陈列展览简介以外,还有几个分别 代表馆藏特色的按钮,每个按钮所连接的只有一些典型藏品的正面图形为主。 1 3 2 数字奥运博物馆 北京在申办2 0 0 8 年奥运会的时候就提出了建立一个“虚拟奥运博物馆”的创 意,引起了国际奥委会的极大兴趣和关注,从而为中国获得承办权提供了很大的 帮助。为了响应科技奥运的号召,在国家自然科学基金委重点项目的资助下,我 们设计和实现了数字奥运博物馆( d o m ) 系统。d o m 系统采用分布式虚拟现实技 术,全面介绍多元化背景下的奥运历史和发展。表现多元文化对奥运、生活等各 个方面的影响。参观者通过互联网登陆系统后,可以通过控制虚拟化身( a v 北u 在 虚拟场景中随意漫游来实现对博物馆的参观。d o m 系统包括三维信息远程服务、 奥运比赛项目的仿真模拟、虚拟奥运艺术作品展示、历届奥运历史再现、文字图 浙江大学硕士学位论文第l 章绪论 片的检索等功能。同时,我们采用同步技术,增加用户的沉浸感,允许用户和周 围的用户进行实时的交流。 1 4 数字奥运博物馆的关键技术 ( 1 ) 多媒体数据的存储和检索 数字博物馆处理的图像、音频、视频、模型等均为数字化的多媒体信号。数 字化多媒体的数据量是惊人的。如果考虑到虚拟奥运博物馆要处理图像、音频、 视频、模型的数量和相应的客户端请求,需要存储和传输的数据量将呈几何级数 增长。即使对于现代的海量存储设备和高速因特网,面对如此大规模的数据,如 果不进行专门的技术处理,也是无法承受的【6 】【7 1 。 图像有多种压缩格式。其中j p e g 是应用最为广泛的格式之一,它为我们在 有限的空间存储或者交换大量的图像信息提供了可能,但它不适合渐进传输。而 口e g2 0 0 0 不但支持无损压缩和感兴趣区域压缩,还支持渐进传输。与现在图像 逐“块”进行的传输方式不同,渐进传输可以先传输图像的轮廓,然后逐步传输数 据,不断提高图像质量;对于三维模型,研究人员对网格模型的渐进几何压缩技 术进行了研究,实现存储与传输的统一;对于视频,流媒体传输是主流技术。而 多媒体视频的编码方式主要有m p e g 1 、m p e g 2 和m p e g 4 等。与m p e g 1 、 m p e g 2 相比,m p e g 4 具有如下独特的优点:基于内容的交互性、高效的压缩 性和通用的访问性。采用m p e g 4 作为视频编码方式,不但可以达到高压缩比, 还可以实现基于内容的交互。 基于内容的检索技术自上世纪9 0 年代提出后带来了一场重大变革。它突破 了传统基于文本检索的局限,直接从媒体数据的内容及上下文抽取语义特征信 息,并以此建立索引和完成检索【6 】。现在的检索工具,已经超出了传统的基于文 字的检索,迈向了二维图像检索甚至三维模型检索的范畴。其主要特点是:客观 性、相似检索及高速检索,目前已在声音、图像、视频等多媒体数据的检索中获 得了广泛的应用。 ( 2 ) 数字博物馆的建模与绘制 4 浙江大学硕士学位论文第1 章绪论 作为一个博物馆,应该选择有代表性的作品来展示或说明问题。从比赛实际 获取的多媒体数据很多,根据这些多媒体数据进行建模和实时绘制是实现数字奥 运博物馆需解决的一个重要问题。 基于几何的建模和绘制技术已经有很多年的研究历史,有很多现成的技术可 以直接使用。为了加速绘制,通常使用多层次细节模型( l o d ) 。基于图像的建模 和绘制技术( i b m r ) 采用图像来替代几何建模,采用图像空间变换操作来代替传统 的绘制过程,因此应用i b m r 技术是实现实时图形生成的有效解决办法。 为了增加绘制效果,提高真实感,可以使用阴影技术【8 】【9 】【1 0 1 。使用基于锥体 的方法可以把阴影作为一个纹理四边形来绘制,从而达到比较高的效率【1 1 1 ,但缺 点是产生的阴影看上去像一系列点光源的叠加,而且在一些有限的灰度梯度之间 阴影会被量化。 ( 3 ) 体育系统仿真和虚拟现实 体育系统仿真是一门系统工程技术科学。它是通过计算机模拟技术再现体育 教师的教学经验、教练员的训练意图、管理者的组织方案和运动员的训练过程, 从而达到对体育系统的解释、分析、预测、组织和评价的一门科学。近些年来, 系统仿真的研究热点有面向对象的仿真方法、定性仿真、分布交互仿真、可视化 仿真、多媒体仿真、基于虚拟现实( m l a lr e a l i 劬v r ) 的仿真和智能化的仿真 等。与面向对象的仿真方法、定性仿真、分布交互仿真、可视化仿真和多媒体仿 真方法不同,基于v r 的仿真强调多种感知能力、交互性和沉浸感等,而许多体 育训练恰恰需要运动员的多种感觉( 视觉、听觉、触觉和嗅觉等) 的共同参与。 因此,随着v r 技术进一步发展,基于v r 的仿真和基于图像的绘制技术必将在 体育领域得到广泛的应用【1 2 】【1 3 1 。 a m u s i t r o l l i x 的研发人员开发了v rb a s e b a l l 、v rg o l f 、v rk a y a k i n g 、v r t e l “s 和v rs n o w s k a t e s u r f 等系统【14 1 。y h g 等人实现了一个基于虚拟现实技术 的沉浸式运动训练系统【1 5 】,其核心思想是一种被比喻为“幽灵的基于直觉的交互 式方法,称之为“j u s tf o l l o wm e ( j f m ) ”。t h a l m 踟领导的研究小组实现了允许带 有变形的身体、头部和手的实时动画的虚拟人仿真系统,并在此基础上开发了虚 拟刚球游戏c v b e r t e n m s 和跳舞游戏c v b e r d a l l c e 。浙 _ 大学丌发研制的保龄球 游艺健身机m 1 采_ j 虚拟现实技术,有效地缩短了所需要的球道长度,是结合三维 实叫图形显示、动画、交互式碰撞检测和幽像处理技术开发成功的一项新产品, 如圈1 1 所示。 懒嘲黑= - | 嘲_ 图1l 保龄球原刑系统( 左幽) 剌屏幕上模拟的碰撞结果( 右幽) 1 5 本文的工作及论文的组织 本文首先介绍了虚拟现实的一些基本概念,以及虚拟现实技术在数字博物馆 当中的应用。然后对数字奥运博物馆系统的设计与实现做了详细讨论,包括系统 的总体结构,服务端的设计与实现,客户端漫游功能的设计与实现,以及服务端 与客户端的结合。除此之外,本文还介绍了如何实现基于g p u 的动态水模拟。 本文第二章t 要介绍了系统的总体结构和服务端的设计实现;第章主要介 绍了博物馆r f | 二维模型的建立,以及场景漫游功能的实现;第四章主要介绍了基 于g p u 的动态水模拟;最后,第五章对全文进行了总结,并对进一步的t 作做 了展望。 浙江大学硕士学位论文第2 章系统的总体功能和设计 第2 章系统的总体功能和设计 绪论部分对数字奥运博物馆的相关研究和关键技术做了介绍。在本章中,我 们将对数字奥运博物馆系统的总体功能做概要描述,包括系统的实现目标、基本 功能、以及系统的基本框架结构,并具体介绍服务端的设计和实现。 2 1 系统概述 数字奥运博物馆是浙江大学、南京大学一起合作的项目,它借助于计算机、 多媒体、网络通讯等技术,真实再现博物馆的原型结构。系统通过服务端,把不 同的客户端连接在一起。用户通过互联网登陆服务端以后,可以看到周围的其它 用户,并可以和他们进行实时的交流。同时,用户可以漫游整个场景,包括博物 馆的周围环境,博物馆的内部展厅等等。系统不但要展示博物馆中的陈列,而且 还要同步不同客户端的状态。 根据分布式虚拟现实系统异构形的特点,以及系统中多个用户所用的计算 机、软件环境、交互手段不尽相同,而且用于连接整个环境的网络也可能有差别。 在d o m 系统中,我们采用的是基于服务端客户端模型的结构,如图2 1 所示。 葚受 终端 图2 1d o m 系统的总体结构 浙江大学硕士学位论文第2 章系统的总体功能和设计 2 2 软件系统基础 软件系统主要是指已有的工具或框架,利用它们,可以加速系统的开发进度, 节约开发成本。 2 2 1 引擎基础 三维游戏是虚拟现实技术重要的应用方向之一,同时为虚拟现实技术的快速 发展起了巨大的牵引作用。游戏引擎主要提供渲染、动画、物理系统、音效处理、 输入输出功能、人工智能模块、光影特效、用户图形界面管理等功能。 虚拟现实引擎( r n l a lr e a l 时e n g i n e ,v re n g i n e ) 类似于游戏引擎。游戏引擎 主要用于个人电脑和游戏平台上的交互式娱乐,而虚拟现实引擎通常用于大型工 作站上。d o m 使用的是l u c i d 3 d 引擎【1 8 】,它是由香港理工大学开发的用于虚拟 现实的三维引擎。它底层封装的是d i r e c t 3 d ,并包含了3 d 图形模块、物理模块、 输入输出模块、声音模块,人工智能模块等,如图2 2 所示。 g 锄e a p p i i c a t i l 。一。,。,。g a p p l i c a l i 仰f 姗c w o r ki 荡伽l d a l 咄,釉n h i p l a y 盯j 。施锄一施 u s 盯i n t e 血 g 唧h j c s a i - d i o i n p m; g u i; 。一。一。,。一。一 s i m u l a l j o n p h y s i c s j ,。- 。 l u c i d c a 咒c 。m m 叩 s y s t l 加m 鲥埘n a t i 铝 r e u r c e 。 一“l 。j 。一。? 一。3 。蕴 q 脚a l i n gs y s t 哪,h 扣_ d w a 他l 图2 2l u c i d 3 d 的结构层次图 l u c i d 3 d 提供的s t a l l d a l o n e 鼢l e w o r k 是一个用于开发单人游戏的框架。其中 类t c l i e n t 是整个s 伽1 d a l o n e 觑u n e w o r k 的核心,它负责游戏状态的切换以及对相 关资源的管理。它告诉游戏什么时候运行和更新状态,但它不包括任何游戏的具 体内容,游戏的具体内容是在每个具体的游戏状态中完成的。 我们扩展了l u c i d 的s t a i l d a l o n ei j r 锄e w o r k ,实现了一个基于客户端服务端 结构的开发框架。框架采用面向对象的设计方法,尽量减少各个子模块之间的耦 浙江大学硕士学位论文第2 章系统的总体功能和设计 合性,并可以根据二次开发的需要进行扩展和组合。 2 2 2 场景构造 场景构造主要包括两个部分:展品及周围环境的建模和物理因素的建模。 展品及周围环境的建模主要由3 d sm a ) 【完成,在建模的过程中,我们利用 d i r e c t xs h a d e r 提供的f x 效果框架实现一些高级的渲染效果,例如透明贴图、金 属材质等等。展品的建模包括历届奥运火炬及其介绍j 历届奥运宣传画,奥运历 史文物,奥委会主席和金牌海报等跟奥运历史相关的物品。周围环境主要是指博 物馆外围的场景,包括树木、天空盒、路灯、草坪、水池、椅子等等。 物理因素主要是指三维场景中的碰撞体,灯光等物理特性,所以,物理因素 的建模主要包括在场景里设置灯光和放置碰撞体。在3 d sm a ) 【中建好模型后,我 们用l u c i d 3 d 的导出插件导出整个场景,然后,利用l u c i d 提供的s c e n eb u i l d e r 【1 9 】 场景编辑器,可以把3 d s 导出的场景进行合并,在需要的地方放置平行光、点光 源以及投射光源。同时,为场景中的模型设置碰撞体,这样,虚拟人在漫游的过 程当中,就不会出现和物体相交的情况。碰撞体种类主要包括圆柱体、球体、长 方体、网格及地形。利用碰撞体,我们可以模拟力的作用,根据两个碰撞体相交 深度的大小来生成作用力的大小。同时,为了真实模拟博物馆,我们在旋转楼梯 上设置网格碰撞体,这样,用户在利用虚拟人漫游的时候,就可以走上旋转楼梯, 到达另一个展厅。在进入博物馆的台阶上,我们也设置了碰撞体,这样用户就可 以走上台阶。场景中需要设置碰撞体的还有那些展厅中的模型,外围场景中的树 木、椅子、路灯等。 整个漫游场景的模型建好之后,用l u c i d 的导出插件导成x m l 格式,然后 再进行场景编辑,最后加载到程序当中,如图2 3 所示。 用3 d sm a x 建立模型 用l u c i d 导 出插件导出 用s c e n e b u i l d e r 编 辑场景 凳爰盏薹糅h 槭洲 光及碰撞体圈弩l 力载给制 图2 3 场景模型从建立到加载的过程 9 浙江人学硕士学位论文第2 章系统的总体功能和设计 2 3 服务端的设计 对分布式虚拟现实系统来说,服务端的性能和功能是至关重要的。只有实现 良好的服务端,才能让不同终端的客户端能够同步。同时,由于d o m 系统是面 向互联网的,它所面临的环境是多种多样的,这就需要我们的服务端具有很强的 稳定性和健壮性。在d o m 原型系统中,服务端提供的首要功能是网络服务:包 括用户信息的注册、用户的登陆认证、用户信息的更新、用户状态的更新等。同 时,服务端还需要具有数据库的访问功能,以及多个用户同时在线的功能。总的 来说,服务端的功能模块可以划分为三个大模块:网络访问、数据库、服务组件, 如图2 4 所示。 图2 4 服务端功能模块图 为了提高服务端的并行性,服务端采用的是多线程。各个线程的协同工作如 图2 5 所示。服务端在启动的时候,由主线程负责数据库连接池的初始化,接着 创建若干个服务线程、创建网络监听线程、最后等待系统退出。在上述的几个步 骤当中,任何一个环节出现错误,都被认为是系统无法正常启动,这时应向管理 员报告错误,并记录日志。网络监听线程创建完毕后,不断接受来自不同客户端 的连接请求,并把接收到的s o c k e t 投递给服务线程。服务线程在一开始创建后, 就不断给用户的s o c k e t 提供服务。先读取包头数据,然后再读取包体数据,并根 据包头当中的请求i d 进行处理。 1 0 浙江大学硕士学位论文 第2 章系统的总体功能和设计 图2 5 服务端线程的协同工作图 2 4 服务端关键模块的实现 在 线 用 户 列 表 2 4 1 网络服务模块 在分布式虚拟现实中,网络服务是非常基础的,一个高效的网络服务,可以 极大地提高分布式系统的性能。在d o m 系统中,我们采用的是w i n d o w ss o c k e t a p i 。在s o c k e ti o 模型中,w i n d o w s 共提供了六种模型【2 0 1 ,除了第一种属于阻塞 模式之外,其它五种都属于非阻塞模式: ( 1 ) 阻塞模型 阻塞模型是最简单,也是最直接的方法。在处理i o 的时候,如s e n d 和r e c v 操作,线程将被阻塞,直到有数据可用或发生错误。所以对于这种模型,通常是 产生多个线程,每个线程处理一个i o 。对于我们的系统中,由于存在多个用户, 而且用户发送数据的频率非常高,所以这种i o 模型显然是不适合的。 ( 2 ) s e l e c t 模型 s e l e c t 模型是w i n d o w ss o c k e t 中另一个广泛应用的的模型。它的工作原理 是由s e l e c t 函数实现对i o 的管理。它使那些想避免在套接字调用过程中被阻塞 的程序,能够采取一种有序的方式,同时进行对多个套接字的管理。使用s e l e c t 函数,可用于判断套接字上是否存在数据,或者能否向一个套接字写入数据。避 一 系统主线程 一 浙江大学硕士学位论文 第2 章系统的总体功能和设计 免了伴随阻塞套接字和多重连接导致的线程剧增,但因为同时可以s e l e c t 的集合 大小有限制,它是通过宏f ds e t s i z e 定义的,大概是6 4 个,虽然可以通过更 改这个值来扩大可以同时s e l e c t 的集合大小,但上限极大限制了我们的系统性能。 ( 3 ) w s a a s y n c s e l e c t 模型 w i n d o w ss o c k e t 提供了一个有用的异步i o 模型,使得应用程序在一个套接 字上接受以w i n d o w s 消息为基础的网络事件通知。w s a a s ) ,1 1 c s e l e c t 和下面提到 的w s a e v e n t s e l e c t 模型都提供了读写数据的异步通知,但它们不提供异步数据 传送。w s a a s ) ,1 1 c s e l e c t 模型有许多优点。最突出的一个方面是它可以在系统开 销不大的情况下同时处理许多连接,而s e l e c t 模型需要建立s o c k e t 集合。该模型 的缺点是如果要使用它,即便不需要窗口,也必须用c r e a t e w i n d o w 函数创建一 个窗口,再为该窗口提供一个窗口过程支持函数。同时,用一个单窗口程序来处 理成千上万的套接字中的所有事件,很可能成为性能瓶颈。 ( 4 ) w s a e v e n t s e l e c t 模型 w s a e v e n t s e l e c t 模型和w s a a s y n c s e l e c t 模型相类似,也允许应用程序在一 个或多个套接字上接受以事件为基础的网络事件通知。它与w s a a s y n c s e l e c t 模 型最主要的差别在于前者是由事件对象句柄完成的,后者是通过窗口例程完成 的。 w s a e v e n t s e l e c t 唯一的缺点是因为它是基于事件的,而事件的等待函数 w s a 、a i t f o r l l t i p l e e v e n t s 每次只等待6 4 个事件,这一限制使得在处理多个套接 字时,有必要组织一个线程池。同时,因为需要许多线程去处理大量套接字连接, 这个模型的伸缩性不如后面讨论的重叠模型。 ( 5 ) 重叠模型 重叠i o 模型可以使应用程序达到更佳的系统性能,重叠模型的基本设计原 理是让应用程序使用重叠的数据结构一w s a o v e i u a p p e d ,一次投递一个或多个 w i n d o w ss o c k e ti o 请求。要使用重叠模型,首先需要创建一个设置了重叠标志 的套接字。创建了套接字后,同时将它与一个本地接口绑定到一起,接着便可开 始进行重叠i o 操作。重叠模型使用与传统s o c k e ti o 不同的一套s o c k e t 函数, , 浙江大学硕士学位论文第2 章系统的总体功能和设计 如w s a s e n d ,w s a s e n d t o ,w s a r e c v ,w s 触沁c v f r o m 等。当使用 w s a o v e i u a p p e d 结构调用这些函数后,函数会立即完成并返回,而不管套接 字是否设为阻塞模式。这些依赖于w s a o v e r l a p p e d 结构来管理i o 请求的完 成。主要有两个方法:事件对象通知和完成例程。 重叠模型之所以能提供高性能套接字i o ,是因为使用这种模型的应用程序 通知缓冲区收发系统直接使用数据,所以它和前面的几种模型不同。也就是说, 如果应用程序投递了一个1 0 k b 大小的缓冲区来接收数据,且数据已经到达套接 字,则该数据将直接被拷贝到投递的缓冲区。重叠模型的缺点是如果使用事件对 象通知,那么每次最多只能等待6 4 个事件。完成例程是个不错的替代方式,但 必须注意确保投递完成操作的线程进入警觉的等待状态,以便使完成例程能够圆 满结束。同时,还要注意确保完成例程不要作过量的运算,以便在很重的负载下, 这些完成过程能够尽快开始运行。 ( 6 ) 完成端口模型 完成端口模型是所有i o 模型中最复杂的,也是性能最好的,同时,它具备 了很好的伸缩性。对于需要同时处理数百乃至上千个套接字非常适合。所谓完成 端口,实际是w m d o w s 采用的一种i o 构造机制,除了套接字句柄之外,还可接 受其它东西,例如用户自定义的数据。从本质上说,完成端口模型需要创建一个 w i n d o w s 完成端口对象,该对象通过指定数量的线程,对重叠i o 请求进行管理, 以便为已经完成的重叠i o 请求提供服务。在完成端口模型中,一个非常重要的 函数是c r e a t e c o m p l e t i o l l p o r t 函数,该函数在两个不同的地方使用:用于创建一 个完成端口对象和将一个句柄同完成端口关联到一起。成功创建一个完成端口 后,便可开始将套接字句柄与对象关联到一起。但在关联套接字之前,首先必须 创建一个或多个工作器线程,以便在套接字的i o 请求投递给完成端口对象后, 为完成端口提供服务。将套接字句柄与一个完成端口关联在一起后,便能以套接 字句柄为基础,投递重叠发送与接受请求,开始对i o 请求进行处理。之后,便 可开始依赖完成端口,接受有关i o 操作完成的通知。从本质上说,完成端口模 型利用了w i n d o w s 重叠i o 机制,它通过g e t q u e u e d c o m p l e t i o n s 协t u s 函数,让一 浙江火学硕上学位论文第2 章系统的总体功能和设计 个或多个工作器线程在完成端口上等待。 在d o m 系统中,采用的是分布式虚拟现实结构,可能存在同时有很多的用 户需要访问服务端,并且由于需要提供分布式同步,对性能的要求也比较高,所 以我们采用的是完成端口模型。因为完成端口模型中可以附加用户数据,我们为 此为每个在线的用户定义了一个数据结构,该结构的定义如下: 咖】吼一p e r u s e r d a t a s o c k e ts o c k e t : s o c k a d d r j ni n r e m o t e ; f l o a tx ,弘z ; c h a rs c e n e n a m e 【5 0 】; c h a u ru s e m a m 啦o 】; i n ts e s s i o n i d : i n tu s e r l d : i n tm o d e l i d : 其中s o c k e t 表示用户的套接字;x ,y ,z 表示用户在当前场景中的位置; s c e n e n 锄e 表示用户所在场景的名称;u s e m a m e 表示用户的名字;s e s s i o i l i d 表示 用户登陆的时候由服务端分配的随机会话值;u s e r i d 表示用户全局唯一的标识: m o d e l i d 表示用户所使用的角色标识。 完成端口模型的实质是一组工作器线程为一组套接字服务,当哪个套接字有 输入输出请求时,由w i n d o w s 操作系统指定一个线程去进行数据处理。所以在一 个完成端口模型中,需要指定多少个服务线程往往需要慎重考虑。在d o m 系统 中,我们不存在输入输出阻塞的情况,所以我们不需要指定多个线程来进行服务, 因为线程的切换会浪费一定的时钟周期,所以在系统初始化的,我们先检测系统 中存在多少个c p u ,根据c p u 的数量来决定需要多少个线程,因为线程如果在 一个c p u 当中执行不需要上下文切换。 对于每个工作器线程,它首先阻塞在g e t q u e u e d c o m p l e t i o n s t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年雕塑家聘用合同协议
- 2025学年湖南省天一名校高三语文(上)期中考试卷附答案解析
- 2025年江西初中地理真题及答案
- 罗庄区生物会考真题及答案
- 2025年书信历史试题答案及答案
- 大连电气考研真题及答案
- 单招音乐知识题库及答案
- 压力容器管道试卷及答案
- 皮革及皮革制品加工工成果转化测试考核试卷含答案
- 经编机操作工安全宣贯考核试卷含答案
- 医院医学影像科科室年终总结
- 高一家长会化学教师课件
- 2025年危险化学品安全考试题库(危险化学品安全操作规范修订与培训效果)试题
- 2025年中国电脑CPU散热器市场调查研究报告
- 2025年下半年海南省药品监督管理局直属单位招聘事业单位人员易考易错模拟试题(共500题)试卷后附参考答案
- 《社会体育指导员技术等级培训教材》
- 科研项目经费预算表格-科研项目经费明细
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
- 育儿嫂合同范本内容
- 影响世界的工业革命课件-2024-2025学年高一下统编版(2019)必修中外历史纲要下
- 2025年陕西煤业化工物资集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论