姚孺婧,李林森,张煜鑫
(安徽工业大学 艺术与设计学院,安徽 马鞍山,243002)
虚拟现实就是利用计算机技术创建和模拟真实世界,用户借助必要的设备以自然的方式在特定范围内与传神的视、听、触觉等一体化的虚拟环境进行交互并相互影响,从而有亲临真实环境的感受和体验。随着虚拟现实技术在许多方面得到广泛应用和信息化校园建设快速发展,三维虚拟校园建设已成为信息化数字校园建设的重要构成。传统的虚拟校园建立在二度空间形象上,利用三维虚拟技术进行数字校园建设,是虚拟校园的根本和核心,可以向人们展现立体空间状态,接近校园的实景。在计算机图形学以及仿真技术的不断发展下,人们对三维场景建模的真实感要求与日俱增[1]。3D Studio Max,常简称为3d Max或3ds MAX,是实现三维动画渲染和制作的主要软件之一。建模步骤简洁且效率高,普遍应用于各种三维制作及工程可视化等领域。本文基于3ds Max建立安徽工业大学三维虚拟校园场景模型,通过特定方法来解决模型精密度与实时性之间的冲突,大大提高了场景的真实性和可操作性。此系统可为安徽工业大学树立良好的人文形象,为数字校园规划提供参考资料和依据,加快实现校园数字化建设。
三维虚拟校园场景模型主要包括实景数据的获取、建立模型、场景材质设置和仿真贴图、虚拟现实系统初始化、模型对象导入与实时展现等五个方面,而三维模型的建立,其质量层次直接影响模型效果及系统的运行情况,是对视觉效果呈现的重要环节(见图1)。
在建立模型前需要准备相关资料素材,通过校园平面规划图、地形图、建筑图纸、高分辨率影像图、纹理图片等来获得相关的信息数据,生动展现虚拟校园环境中的建筑物、道路、树木等对象。由于时间久远,部分规划图无法采集,可以在Google地球上获取免费的高清晰度卫星图片作为数据参考,帮助完成对虚拟地形的数字化展现。 建模前对模型对象所进行的图像采集,首先可以作为建模的参照,其次在未能收集到校园场景的建筑图纸等有效数据的情况下,根据图像采集,估测建筑高度,制作CAD平面图及五视图,最后是通过Photoshop等图像处理软件,对效果不好的图片进行光线、色彩等处理,将获取的模型贴图照片以jpeg文件格式保存,形成纹理贴图库。贴图的质量,直接决定了所建模型与真实建筑物的相似程度。贴图的使用频繁,不但能增加作品的真实感[2],还会影响到内存的负载,提升虚拟校园系统的体验感。
图1 三维虚拟场景建立流程图
场景在交互时流畅与否,与场景中的模型个数、模型面数、模型贴图等方面的数据量息息相关。为了避免出现卡顿现象,场景模型必须精简数据量,有计划地利用建模方法设计可视化内容是必要的,因此在准备建模工作之前,要对场景分析了解,经营建模思路。
1. 3ds Max通过多种建模方式创造宏伟的虚拟世界,主要方法包括基础形体建模、曲线建模、多边形建模、面片建模、NURBS建模等。其中,采用多边形建模最佳,这种建模方式为我们提供了高效且良好的操作,可以对模型的网格密度进行较好的控制,适当调节细节的细分度,使最终模型的网格分布稀疏得当。
2.根据建筑所处的具体位置可把模型分为几个区域建设,并明确每个区域的地形特点,考虑合理分布模型的密度,进行判断是建成何种精度的仿真模型。大于0.5m的结构体均进行三维建模,小于0.5m的则使用纹理贴图来表示。可以复制的物体选择尽量复制,以此来降低物体消耗的资源。
3.将制作好的CAD底图导入3ds Max中。导入到Max里的CAD文件最好位置归零,以便初始导入模型相邻在x、y、z轴的零值。根据图样用样条线编辑出线条轮廓,将其附加后转化成可编辑多边形,利用挤出、切割、倒角等功能来叠加命令制作,对于复杂结构可选择超级布尔等功能完成制作,如墙和窗户的外轮廓。
4.校园交通设施中的人行道、车行道等作为交通设施建模的主要内容,可选取或制作与实际相似度高的材质与贴图作为纹理体现道路的不同功能。
5.校园中的成片林带、路旁绿化带和景观树等,采用十字面片形式,模型只需几个面即可,树的外形主要靠透明贴图来表现。对于绿地和水体,使用多边形面片集合纹理的形式进行建模。
材质作为一个数据集,主要功能就是给渲染器提供数据和光照算法,用以模拟物体的表面特性,如颜色、纹理等,用来表现物体对光的交互(反射、折射等)性质。如金属对光的反射。贴图最直接的形式是 Photoshop之类的软件做出来的一张图,这些图在3ds Max中贴到物体的表面,用来表现物体的“纹理”,包括透明“纹理” JPG和不透明“纹理” TGA、 PNG格式。利用贴图可不用增加模型的复杂程度就能突出表现对象的细节,还可创建反射、折射、镂空等多种效果,比材质更精细更真实[5]。校园模型中纹理表现主要是对建筑物、地表等景物贴上适当纹理和材质,包括树木、花草等,成片的绿化不仅使虚拟校园从视觉上变得更为美观,而且会让在虚拟漫游中的景象具有强烈的层次感和立体感。在制作完模型后使用默认的通用材质球类型或者Multi/ Sub- Object(多重/次物体材质)类型,可以给不同层次的物体指定不同的材质。为了增加模型的质感和完善模型的造型,获得清晰并且色彩饱和的贴图文件是必要的,因此在进行纹理映射前,对贴图文件进行加工处理,如调整光亮度和色调、修复、裁剪和拉伸等,保存时的尺寸必须为2的次方,例:32、64、128、256、512、1024等,最大长宽不能超过1024。初始贴图很可能由于尺寸有所变形或者拉伸,需要使用UVW贴图工具进行修改调整,个别主要物体贴图需要手动展开UV的方式制作。UV尽量避免相互重叠及拉伸,尽可能减少UV的接缝,接缝可安排在摄像机及视觉注意不到的地方或结构变化大、不同材质外观的地方。
烘焙方式采用Light Map光照贴图,它是一个创建物体表面光照分布的贴图过程。其作用是通过在3ds Max里对模型进行灯光渲染,明确光源的方向,使用烘焙到贴图的命令烘焙渲染出自身带有明暗关系的贴图,原先的纹理贴图不变,再生成一张包含模型光影信息的贴图[3]。这样的优势是在显卡或游戏引擎的驱动程序上快速显示贴图物体,使得最终模型纹理清晰,减弱物体光感显示,并且可以利用图像处理软件重复处理纹理贴图展现更丰富的光影效果,节约纹理资源。烘焙时灯光使用高级光线跟踪,背景使用白色,可以避免模型黑边的现象。完成后的模型需要进入其他引擎制作,所以需要完整导出,合并顶点,清理场景,并删除多余的材质球和没有用的空物件,使用Autodesk.FBX格式导出。
场景中的建筑模型众多,因此场景的构建是一个相对繁复的过程,为了提高用户浏览场景的速度,必须使用合适的建模方式对模型进行优化和整合,以降低文件的大小。
大范围场景组之间分开建立,单个场景文件的单位要保持一致,这样保证了模型与模型之间的正确比例。在没有特殊要求的情况下,将系统单位和显示单位都设置为米(Meters)。
对整个校园场景按照层次结构划分出明确的子场景元素。对模型进行层级结构划分有利于提高模型的可读性和可维护性。
为了保障系统的流畅运行及开发的合理性,在建模过程中应用的模型应以“简”为主,在表现多细节模型时如窗框、栏杆、栅栏等一些细长条的物体时,可直接用贴图的方式表现。因为如果模型面数太多,会导致运行速度急剧降低,文件容量增大,在网络运转时也会导致下载时间增加。在前期制作建模的过程中,注意检查共面、漏面和反面的情况,看不见的面要删掉。如楼宇底面、贴着墙壁物体的背面等。对于路灯、栏杆等一些常见物体,可以利用3ds Max软件提供的三维数据模型库中的模型直接建模,树木模型可用十字面片模型或简模表现。此外,还可利用Unity3d中自带的树木创建设计自己需要的树木样式,来进一步简化树木的建模。
当创立一个新的元素或者设置一种新的材质是都必须使用英文命名,同种贴图必须使用同一个材质球。材质的ID和物体的ID号务必一致,材质球的父子层级的命名须一致。命名的合理化可以避免在合并文件后,导致重名或者编辑修改文件时元素混乱。命名时采用统一的命名规则,如带Alpha通道纹理命名时应以_al结尾。
表1 模型命名示范列表
基于构建安徽工业大学三维虚拟校园模型过程中的主要技术制作流程和关键性技术优化,利用3ds MAX在建模、材质和贴图等方面的优势功能来完成校园中场景的建立,提高场景的建模速度以及环境的真实性表达,对后续数字校园的建设具有重要的理论价值和现实意义。