[发明专利]基于体素构建大规模复杂地形的方法及系统在审
申请号: | 201711308987.3 | 申请日: | 2017-12-11 |
公开(公告)号: | CN108010126A | 公开(公告)日: | 2018-05-08 |
发明(设计)人: | 游之鹏;朱博;陆利民 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | G06T17/05 | 分类号: | G06T17/05 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 卫麟 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 构建 大规模 复杂 地形 方法 系统 | ||
一种基于体素构建大规模复杂地形的方法及系统,将相邻的体素组合为分区块,在资源线程中以分区块为单位构建网格文件,将生成的网格文件直接供主线程调用。由于每个分区块中体素的资源数量有限,因此,可按照分区快速地实现地形构建。针对分区块边缘,本发明通过余数表技术和MarchingCube算法实现平滑转化,以实现更为理想的视觉效果。且,由于本发明中,终端按照分区块进行地形构建,因而,终端每一次的计算量也能够相应地降低,可有效解决现有技术在构建复杂地形时出现的卡顿问题。
技术领域
本发明涉及计算机图形构建领域,尤其涉及一种基于体素构建大规模复杂地形的方法及系统。
背景技术
现有的地形构建技术,通常使用高度场(height field)去表示地形。它所能展现出来的效果很局限:高度场中的每一个坐标点只能对应一个高度值,无法塑造出类似于穿山隧道、游历地心、建立空中之岛等包含有多种结构层次的复杂地形。基于该技术设计的游戏地形限制了用户体验,也阻碍了游戏玩法的创新。
为解决上述问题,体素(voxel)的概念进入开发者的眼球,并逐渐成为建构3D虚拟世界的可行方式。简单类比,“体素”类似于二维图像中“像素”概念的三维版本。在二维图像中,我们可使用颜色的二维数组表示一个影像(image);在三维中也可以用体素的三维数组表示一个栅格化的三维空间。其中的每个体素均储存一个密度值,表示该空间是空心的还是实心的。对于实心的体素,通过现有成熟的MarchingCube算法建立其网格(mesh),依据mesh对地形图像进行渲染,实现对复杂地形的构建。
但使用现有的基于体素构建地形的方法,在生成地形的时候,相对于传统的高度场生成方法,需要消耗更多资源,对平台性能的要求会高很多。由于平台性能有限,实时的、可编辑的3D虚拟客户端,在使用这种方法构建地形时会出现卡顿,影响用户体验。
因此,为了支持多层次复杂地形,同时解决客户端进行地形渲染时的卡顿问题,目前急需一种基于体素的能够高效构建大规模复杂地形的技术。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种基于大数据的实时风险控制方法及系统。
首先,为实现上述目的,提出一种基于体素的地形构建方法,包括以下步骤:
第一步,遍历体素数据,将空间位置相邻的体素组合为一个分区块(chunk),标记每一个分区块的索引号和位置坐标;
第二步,计算当前视野范围,确定当前视野范围所包含的分区块;
第三步,遍历当前视野范围所包含的分区块,对所述每个分区块,计算该分区块内的体素数据发生突变的顶点,根据所述顶点建立该分区块所对应的网格(mesh)文件;
第四步,遍历所述第三步中建立的所述网格文件,根据所述网格文件进行渲染。
进一步,上述方法的所述第二步中,还为当前视野范围所包含的分区块建立余数表;
在所述当前视野范围发生分区块级别的变更时(即某一分区块移出当前视野范围,其他分区块相应地移入当前视野范围),以新出现在当前视野范围的所述分区块替换所述余数表中从当前视野范围内消失的分区块
进一步,上述方法的所述第三步中,遍历当前视野范围所包含的分区块的顺序为:分区块与视野起点之间的距离越近的越先加载,分区块与视野起点之间的距离越远的越后加载;
所述分区块与视野起点之间的距离为所述分区块位置坐标与所述视野起点对应坐标之间的直线距离。
进一步,上述方法的所述第三步中,还包括查找已存储的所述网格文件的步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711308987.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种核电宝及其非能动余热排出系统
- 下一篇:一种绿色健康的肉鸭饲料