[发明专利]一种体素地形的管理方法有效
申请号: | 201811377066.7 | 申请日: | 2018-11-19 |
公开(公告)号: | CN109745704B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 郭嵩;吕文伟 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | A63F13/52 | 分类号: | A63F13/52;A63F13/60;G06T15/04;G06T15/50;G06T15/20 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 地形 管理 方法 | ||
本发明提供一种体素地形的管理方法,包括以下步骤:1)选择构建地形,计算地形的环境光遮蔽信息并将其存储到3D纹理中,对环境光遮蔽进行处理;2)使用立方体表面提取算法以及GreedyMeshing算法,对碰撞网格进行处理;3)使用二叉树将静态网格进行实例化。本发明通过使用简化的环境光遮蔽算法保证了计算环境光遮蔽的执行效率,通过使用简单的立方体表面提取算法保证了提取网格的高效性,使用二叉树进行管理实例化的静态网格,提高了视锥剔除的效率。
技术领域
本发明涉及游戏引擎开发技术领域,特别涉及一种基于体素地形系统环境光遮蔽、碰撞模型以及实例化静态模型管理的方法。
背景技术
目前,随着游戏《我的世界》的火热,基于体素地形的游戏也变得越来越流行。由于其本身所拥有的可定制、可扩展性,使得它更是游戏玩家所追逐的对象。
由于基于体素地形的复杂性,导致如何高效的管理体素地形变得异常的复杂。目前,已经能够管理并且绘制超大的地形系统。对于游戏来说,仅仅地形并不是游戏的全部,游戏中地形系统周边的模块也非常重要,比如附着于地形上的植被、宝箱等。在渲染效果方面,由于地形的可编辑性,游戏中地形的环境光遮蔽需要实时的计算,如何高效的计算地形的环境光遮蔽也是比较棘手的问题。最后,游戏中还有一个重要的内容——碰撞检测,对于当前的背景下,大部分游戏都会选择使用物理引擎来进行碰撞检测的计算,使用物理引擎来进行碰撞检测,需要我们首先构建出碰撞模型,然而由于地形的可编辑性,如何在编辑完地形后快速的构建出碰撞模型,在物理引擎中使用,也给我们带来了一个不小的挑战。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种体素地形的管理方法,通过使用简化的环境光遮蔽算法保证了计算环境光遮蔽的执行效率,通过使用简单的立方体表面提取算法保证了提取网格的高效性,使用二叉树进行管理实例化的静态网格,提高了视锥剔除的效率。
为实现上述目的,本发明提供的体素地形的管理方法,包括以下步骤:
1)选择构建地形,计算地形的环境光遮蔽信息并将其存储到3D纹理中,对环境光遮蔽进行处理;
2)使用立方体表面提取算法以及GreedyMeshing算法,对碰撞网格进行处理;
3)使用二叉树将静态网格进行实例化。
进一步地,步骤1)所述计算地形的环境光遮蔽信息,是采用当前体素上方,且在指定的半径范围内的实心体素对当前体素所在位置的环境光遮蔽产生影响的方法,计算环境光遮蔽信息;遍历所有的体素,计算出当前位置的环境光遮蔽信息。
进一步地,步骤1)所述将环境光遮蔽信息存储到3D纹理,是使用两个3D纹理,一个作为写缓存,另一个作为读缓存。
进一步地,所述步骤2)进一步包括,遍历所有体素,对同步范围内的碰撞网格采用立方体表面提取算法对其进行提取。
进一步地,所述步骤2)进一步包括以下步骤:
51)使用异步并行机制提取碰撞网格;
52)使用GreedyMeshing算法进行冗余三角形的删除;
53)将碰撞网格的数据Cook为物理引擎使用的数据;
54)将可视范围内的碰撞网格传入物理引擎,进行碰撞检测的计算。
进一步地,所述步骤3)进一步包括以下步骤:
61)对空间进行分割,构建二叉树;
62)使用紧凑型的遮挡测试;
63)使用二叉树的深度优先遍历,提前检测出需要裁剪的节点,减少提交的网格数量;
64)使用优先PlainNode的方式进行构建。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811377066.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自适应加速方法、装置及存储介质
- 下一篇:2d游戏地图编辑方法及装置