首页 > 范文大全 > 正文

实景虚拟校园构建的关键技术

开篇:润墨网以专业的文秘视角,为您筛选了一篇实景虚拟校园构建的关键技术范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:虚拟校园是虚拟现实技术在数字化校园建设的具体应用,依据虚拟校园的构建方案和设计过程,阐述了建模方法、模型优化、纹理贴图、烘焙技术以及交互界面设计、资源数据库设计、视听效果设置等技术问题及解决方法,尤其是该系统不仅具有校园外景的交互漫游效果,还可以进入多媒体教室选择视频教学内容进行观看,最终完成了基于3dsMax和VR-Platform的虚拟校园交互漫游系统。

关键词: 虚拟校园;三维建模;模型优化;材质烘焙;VR-Platform;漫游交互

中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2014)01-0233-04

虚拟现实技术目前在许多领域得以广泛应用。虚拟校园就是将虚拟现实技术应用于校园文化建设,运用三维建模以及虚拟交互技术完成对三维虚拟校园的设计与实现。从1992年提出VRLM以来,虚拟场景漫游技术的研究受到许多大学和研究机构的青睐,将虚拟现实技术引入“数字校园”的建设研究中,为校园的规划和设计提供一种全新的手段[1]。目前人们已不满足于单纯的三维校园景观展示,借助于网络整合教学资源,以一个全新的模式宣传学校,利用一个全新的平台改进大学教学方式,提供给老师和学生一个共同学习、互动、分享以及引导创意的空间[2],使人们的学习和交流不受时间和空间的限制,这种虚拟校园不仅有“环境(三维实景校园)”, 更有“内容(网络教学资源和各种交互的虚拟空间等)”, 系统具有动态性和实时交互的特点,能使学生们有真实感和认同感。目前国内外许多大学不同程度地推出虚拟校园,先后制作了校园风光、重点实验室、图书馆、教学环境等漫游效果,对虚拟现实技术与教育的结合起到了很好的推动作用[3]。随着网络化、数字化、智能化的进一步发展,实现学校管理数字化、智能化是二十一世纪对学校发展提出的新要求。基于虚拟现实技术的三维虚拟校园系统是数字校园的基础和平台,开展虚拟校园系统及相关课题的研究适应了信息社会发展的趋势。

1 虚拟校园构建的总体设计

现在设计虚拟校园不能仅停留在校园“环境”的制作,还要考虑在三维校园基础上,开发更有深度的“内容”。因此在环境建模时主要建筑和次要建筑应分别建成实体建筑和空心建筑,像图书馆、报告厅、多媒体教室等应建成实体建筑,即用户可以进入其中做进一步的交互活动,考虑到数据量过大会影响实时显示效果,其它办公场所、宿舍等建筑可以建成空心建筑。虚拟校园系统的实现主要包括两方面的设计任务:

1)三维场景建模:即按照实际尺寸将校园主要建筑、地物模型(路灯、垃圾箱、指示牌、山石等)及环境装饰(花草树木等)建成三维虚拟场景;

2)漫游及交互效果制作:即完成对三维场景的实时漫游和视听等效果的设计。

虚拟场景中环境模型的构建可以选择语言类或建模工具来实现,语言类如:C++、OpenGL、VRML等,建模工具主要有AutoCAD、3dsMax、Open Inventor、Pro/Engineer、SketchUp等;漫游交互制作的平台主要有:Virtools、Vega、Unity3D、Quest3D、BSContactVrml,EON,VR-Platform(简称VRP)等。早期开发选择VRML、Virtools、Vega等比较多,考虑到虚拟校园多数是建筑模型,建模工具所见即所得、操作便捷、开发周期短等特性,我们选择功能强大的3dsMax进行环境建模,用VRP平台制作交互漫游效果,制作流程如图1所示:

下面就虚拟校园构建过程中涉及到的各种技术问题做一简单分析。

2 模型构建的关键技术

三维建模是虚拟漫游系统的基础,模型制作的质量关系到系统的运行速度和真实度,所以虚拟场景中的模型应在保证基本真实度的情况下尽量简化,以保证运行流畅。这里阐述一下建模涉及到的关键技术:

2.1 Polygon建模

虚拟校园的模型以建筑为主,采用Polygon建模方法比较适合。根据实地考察、测量、拍照、计算等得到的校园地形、建筑物和地物模型的尺寸,先用AutoCAD分别绘制出二维平面图,再导入到3dsMax中用Polygon建模方法建立地形、建筑及地物模型,这里的空心建筑模型和地物模型只要参照照片建立模型外观轮廓,可忽略内部构造,建筑的门窗等细节由纹理贴图解决。

2.2模型优化

一个逼真的基于三维模型的虚拟校园漫游场景通常包含数千个多边形,大规模虚拟校园场景复杂度的增加势必影响场景显示的实时性,这一问题要靠模型优化来解决。因此要求在模型的精细程度和实现的速度方面寻找一个折中值,即可保证一定的建模质量,又不造成用户浏览的不适感。

对于模型优化可以分模型个数的优化和模型面数的优化两部分进行,尽量移除每个模型不可见的面和过于琐碎细小的建筑装饰性面,移除模型之间的重叠面、相交面,保证模型的面数足够少;对于使用相同材质贴图的模型,通过独立显示,分别调整好各自的贴图坐标,然后将这些模型用Attach或Collapse命令附加或塌陷,再经过烘焙材质的办法,可以使多个模型精简为1个,此法尤其适合精简场景中的树木、路灯、座椅等模型。对于复杂模型和其它建模方法构建的模型的优化问题,在本人已发表的论文《3dsMax在虚拟场景建模中的应用》中有详细介绍,这里不再赘述。

2.3纹理贴图

在虚拟校园建模中,如果用3dsMax建造实景的所有细节,不仅增加开发工作量,而且增大文件数据量,延长浏览的显示时间,因此一般用简模代替实景,其逼真度是靠纹理贴图来实现的。如空心建筑模型的门、窗、雨檐等细节均用纹理贴图实现,实体建筑只有门窗等需要透明和开合的细节建模时完成,其他细节也用纹理贴图实现,而建筑的门窗形状或材质大都相同,可以用复制实例和Collapse方法优化。

前期数据收集时要拍摄大量实景图,用Photoshop对实景图进行处理,主要是图像角度、亮度、色彩饱和度的修整;图像裁剪、拼合;去除图像杂景干扰[4](如树影、人物、遮挡物等);制作透明贴图(花草树木、围栏等)。图像全部采用PNG格式存储,像素为2n,以消除图像扭曲现象;尽量将草坪、路面、墙面等大面积内容单一的图像,分割成小面积纹理图像存储,以减少存储空间。

在对模型进行贴图时,用“UnwrapUVW”配合 “UVWmaping”进行更精确的贴图操作,通过UVW MAP修改器,修改贴图重复值和投影方式,确保相邻的两个面贴图吻合[5],从而得到逼真的校园三维模型。

2.4烘焙技术

贴图烘焙(render TO texture)技术就是一种把Max光照和阴影渲染成贴图的方式,而后把烘焙后的贴图再贴回到场景中去的技术。这样光照信息变成了贴图,把带有光影效果的场景导入VRP中,不需要CPU再费时去计算光影效果,以减轻CPU、内存和显卡的负荷,提高显示速度。

烘焙前先要将场景中需要烘焙和不需要烘焙的模型进行分组,需要烘焙的模型还要按烘焙后贴图分辨率的高、中、低再进行分组,需要突出细节的分辨率高些,其它适当降低分辨率可以提高运行效率。若采用的材质中包括VRay材质,在渲染到纹理的过程中,烘焙模式应选择为VRay的完全贴图模式,按组分别烘焙后,可以先在VRP编辑器中预览,阴影纹理等未发现错误即烘焙成功,可保存导出。

2.5 Billboard或Doubleboarding技术

制作室外场景一定会有装饰或绿化问题,如路灯、指示标、花草树木等,如果每棵树木花草都用模型来表现,场景模型面数将造成编辑及运行都很困难,因此这些模型往往使用Billboard或Double-boarding技术创建模型。用Plane建模,或者画二维矩形,然后添加Editable Mesh或UVW Mapping修改器,产生双面模型,通过添加处理后的透明贴图即可得到装饰物模型。注意的是用Billboard建模时,命名要加前缀bb_(VRP中bb_物体可以实时面对相机)。再通过Attach或Collapse命令附加或塌陷,将模型个数及面数减至最低。模型的全景效果如图2所示:

3 交互平台设计的关键技术

VR-Platform三维互动仿真平台支持多个版本的3dsMax,提供三种二次开发方式[6],可以通过插件将3dsMax烘焙后的模型直接导入其中,进行交互场景的开发。虚拟校园的核心是交互平台的设计,按照系统总体设计思想,交互平台应具备三维场景展示及导航、全景鸟瞰、自动浏览、自由漫游、校园信息查询、视听效果等功能,这里阐述一下交互设计涉及到的关键技术:

3.1 基础环境及界面设计

导入到VRP中的场景首先要进行模型位置的校正,然后分别对烘焙和没烘焙的材质进行调整,包括材质的过滤方式、透明贴图等,并根据场景需要适当调整亮度、对比度等;对于没烘焙的贴图要在VRP中设置材质,尤其是玻璃材质、不锈钢材质、水材质等,需设置反射折射参数。然后对环境和光效进行设置,可以添加VRP提供的天空盒,也可以用3dsMax自己制作天空盒,这样跟校园周边环境融合的会更好。可以添加太阳光晕的效果,调整好光晕高度和角度,使场景更接近自然。用户通过交互界面可以迅速明了如何操作,所以界面应有操作提示按钮、导航、效果按钮等,这些按钮由脚本控制;导航设置可以让用户清楚目前所在位置。

为了实现校园漫游的效果,需要在场景中添加相机,用来呈现漫游中所感受到的视觉效果。可以创建行走、飞行和动画相机,通过设置不同的相机水平角度、相机高度等属性,绘制好相机行走路线,这些相机可以通过按钮进行切换,方便用户可以根据自己的需求简单快捷地浏览校园。同时可以在场景中创建角色,通过模仿真实的人物来达到真实虚拟的效果,为角色绑定角色控制相机,这样我们可以用鼠标或键盘控制角色行走并达到自主漫游效果。图3是交互浏览的初始界面:

3.2 资源数据库设计

虚拟校园的交互功能是应让用户不仅能够看到校园的外貌,还能了解到学校各建筑的相关信息,并且能够进入主要教学楼查看相关的教学资源。这些资源信息需要数据库存储,在VRP场景运行时,可以实时地查询场景里某一建筑、物体、区域等对象在数据库里的相关信息。创建SQL Server数据库存储校园信息、教学资源等。首先是做数据库的连接,即将存放校园信息的数据库连接到虚拟校园系统上,然后将场景中的对象和数据库记录做关联操作,以便用户在虚拟校园系统中点击场景中的对象,能够在数据库查找对应信息,并在屏幕上显示出信息。链接并显示相应信息的函数接口命令如下:

BOOL g_open_db(); //初始化数据

void g_close_db(); //关闭数据库

void g_show_db_viewer( HWND parent/*父窗口*/, RECT* rt/*在父窗口中的区域*/);

//弹出属性窗口

void g_fill_obj_props_by_str_id(const char * str_id); //设置对象,填充list,

void g_fill_null(); //清空list

info/name, $GETVALUE(模型名称) ;//对应于一条脚本函数:修改数据标注值,

//valuename 会被 传入 info/name, 而 id 会被传入模型名称

//检索得到的值转化为字符串放到value中传回

void g_get_value(const char * valuename, const char * id , char * value);

//vaulename,id, value的长度不能超过256字节,特别是value .

3.3 视听效果设置

当用户进入多媒体教室时,可以选择提供的课程资源进行观看。首先在VRP_builder中创建一个GUI窗口,在该窗口中导入单选框,显示该教室的可选课程,选择课程即可看到视频教学内容。

VRP编辑器自带一个强大的界面编辑器,用户可以为一个DEMO创建多个界面方案,在播放不同相机视角时匹配不同的界面方案。通过按钮控制进入到教室内播放视频教程的页面。场景中教室门的开关可以用鼠标触发的方式,也可以用距离触发的方式,先在3dsMax中做好开门动画,对刚体动画模型在ABC中进行编组,命名时前缀为VRP_rigid,然后再将场景带动画属性导入到VRP编辑器里,为角色控制相机设置鼠标单击时间或触发事件,分别设置进入时动作和离开时动作,同时可以加入开门关门的声音,使动作更加真实。

进入教室后选择观看的课程,点击播放,这种方式是播放录制好的课程。观看的窗口是一个设置好的悬浮窗口,设置其大小与投影屏幕一样大,让体验者有在教室上课的感觉。效果如图4所示。

图4 在多媒体教室中观看视频教程

4 结论

通过对虚拟校园漫游系统的总体设计思路和功能进行分析,重点阐述了建模和交互设计过程中涉及到的技术问题。经过模型优化加快显示速度,通过烘焙技术使场景效果逼真;尤其是在VRP中视听效果的设计,使虚拟校园不仅有“环境”,更有“内容”,增强了浏览者的真实感和认同感。目前设计的虚拟校园只是第一阶段,完成了校园漫游、视频教学等内容,距离真正的数字化校园还有一定差距。下一步将结合教学、教务、校园社区生活等内容继续研究,让使用者可以进入网络课堂,亲身感受课堂魅力;可以进入图书馆,与所有在线的人共享丰富的图书资源;还可以和师生们进行实时的问题探讨等,实现真正意义的虚拟大学。

参考文献:

[1] 张志安.基于VR技术的虚拟校园系统的设计与实现[J].光子学报,2011,40(5):769-773.

[2] 丁俊,钟彬华,崔振东.三维虚拟校园的设计与实现[J].科技信息,2011(13):45-46.

[3] 于春雨.浅论虚拟校园技术的发展[J].经济技术协作信息,2010(26):56-56.

[4] 刘巧红,单贵,钱家乐.三维仿真场景构建及漫游系统实现[J].西华大学学报:自然科学版,2010,29(6):62-65.

[5] 杨宏艳,史卓,钟艳如.基于虚拟现实的数字化校园漫游系统设计[J].桂林电子科技大学学报.2011,31(4):287-291.

[6] 王正盛,陈征.VRP11虚拟现实编辑器标准教程[M] .印刷工业出版社,2011.

[7] 刘巧红.计算机虚拟校园的建造与人机交互的实现[J].计算机工程与设计,2010,31(19):4332-4335.

[8] 杨磊,曾玲,陈少红.虚拟校园的研究与实践——以华南农业大学红满堂为例[J].电脑知识与技术,2011,7(31):7739-7741.