虚拟古村落漫游系统环境中的模型构建(1)
2015-11-14 02:04
导读:计算机应用论文论文,虚拟古村落漫游系统环境中的模型构建(1)怎么写,格式要求,写法技巧,科教论文网展示的这篇文章是很好的参考:
摘 要 本文针对虚拟古村落漫游系统环境中的建模问题,提出结
摘 要 本文针对虚拟古村落漫游系统环境中的建模问题,提出结合MultiGenCreator和3DSMAX两种建模软件进行建模的方法,保证了模型的逼真度和漫游系统的运行效率。 关键词 虚拟漫游;MultiGen Creator;3DS MAX;建模 0 引言 虚拟现实(Virtual Reality)是近年来十分活跃的技术研究领域。它是一系列高新技术的汇集,包括计算机图形学、图像处理与模式识别、智能接口技术、人工智能、多传感器技术以及高度并行的实时计算技术。目前,其应用已广泛涉及军事、教育
培训、工程设计、商业、医学、影视、艺术、娱乐等众多领域,并带来了巨大的经济效益。 虚拟现实系统中的建模是整个虚拟现实系统建立的基础。为了给用户创建一个能使他感受到身临其境、逼真的环境,就需要创建尽可能逼真的模型和虚拟场景。但是,如果模型和场景过于精细,数据量过于庞大,将给虚拟现实应用系统带来灾难,尤其是比较复杂的场景比如古村落建筑。在虚拟现实系统中的建模,应该在保证必须的模型质量情况下做到数据量尽量小,以保证虚拟现实应用系统的运行效率。作者在进行楠溪江古村落虚拟漫游系统的实现过程中,结合MultiGenCreator和3DSMAX两种建模软件,较好的解决了这个问题。建模的工作流程如图1所示。

图1 建模工程流程1 前期处理 为了使MultiGenCreator和3DSMAX这两个软件的工作能够较好对接,建模工作能够顺利开展,必须要做一些前期的准备工作。1.1 获取布局图 虽然虚拟漫游系统并不要求虚拟场景与真实场景完全一致,但是构建的模型和场景应该尽量真实反映实际的情况。首先应该获取正确的古村落布局图,最好是精确的AUTOCAD图纸。作者获取的是DWG格式的布局图,提取轮廓线后可以做为模型构建的底图。1.2 纹理预处理 在虚拟现实系统中为了增加模型的逼真效果,通常把取自实际环境的数码照片做为纹理。另外,在MultiGenCreator中的模型格式OpenFlight(*.FLT)只接受RGB或RGBA格式的图形文件做为纹理。因此,为了使纹理能够更好在MultiGenCreator中工作,需要对数码照片进行处理。 ⑴让常用的图像处理软件比如Photoshop能够处理RGB或RGBA格式的文件,可以通过下载rgbformat.8bi(针对Photoshop8.0)文件并拷贝到Photoshop安装目录中的File Formats文件夹实现。 ⑵ 设定纹理图片的大小,要做为纹理的图片长度和宽度像素值均要设为2的整数次幂,如256*128,否则模型在实时漫游中纹理可能发生扭曲变形。2 3DMAX建模 3DSMAX建模软件的使用非常广泛,具有可操作性强、功能强大、模型精细逼真、质感强等特点,缺点就是数据量大。利用3DS MAX构建模型主要工作有:2.1 划分场景单元 在模型构建中,通常需要对真实场景进行划分,分成相对独立的几个单元。作者根据本文所涉及的古村落的真实场景,划分出了大宗祠、水亭、书院、将军府第等四个主要建筑物和其他次要建筑物,另外树木等小品也可以单独做考虑。2.2 主要建筑物建模 四个主要建筑物作为场景的核心景点,模型质量要求较高,要有一定的逼真度。因此往往需要使用3DS MAX软件的Extrude、Mirror、Bevel、Loft、Edit Spline等等命令。比如在大宗祠的建模中,宗祠的横梁、柱基等等就较多的使用了Extrude、Edit Spline命令。另外,为了减少模型的面片和数据量,在保证模型一定精细度的情况下要尽量减少这些命令的Segment、Sides或Steps值,同时,尽可能的使用纹理映射提高模型逼真度。2.3 次要建筑物建模 次要建筑物模型质量要求不高,可以使用简单几何体和纹理映射来完成。2.4 注意事项 要想在3dmax中建立模型,并将3dmax模型转换为仿真驱动的OpenFlight模型并且能够使用,在Max中建模时我们必须注意以下几点: ⑴ 避免不兼容的情况 在本方法中,需要先使用3DSMAX建立模型再导入到MultiGenCreator中进行处理,但是3DSMAX做为一个功能强大的建模软件,有些指令在MultiGenCreator是无法得到识别和支持的,比如复杂的纹理合成、reference参数等等。为了保证前面建立模型在后面得到较好读取,应该避免使用这些指令,或者在模型导入到MultiGenCreator后使用类似的指令。 ⑵ 尽量使用简单方式 建立的模型要尽量采用比较简易的Box、Shape等来表现,不要使用NURBS、polygon、patch建模方式建模。建议在3dmax中多采用Shape加其它命令的方式来建立模型。 ⑶ 在保证模型质量的情况下尽量减少精细度 比如在使用Shape中的Line建立模型时要尽量将Interpolation选项中的Steps值设置到最小的程度,一般设到1~3即可满足要求,Steps值过高会极大的增加转换后的模型面片数。