基于3smax的虚拟校园建模与仿真_第1页
基于3smax的虚拟校园建模与仿真_第2页
基于3smax的虚拟校园建模与仿真_第3页
基于3smax的虚拟校园建模与仿真_第4页
基于3smax的虚拟校园建模与仿真_第5页
全文预览已结束

下载本文档

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

文档简介

基于3smax的虚拟校园建模与仿真

虚拟技术是计算机科学研究的热点。在研究“数字校园”时,虚拟现实技术被引入,为校园规划和设计提供了新的方法。北京石油化工学院是北京市属普通高等学校,通过三维虚拟校园系统可以比较直观地了解校园的各个区域,使浏览者对校园环境产生身临其境的感觉,为校园规划、考生网上了解学校和对外交流提供一个平台。笔者介绍一种基于3DSMax和WebMax技术的虚拟环境开发方法。用3DSMax构建三维模型,制作三维动画,用WebMax进行交互控制,并结合实际开发经验,对虚拟环境下3D建模、交互式漫游等技术进行探讨。1数据采集和处理1.1景观纹理图的建立通过照片、手绘、建筑施工图进行素材采集。从学校相关部门如档案馆、基建处等获取校园的图纸资料,如学校平面图、地形图、大比例尺航摄相片或卫星遥感图、建筑单体及校园规划的工程图纸文件等,如图1、图2所示。景观纹理图则可通过照片或数码相机摄取得到,景物的纹理图内容包括建筑物、道路、水面、树木、草地、水体等。需要注意选择不同分辨率和精确度的数据和图片;对于相机拍摄不到的地方,可以通过手绘画出实物的形象。1.2拉正后的图像处理由于受建筑物高度、拍摄距离及相机自身成像特点的影响,拍摄的像片往往会比例失调或枕形畸变,需要使用图形处理软件Photoshop对每张图片进行处理,如用自由变换把比例失调的图片拉正,裁剪周围其他的场景,去除图片中的杂景等。图3为采集的原始照片,图4为处理后的图片,即所需要的纹理图。处理图片时需要注意以下几点:道路、瓦片、树木等一般采用公共贴图,可重复利用,无需单独采样。处理后的纹理像素大小应处理成2的N次幂,以利于纹理的正确显示,在游戏或者虚拟现实的引擎中,贴图以2的N次方显示能更有效地利用资源。一些贴图需要处理成透明纹理,如树木、窗户等。为了满足各个镜头的需要和节省资源,同一张贴图要处理成大小不同的几个版本,在有特写镜头时,贴上高分辨率的贴图,远景时则贴上低分辨的贴图。23d模型的构建和优化2.1建筑物的拉伸成形建筑物模型使用多边形建模方法,多边形建模在UV展开方面有着得天独厚的优势,可以非常方便地将建筑物的UV展开。大部分建筑物的图纸都是扫描版,不能在AutoCAD中编辑,因此只能直接在3DSMax里照着图纸描出轮廓然后再拉伸成形。由于建筑的建模比较简单,只要注意好尺寸的设置和避免错面、破面的出现即可。如图5为已经建好的主楼模型。2.2vw模型的建立三分建模,七分贴图。反映建模的逼真的程度,除了模型的制作外,贴图是至关重要的一步,前期素材与处理工作为后续工作打下基础。对模型的各个面单独贴纹理,把纹理附于对象后,为了使贴图与模型吻合一致,需要UVW坐标或手动展UVW的方式。制作的大部分贴图都是漫反射贴图,其渲染效果达到设计要求。一些重要的镜头里还可以使用normalmap。由于贴图不是在同一天拍摄的,而且建筑阳面与阴面拍到的素材在色调、饱和度等方面不一致,必须在Photoshop里先将色调、饱和度等统一。主楼贴完纹理之后的效果图如图6所示。由于创建好的模型需要导入虚拟仿真平台VRP中,而虚拟仿真平台VRP对材质有一些特殊的限制。在贴图过程中对所创建的模型如果使用一些高级材质,如“多维/子对象”材质、混合材质、灯光材质等,在导入VRP的过程中可能会出现一些错误,所以在材质制作时尽量不要使用这些材质,只需一些基本的贴图设置便可,如果想要达到一定高光反射、凹凸的效果,可以在后期VRP软件中调整。2.3虚拟模拟环境的使用模型的制作只是为场景制作了一副骨架,缺少真实的活力,而灯光的调整就相当于让整个场景更趋于真实。所以说灯光是整个虚拟现实的制作过程中尤为重要的一部分,也直接影响到导入虚拟现实软件中的逼真程度。这个项目室外主要是手工打光,也就是经典的三点光源。渲染使用默认的扫描线渲染器,开启光线追踪。室内场景主要使用3DSMax中的daylightsystem和mrskyPortal,渲染器为Mentalray。运用daylightsystem和mrskyPortal,Mentalray可以产生逼真的光照效果,当然代价是相当长的渲染时间。图7为灯光添加后的效果。2.4环境优化2.4.1模型的对于应用功能的改进和完善由于模型的面数与数量直接影响到完成虚拟现实的大小以及运行速度,故面数的优化在3DSMax中极为重要,可以大大节约等待时间。在建立主要建筑物模型时应将一些看不见的面删除,将同类材质的物体进行合并。不是主要建筑物的模型应尽量从简制作,减少整个场景的面数和模型数。另外,需要对环境进行完善、美化,如设计花坛、种植树木、建设道路等。场景中需要种植许多树木时,若建立体树将占用很大的空间,影响显示效果,故采用建立平面树的方法。在进行贴图时同样要设置为透明贴图,对于一棵树建立两个平面,并让两平面交叉在一起,形成一棵视觉上立体的树,然后选择只将近景的树木替换成插件生成的树,远景的树依然保留原来的十字交叉树,这样渲染时间大幅缩短。环境优化之后的效果如图8所示。2.4.2软阴阳的测定在光照方面,进行必要的优化以提高渲染速度。室内场景的mrskyPortal会产生柔和的阴影,效果非常好。但这些阴影的计算量对配置不高的计算机来说无法实现,如果降低软阴影的采样率,虽然可以提高渲染速度,但是整个画面会有很多噪点,提高采样率的话又会使渲染时间倍增。解决的方法是在渲染动画的时候关掉这些软阴影,渲染单帧的时候开启它。把mrskyPortal的软阴影关掉,渲染速度从每帧45min提高到每帧6min。当然,缺少了这些阴影会使很多地方比如墙角显得比实际的要明亮一些。2.5不同模拟属性的区域的构图为了使虚拟现实更加逼真、生动,需要将物体的阴影、光线的明暗表现出来,烘焙这一环节尤为重要。烘焙过的物体可以将物体的阴影、光线明暗以贴图的形式附着在模型的表面,这个烘焙过的贴图并不会覆盖原有的贴图,只是在模型的表面新建一个图层,在导入虚拟现实软件的时候可以同时将两者的贴图展现出来,但注意一点,镂空贴图不得进行烘焙。烘焙之后的场景再次渲染的时候将不用再次计算光照,因此可以大幅提高渲染速度。在游戏或者虚拟现实引擎里一般都是把光照信息烘焙到贴图中去,这样游戏运行起来就很顺畅,能在很多低配置的计算机上运行。图9为烘焙完成后的模型场景效果。2.6实际文件的导入为了将3DSMax中创建的模型导入到虚拟平台VR-Platform中,需要安装相应的插件。选择VRP导出插件中导出命令项,然后在导出为VRP文件对话框中可以看到所有信息提示:导出的面数、定点数、贴图数、模型总数及相机个数等。最后将模型调入到VRP编辑器,这样就成功地导出了模型,如图10所示。如果要倒出到其它三维软件,建议采用fbx格式,fbx格式可以在3DSMax、Maya、Motionbuilder等主流三维软件之间转换。2.7数据库设计校园模型建立好以后,要把它放置于特定的交互3-D环境中,通过设定虚拟漫游者的运动方式、速度、初始位置、观察的环境等参数条件,使观察者从任意角度对虚拟环境中的对象进行观察,并与之交互,从而产生身临其境的感觉。为了增强与周围环境交互的效果,添加了数据库功能,实现在场景中漫游时,选择任意建筑物可从数据库中查找数据,将建筑物的名称、建筑面积、高度及用途等各种属性实时显示在屏幕上。其实现的流程为:(1)捕获用户点击的对象名称;(2)根据对象名称在数据库中查找其对应的信息;(3)将信息在屏幕上输出。因为数据量较小,故选择使用Access数据库,并使用VRP连接数据库。首先,要编写dll文件,实现必要的函数接口://初始化数据boolg_open_db();//关闭数据库voidg_close_db();//设置数据标注的脚本支持,对应于一条脚本函数info/name,$GETVALUEvoidg_get_value(constchar*valuename,constchar*id,char*value);然后,使用VRP中的脚本编辑器编写相应的脚本函数,并进行初始化设置,可以设置为距离触发或点击触发。数据库中的信息可以随时更新,用户在交互式漫游时,通过点击虚拟校园场景中出现的建筑和艺术雕像,提供更加详细的资料。2.8实现场景模拟与数据显示为了能在创建的虚拟环境中漫游,并与周围环境进行交互,需要在VRP中给模型设置碰撞检测,添加天空盒、太阳光晕、背景音乐,使整个场景显得更逼真。在三维场景中漫游,需要创建相应的行走相机,设置相机的水平角度、高度等属性,将相机放到场景中适当的位置;创建飞行相机来游览整个VR场景的概貌;创建动画相机,设置一条自动漫游路径。为了模拟真实场景,需要为模型设置物理碰撞,对不能穿越的对象进行碰撞检测。选择一个合适的天空盒样式应用于当前场景中,旋转天空盒角度,让天空盒中的光照方向与场景投影方向一致。为了让VR场景更生动,为VR场景添加一个太阳光晕,调整太阳光晕的角度与高度,让太阳光晕的光照方向与场景投影方向一致,使整个场景显得更逼真。添加背景音乐增强场景沉浸性,用脚本编辑器在系统函数类型中创建初始化函数,添加背景音乐脚本,插入语句并设置背景音乐相关属性。在数据库数据显示时,需要将数据显示在二维面板上,二维界面图片通过Photoshop创建,通过脚本来控制二维面板的显示与隐藏。保存所有设置后,即可编译成一个可独立执行的.exe文件,生成虚拟漫游系统,如图11、图12所示。2.9染色机的使用室内场景使用mentalray渲染,其中运用了很多mentalray的材质,场景中还有大量的玻璃,反射与折射使渲染速度大大降低。计划渲染成1280×720的序列帧,一台计算机是难以胜任的,使用70台计算机进行网络渲染。3DSMax自带的网络渲染功能很方便,也很强大,节省很多时间。通常在渲染开了全局照明的场景时,为了提高速度往往会保存光照贴图,这样在渲染下一帧的时候就只需计算与上一帧有变化的地方,节省了很多时间。在网络渲染的时候,由于同一台机器分配到的渲染帧不是连续的,几乎每一帧都得重新计算,故采用backburner和mentalray的分布式渲染结合起来,渲染速度有了明显的提高。但是mentalray的分布式渲染也有它的缺点:一是它最多只支持8块CPU同时渲染;二是参加计算的计算机中,只要有一台计算机出现错误,或者长时间没有响应,那么整个渲染工作就会停止。因此,必须人工看守,当有错误发生时重新启动它。室外场景使用3DSMax自带的扫描线渲染器渲染,由于树木使用了大量的镂空贴图,渲染速度很慢。而使用mentalray

温馨提示

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

评论

0/150

提交评论