基于体素地形的优化研究

基于体素地形的优化研究吴刚摘要:在充分认识体素的基本概念和基于体素地形表达的特点上,结合UE4分析了体素地形对于三维地形的构建带来的影响及体素地形构建过程中的优化分析。通过对体素建模过程中出现的一些问题,提出相应的解决方案。关键词:体素;虚拟地形;UnrealEngine;三维建模:TB:Adoi:10.19311/j.cnki.1672-3198.2019.10.079三维地形可视化是对现实世界中的自然地理环境的表达和模拟,以期望用计算机的方式来表达和模拟现实世界,即现在常说的虚拟现实。构建和表达地形的方式多种多样,可以通过使用一些工具来完成建模,如UnityEngine、UE4、CryEngine等。三维地形的实现方式各有不同,从其模型构建的本质上可分为两类:基于多边形的面模型和基于体素的体模型。大多数的三维地形采用的是基于多边形的面模型来建模,如三角形网格模型。对于一些简单的地形环境,使用面模型来建模往往可以达到比较好的可视化效果,并且基于面模型的三维可视化技术比较成熟,有许多的优化手段和解决方案,如LOD层次细节模型。面模型可视化方法在表现洞穴,拱桥和垂壁等复杂地形的时候,有很大的缺陷,如效率低、表现不好,并且难以实现地形体数据的表达和实时编辑,尤其在地理空间变化的模拟上(如侵蚀现象),表现效果不佳。基于体素的体模型在地形可视化方向的应用晚于面模型,基于其在复杂地理空间中的较好表现效果,和其在游戏场景中有着重要的作用,现在越来越多的引起人们的关注。三维游戏世界场景广泛使用三角形网格模型(3Dtrianglemesh)构建,包括地形、建筑、植被以及其他静态物件。一些以自然环境为主的游戏,如大部分RPG、MOBA类型游戏,会使用到高度场(heightfield)去表示地形;一些室内游戏,如FPS、TPS、ACT等,会使用构造实体几何(constructsolidgeometry,CSG)技术去构建基本的室内环境(也可以称为BSP/binaryspacepartitioning笔刷)。以上这些制作方式各有优缺点,面模型是合乎当代硬件的游戏世界表示方式,也是较自由的建模方式,并有成熟的数字创作工具如3dsMax和Maya。面模型建模的缺點有建模成本高、只有表面表示方式,无法判断是否在其内部,并且不容易修改,不容易做连续或离散级数的细致程度(levelofdetail,LOD)等。这时随着开放世界类型游戏的出现,体素(voxel)开始越来越被人们所熟知。1体素的概念和特点Wikipedia给出Voxel的定义为“Voxel(体素,更准确地说是测定体积的像素)是一个体积像素,用来表示三维空间中规则格网的值。类似于二维空间中用来表示二维图像数据的像素。”每个体素使用一个比特来进行存储,表示该空间是实心还是空心,这种二元体素(BinaryVoxel)虽然是最简单的体素形式,但它还可以存储其他属性。例如在《我的世界》中的体素会存储空间中的材质(泥土、石头、水等)。体素地形库(DatabaseBlock)是体素管理的基本单位,所有的体素是在体素地形库中生成。构建地形需要的体素数据为地形的绘制、地形的AO、地形的碰撞、地表的植被、地形的修改。2地形系统的构建及改进2.1根据需求构建地形系统首先定义可视范围,对可视范围内的地形进行渲染,以体素地形库(DatabaseBlock)为单位,管理地形。然后每帧查询可视范围内的DatabaseBlock,如果发现DatabaseBlock对应的Mesh不存在(即没有被渲染),则从体素地形库中获取DatabaseBlock中对应的体素数据,根据体素数据构建渲染模型(RenderMesh)进行渲染,再构建碰撞模型(CollisionMesh),用于进行碰撞检测,同时根据体素可以生成植被等渲染信息。当地形库中的体素数据发生修改的时候,需要体素地形库通知地形系统,重新获取体素数据,进行模型的构建和渲染。2.2当前体素地形存在的问题系统运行时会出现运行时卡顿,地形范围不能太大,地形的AO不能影响地形上其他的模型(Mesh)等。2.3出现的问题类型(1)DrawCall数量太多。由于针对每个RenderBlock进行Mesh的提取,每个类型的体素都对应一个或者多个不同类型的材质(最多为6个),复杂的体素类型导致了超多的材质,从而使得DrawCall数量暴增。可简化为公式:每个体素需要六种材质*体素的类型数(200)=总共需求的材质种类(120...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?