顾海霞
摘要:该文介绍了虚拟现实三维模型系统实时性优化的重要性,探讨了虚拟场景中三维模型系统实时性优化的方法,以矿山虚拟环境三维模型系统的优化为例,对优化前后系统运行性能进行了比较,说明系统优化后能够显著提高系统运行的实时性。
关键词:虚拟矿山系统;三维模型;优化
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0223-02
Abstract: Model system optimization plays an important role in developing VR system. This paper focuses on several aspects of optimizing virtual coal washery system. The running performance of the optimized system is compared with that of the original one, and the result indicates that optimizing the model system enhances the real-time performance of the runtime system.
Key words: virtual mining system;3D model;optimization
1 引言
实时性是虚拟现实系统的一个重要特性,根据不同的应用,实时性要求也不同。本文从虚拟环境中三维模型系统开发技术的角度来考虑,结合虚拟矿山三维模型系统的优化,研究虚拟环境中三维模型系统优化的几项技术[1]。
2 模型系统优化的必要性
虚拟环境的建模比较复杂,矿山虚拟环境三维模型系统在建模时,主要关注模型模拟效果的逼真度,这样会产生大量的冗余多边形,并占用较多的纹理内存等,影响了系统的交互性和实时性。
另一方面,提高虚拟现实运行系统的实时性,能够降低计算机用于绘制和场景剔除等方面的计算开销,为在虚拟系统中开发其他应用模块提供计算能力[2]。
因此,优化虚拟环境三维模型系统,对于解决模型的复杂性问题和提高系统的运行实时性,具有重要意义[2]。本文以虚拟矿山三维模型系统的优化为例,分析了虚拟环境三维模型系统实时性能优化的两项关键技术:三维模型结构优化和纹理数据优化。
3三维模型结构的优化
计算机硬件系统配置确定后,系统在某一时刻的单帧中所能绘制的多边形数目是有限的。在构建矿山虚拟环境时,要建立有许多结构复杂的模型,有些模型数据库中多边形数目太多,系统将无法计算及完成帧处理。
所以,为了提高运行系统的实时性,需要对模型进行简化处理,减少数据库的多边形数目[3]。
3.1 多细节层次的使用
细节层次是减少运行系统中多边形数目,提高系统绘制性能的有效手段[4]。虚拟矿山中有厂房和机器设备等复杂结构的模型须用细节层次来表达。多细节层次用多边形数目不同的一组模型对同一对象进行表达,当视点和细节层次中心的距离达到预定值时,系统只显示对应的细节层次模型,最高程度的细节层次只有当视点距对象足够近时才显示[2]。
因此,使用多细节层次表达复杂结构对象,能够减少运行系统中需要绘制的多边形数目[4]。
3.2 用纹理代替多边形
使用纹理映射能够在不增加多边形数目的前提下,提高场景表达的逼真程度。用纹理映射表达模型的结构细节,比用细节层次占用系统资源少得多,所以用纹理代替多边形有助于提高运行系统的实时性,用细节层次模型配合一些细节程度的纹理映射,代替多边形模型,能够使系统的绘制负载有效降低[2]。
图1(a)是全用多边形构建的路灯模型,共用了几百个多边形;图1(b)是用多边形和纹理构建的路灯模型,只用2个多边形;图2为这两个路灯模型的单帧绘制时间曲线。发现用纹理映射代替多边形,较好地体现了模拟真实性,它们的单帧绘制时间相近,但纹理映射大大地节省了多边形数量,表明该技术非常适用于空间跨度小、细节特征比较密集且不需交互的对象[5]。
3.3 冗余多边形的删除
为了减少系统中的多边形数量可以删除数据库中的冗余多边形,例如,模型内部细节结构的多边形,多边形的背面和平面上的模型的底面,或是在特定的漫游方式下永不可见的多边形[6]。
4 纹理数据的优化
虚拟矿山系统中纹理数据量很大,纹理数据的优化显得尤其重要。多数情况下,纹理优化是综合考虑硬件的计算能力和所期望的实时性的折中方案。
4.1 确定纹理大小
为了充分利用内存,应创建大小合适的纹理图像,从而保证虚真效果和系统运行的实时性。映射纹理的细节、多边形等越多,则需要的内存空间就越多。根据实际情况,须合理确定纹理大小,本文定纹理大小的规则如表1所示。
4.2 节省纹理存储空间
(1) 内部数据格式的压缩
通过压缩纹理文件的内部格式分辨率,对纹理数据格式进行优化处理,可进一步节省纹理内存,减少纹理数据所占据的存储空间。例如,对于512× 512大小的纹理,它占据的内存空间为:
512× 512 ×3 b = 787KB
压缩该文件的纹理文件内部格式分辨率,将24位的纹理数据压缩成16位,纹理数据占用的内存相应减少了33%。
本文将虚拟矿山中大多数纹理文件的内部格式设置为TX_RGB_5;为增强显示效果,如通告栏上纹理等,将纹理数据内部格式设定为TX_RGB_12。
(2) 子纹理技术的应用
子纹理技术是将纹理图像的局部映射到多边形表面上[4],使用子纹理技术可以减少所存储的纹理数量,节省内存。虚拟矿山中部分差别较小的纹理细节用子纹理技术实现,如虚拟矿山中厂房表面纹理等。
5 实例
图3为虚拟矿山中的一些虚拟场景。矿山虚拟环境三维模型系统在建模时并对模型和纹理进行优化,优化后运行系统剔除阶段的稳定性得到明显提高,同时绘制性能也有明显改善,如图4所示。
6 结论
本文主要讨论了矿山虚拟环境模型系统实时性能优化的几项技术,并在模型结构和纹理数据这两个方面,对虚拟矿山三维模型系统进行了优化。优化后系统运行的实时性得到显著提高,说明了三维模型系统优化对实时性具有重要作用。
参考文献:
[1] 王卫辰.虚拟选煤厂三维可视化系统及其优化[D].中国矿业大学,2005.
[2] 王卫辰.虚拟选煤厂三维模型系统的实时性优化[J].计算机仿真,2007.
[3] 彭群生,鲍虎军,金小刚.计算机真实感图形的算法基础[M].科学出版社,1999:221-245.
[4] 王卫辰.虚拟校园三维仿真系统的开发及优化[J]. 徐州师范大学学报:自然科学版,2007.
[5] 王蕾蕾.基于MultiGen/Vega飞行事故分析三维再现系统的研究[D]. 南京航空航天大学,2008.
[6] 明慧.基于Virtools虚拟校园漫游系统设计及实现[J]. 软件导刊,2011(7).