基于纹理处理与遮挡剔除技术的虚拟场景优化技术及研究

2017-10-11 07:25刘文葛文馨马颖
现代计算机 2017年18期
关键词:纹理分辨率内存

刘文,葛文馨,马颖

(1.山东科技大学,济南250000;2.山东科技大学,青岛266510)

基于纹理处理与遮挡剔除技术的虚拟场景优化技术及研究

刘文1,葛文馨2,马颖1

(1.山东科技大学,济南250000;2.山东科技大学,青岛266510)

随着虚拟现实场景的规模逐渐扩大,场景的交互实时性会随之降低,进而影响用户浏览虚拟场景的体验。针对这一问题,对Unity3D的虚拟现实场景的优化技术进行深入探究,并提出五种优化方向。在此基础上对每一种优化策略进行详细的分析,并阐明其对中央处理器和图形处理器性能上的影响,对于虚拟现实的交互的实时性的提高有着重要的意义。

虚拟现实;场景优化;Unity3D

0 引言

虚拟现实技术作为当今计算机科学技术的一大研究热点,是一种利用计算机技术创建生成出模拟场景,并可使用户体验虚拟世界的计算机仿真系统。为了能够使用户可以随时随地访问在Unity3D引擎中创建的虚拟场景,需要开发并发布能在浏览器以及移动终端运行的版本。但随着场景中的三维模型数量的增加以及模型复杂度的提高,虚拟场景的规模逐渐扩大,需要较高的硬件设备才能实现网页端以及移动端的场景漫游,故不能满足多数人的需求。

针对这一现象,可以分别从三维模型的贴图材质以及虚拟场景的物体加载这两个方面对虚拟场景进行深度优化,减轻CPU和GPU对图像的计算压力,提升虚拟场景的加载速度以及运行速率,使用户可以更加流畅的漫游虚拟场景。

1 问题提出

目前大部分虚拟场景引擎都只能发布单机端的虚拟现实。单机端虚拟现实的场景虽说在运行过程中所展示出来的效果最好,但是可执行文件以及其他配置文件较大,需要较长的时间进行场景的加载,且局限性较强,只能在台式机或笔记本电脑上漫游虚拟场景。为了使更多的用户能够随时随地的访问虚拟现实场景,还需要对其他平台如网页端以及移动端等进行开发及发布。

以虚拟仿真校园为例,对校园进行实地考察并结合建校的设计图纸,使用Auto CAD以及3ds Max等软件将校园建筑物的仿真模型按照其坐标位置进行构建,将模型及其所需材质贴图一并导入Unity3D引擎中,添加天空地面树木及交互动画完成虚拟场景的搭建。将校园导出至单机端、网页端和移动端并进行性能测试,测试数据如下表。

表1 未优化的场景性能测试

在16G内存以及NVIDIA GeForce GTX 770显卡的电脑进行网页端场景漫游时,校园加载响应时间约为30秒,CPU使用率为22%,内存使用率为24%,运行流畅度较差。使用4G内存,八核处理器及Android 5.1系统手机进行真机测试得出的效果很不理想,场景中的人称视角几乎不能进行平移以及转向操作。因此在不破坏原有模型以及场景的真实性的基础上,对虚拟场景进行优化,以提高场景的运行效率是十分有必要的。

2 探究优化

2.1 优化原理

虚拟场景在运行过程中主要计算CPU(中央处理器)和GPU(图形处理器)的资源。CPU的性能限制一般是指所需要渲染的物体的数量。对于CPU来说,主要性能瓶颈在于拥有过多的Draw Calls,即在Unity引擎中,CPU每次备好数据并通知GPU进行渲染的过程。使用较少的Draw Calls来表现同样效果的场景是提高CPU运算速率的关键所在。然而对于GPU来说,它负责整个渲染的过程。所以GPU的限制一般是指Fill Rate(填充率)以及Memory Bandwidth(内存带宽)的大小,因此其主要的性能瓶颈与屏幕分辨率、处理的三角形面片以及顶点的数量等因素有关。

2.2 优化技术

以虚拟仿真校园为例,分别从三维模型的贴图材质以及虚拟场景的物体加载这两个方面对虚拟场景进行优化处理。

(1)纹理优化

纹理优化主要是对虚拟场景中的三维模型的材质贴图进行优化处理的一项技术。首先需要确保导入场景中的材质贴图的边长及像素均为2的整数次幂的长方形或正方形,有助于计算机能够快速地对图片的纹理进行采集,既能节省计算机的占用空间,又能提升计算机对图片纹理的计算速率。

在Unity的场景中,以肉眼看不出图片失真的前提下尽可能地降低图片的分辨率,既能减小原始图片的大小,提高模型的渲染速度,又可以降低内存的占用率以及CPU的计算量。以校园的车棚为例,对车棚的棚顶进行纹理优化,表2为不同的分辨率所对应的贴图图片的大小。

表2 贴图分辨率及大小对应表

图1 分辨率为512位的材质贴图效果

图2 分辨率为64位的材质贴图效果

从图片上可以看出,分辨率为64位的贴图与分辨率为512位的贴图在视觉效果上几乎看不出差别,但实际上64位的图片大小远远小于512位的图片,降低计算机的空间占有量的同时可以提升CPU与GPU对图片纹理的计算量。

(2)遮挡处理

除了对模型的材质贴图进行处理,还需要对虚拟场景当前视角中的模型加载进行优化处理,效果很好但技术难度也很高的方法是对场景添加遮挡剔除处理。遮挡剔除技术(Occlusion Culling)是用来判断当前物体是否被前方物体遮挡以及是否会遮挡住后方的物体,物体如若被遮挡,GPU则不会将其资源浪费在计算那些看不到的物体上,进而提升GPU的运算速率及效率。以男生宿舍四号楼为例,对四号楼楼体添加阴影遮挡剔除,则从当前视角对此楼体进行访问的时候可以不对楼体所遮挡住的后方物体进行加载。

其中,Batches是指三维模型使用网格绘制图像应用时对图形进行批处理之后的总数,数值越低,意味着CPU计算效率越高;Tris和Verts是指模型的三角形面片数目以及顶点数量;SetPass calls是指模型渲染时需要改变的次数,数值越小,CPU的计算开销就越小;Shadow Casters是指对物体的每一次进行阴影投射计算的数量,数值越大,GPU处理数据的效率就会越高。从上图可知,采用阴影遮挡技术能够有效的减少CPU与GPU对于图形的计算量,进而提升运行与运算效率。

但是此项技术的使用利弊参半,随着物体遮挡剔除的精度逐渐提升,计算机将需要耗费更多的资源对场景中的模型进行辨别,CPU与GPU的执行效率会随之降低。

图3 进行遮挡剔除之前的场景数据

图4 进行遮挡剔除之后的场景数据

对虚拟场景进行多次阴影遮挡的数据测试以求达到最优的阴影遮挡剔除的效果,主要对Smallest Oc⁃cluder(最小遮光板),Smallest Hole(最小的孔)进行数据修改,测试的数据如表2.2。其中Smallest Occluder表示最小的遮挡板的大小,大于或等于这个数据的物体都可以遮挡住其后方的物体;Smallest Hole是指将场景按照此数据进行分割并计算遮挡。

表3 遮挡剔除数据测试表

图5 进行遮挡计算的场景

图6 遮挡剔除后的场景

3 结语

使用上述技术对虚拟场景进行优化处理,将场景导出至单机端、网页端和移动端并进行性能测试,此时测试数据如下表。

表3 遮挡剔除及LOD技术优化后场景性能测试

据上表可知,使用上述方法对虚拟场景进行优化之后能够有效降低CPU、GPU以及内存的资源占有量以及导出文件的大小,同时还可以提升虚拟现实交互的实时性以及场景运行的流畅度,提供给用户较为真实的体验。

[1]骆明星.基于Web3D的成艺虚拟校史展览馆的设计与实现[D].电子科技大学,2015.

[2]庄春华,王普.虚拟现实技术及其应用[M].北京:电子工业出版社,2010:1-12.

[3]刘峻,范豪,孙宇,陆向艳,刘艳.结合边折叠和局部优化的网格简化算法[J].计算机应用,2016(02).[4]李春燕,刘少华.浅析几种三维模型格式导入Unity3D的途径[J].中国新技术新产品,2016(05).

[6]李俊军.基于Unity3D的室内建筑三维建模与交互系统实现[D].中国矿业大学,2014.

Abstract:

With the gradual expansion of the virtual reality scene size,the real-time interaction scenarios diminish,and then affect users'experience of browsing the virtual scene.Aiming at this problem,deeply studies the concept of Unity3D virtual reality scenes optimization technology,proposes five optimum direction.And on the basis,analyzes each optimum direction comprehensively,expounds its impact on the central processing unit and the graphics processing unit performance,makes optimization of great significance on improving real-time interaction of virtual reality.

Keywords:

Virtual Reality;Scene Optimization;Unity3D

Research on Virtual Scene Optimization Technologies Based on Texturing and Occlusion Culling Technology

LIU Wen1,GE Wen-xin2,MA Ying1
(1.Shandong University of Science and Technology,Jinan 250000;2.Shandong University of Science and Technology,Qingdao 266510)

2017-03-21

2017-06-20

1007-1423(2017)18-0012-04

10.3969/j.issn.1007-1423.2017.18.003

刘文(1996-),男,山东滕州人,本科,学生,研究方向为虚拟现实、机器学习

葛文馨(1994-),女,山东青岛人,本科,学生,研究方向为虚拟现实、人工智能

马颖(1995-),女,山东济南人,本科,学生,研究方向为软件工程

猜你喜欢
纹理分辨率内存
基于生成对抗网络的无监督图像超分辨率算法
基于BM3D的复杂纹理区域图像去噪
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
使用纹理叠加添加艺术画特效
原生VS最大那些混淆视听的“分辨率”概念
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!
内存搭配DDR4、DDR3L还是DDR3?
从600dpi到9600dpi