预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第25卷第15期甘肃科技25No.15 2009年8月GansuScienceandTechnologyAE罾2oo9 基于XNA的虚拟漫游系统的设计与实现 殷素峰,陈汉民,梁智峰,刘志宁 (1.河北科技大学机械学院,河北石家庄050054;2.东莞理工学院城市学院,广东东莞523106) 摘要:将XNA引进虚拟漫游系统,以东莞理工学院城市学院机电楼为研究对象,建立了以XNA为开发环境的漫游 系统,用MicrosoftVisualC柏离写程序,实现漫游功能。 关键词:xNA;c撑;漫游;建模 中图分类号:Tl:r311 虚拟现实是一项综合集成技术,是人们通过计 算机对复杂数据进行可视化操作与交互的一种全新2三维建模 方式,与传统的人机界面以及流行的视窗操作相比,机电楼的建模主要包括普通教学设备建模、机 虚拟现实在技术思想上有了质的飞跃。虚拟场景漫械类设备建模和机电楼整体结构建模。由于普通教 游是虚拟现实技术中具代表性的应用之一,是虚拟学设备和机械类设备非常多,我们采用分层的方法 场景构建技术和虚拟漫游控制技术的有效结合,具建立,提高运行速度。根据漫游时逼真度的需求,对 有很好的研究意义和开发前景。机电楼内各种设备进行分类,这样可以根据不同的 以东莞理工学院城市学院机电楼为研究对象,设备类型采用不同的建模方法。 主要包括机电楼整体模型、内部结构和各种设备,建普通教学设备包括电脑、办公台、办公椅、储物 立三维虚拟漫游系统,实现漫游功能。柜和冷气机等。在机电楼每间课室内都有这些常见 的教学设备,基于模型比较简单,建模精度要求低, 1虚拟漫游系统介绍再加上数目多,对这些设备采用3DSMAX来建模, 为了实现楼体的三维虚拟漫游,首先利用Auto.利用其简单便捷的操作,以及其内部包含大量丰富 CAD便捷的二维绘图功能,根据实地测量数据绘制的现成模板,可以提高效率。 平面图,然后利用三维造型软件(如Rhino、机械类设备,是指机电楼内加工机床设备,如车 3DSMAX、Pro/E等)将机电楼内的主体机构和各种床、铣床和各类测量仪等。考虑到机械类设备的建 机械、教学设备进行三维建模,并用VRay、PhotoShop模比较复杂,故选用Pro/E来建立这些模型。结合 渲染、美化模型。最后以XNA作为漫游的开发平Pro/Engineer参数化设计的优点,在建立复杂机械 台,利用MicrosoftVisualc样编写程序,实现楼体漫设备模型时,先将复杂设备拆开若干个零件建模,再 游。软件使用流程如图1所示,具体制作流程如图将其装配,最后实现机械设备的运动仿真。 2所示。在机电楼主体结构的建模过程中,主要涉及各 -i三髓撬卜种梁、柱和曲面,数据量大,并且需要将各种教学和 __J●删麟三|睡攫L●机械类设备导入主体结构中,占用内存大,运行速度 慢,所以选择Rhino软件,Rhino具有操作简便,通用 -dP三髓疆L 性强和占用内存少等优点。 图1软件使用流程 3后期处理 臣口_1==]]为了得到美观的建模效果,采用VRay、Photo- Shop对三维模型进行渲染、纹理、贴图、色调等处 理,在保障优良的视觉效果前提下,提高了虚拟现实 叵吨匝至匦系统的运行效率。渲染结果的好坏直接决定了场景 图2具体制作流程在XNA中的实时效果,VRay“渲染到纹理”功能成 第15期殷素峰等:基于XNA的虚拟漫游系统的设计与实现l7 功解决把渲染得到的效果带到XNA中,增强了真实 感。如果对物体不进行“烘焙”而直接导人XNA 中,其真实感效果较差,可以说“渲染到纹理”功能 是衔接前期和后期的一个很关键的一步。 3.1澶染 渲染是将颜色、阴影、灯光效果等加入到几何体 中,主要目的就是使模型看上去更有真实感。V— Ray提供了单独的渲染程序,方便使用者渲染各种 图4漫游线路图之一 模型。渲染工作主要包括机电楼模型的材质和灯 光,因为三维场景模拟太阳光,所以采用了平行光 源,加上灯光后,还要计算阴影、反射、漫射等J。 “烘培”是为了将光照效果加到物体的纹理上,最后 作为图片文件储存起来,通过“烘培”后的物体模型 导入到驱动平台以后就会产生光照的效果。楼体渲 染后效果图如图3所示。 图5漫游线路图之二 进后退· //cm.Y=cm.Y+x; eamposition.Y=eamposition.Y+Y; em.Y=.cm.Y+y;//向左右移动 em.X=cm.X+x; camposition.X:camposition.X+/,上 圈3机电楼主体澶染效果移动 3.2纹理贴图cm.Z=cm.Z+z; 纹理贴图是把二维图像位图上的像素值映射到eamposition.Z=camposition.Z+z; 三维实体模型的对应顶点上,以增强实体模型的真foreach(Model