[发明专利]游戏场景的数据处理方法、装置、设备及可读存储介质有效
申请号: | 201910779652.2 | 申请日: | 2019-08-22 |
公开(公告)号: | CN110368694B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 林云龙 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | A63F13/60 | 分类号: | A63F13/60;A63F13/52 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 柴海平;刘芳 |
地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 场景 数据处理 方法 装置 设备 可读 存储 介质 | ||
1.一种游戏场景的数据处理方法,其特征在于,包括:
对游戏场景中待处理的多个模型进行贴图合并;
计算所述多个模型的包围盒,并对所述多个模型进行体素化预处理,得到所述多个模型的体素数据;
根据所述多个模型的体素数据,确定所述多个模型中的冗余面;
将所述多个模型中的冗余面剔除;
所述根据所述多个模型的体素数据,确定所述多个模型中的冗余面,包括:
分别将所述多个模型中的每个模型作为目标模型,对所述目标模型进行以下冗余面识别处理,确定所述目标模型中的冗余面:
对于所述多个模型中除所述目标模型之外的其他模型,判断所述目标模型和其他模型的包围盒是否有交叉;
如果所述目标模型和其他模型的包围盒有交叉,则根据所述其他模型的体素数据,判断所述目标模型中的每个顶点是否在其他模型的内部,将在其他模型内部的顶点确定为所述目标模型的不可见顶点;
根据确定的所述目标模型的不可见顶点,确定所述目标模型中三个顶点均为不可见顶点的三角面片为所述目标模型中的冗余面。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个模型中的冗余面剔除之后,还包括:
对所述多个模型进行聚类,将同一聚类中的模型进行网格合并。
3.根据权利要求2所述的方法,其特征在于,分别将所述多个模型中的每个模型作为目标模型,对所述目标模型进行冗余面识别处理,确定所述目标模型中的冗余面,包括:
分别将所述多个模型中的每个模型作为目标模型,复制所述目标模型得到所述目标模型的副本模型;
对所述目标模型的副本模型进行所述冗余面识别处理,确定所述目标模型中的冗余面。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述计算所述多个模型的包围盒,并对所述多个模型进行体素化预处理,得到所述多个模型的体素数据,包括:
计算所述多个模型的AABB包围盒;
用三维数组表示各所述模型的AABB包围盒,得到该模型的体素数组;
对所述体素数组中体素的位置进行标记,其中体素的位置包括模型的内部、模型的外部和模型的边缘。
5.根据权利要求2所述的方法,其特征在于,所述将同一聚类中的模型进行网格合并,包括:
根据合并前各模型的旋转矩阵和模型变换矩阵,对所述合并前各模型的原始顶点数据进行处理,得到新顶点数据。
6.根据权利要求5所述的方法,其特征在于,所述根据合并前各模型的旋转矩阵和模型变换矩阵,对所述合并前各模型的原始顶点数据进行处理,得到新顶点数据,包括:
新顶点坐标=原始顶点坐标*模型变换矩阵;
新法线=原始法线*旋转矩阵;
新切线=原始切线*旋转矩阵;
新副法线=原始副法线*旋转矩阵。
7.一种游戏场景的数据处理装置,其特征在于,包括:
网格合并模块,用于对游戏场景中待处理的多个模型进行贴图合并;
冗余面剔除模块,用于:计算所述多个模型的包围盒,并对所述多个模型进行体素化预处理,得到所述多个模型的体素数据;根据所述多个模型的体素数据,确定所述多个模型中的冗余面;将所述多个模型中的冗余面剔除;
所述冗余面剔除模块还用于:
分别将多个模型中的每个模型作为目标模型,对目标模型进行以下冗余面识别处理,确定目标模型中的冗余面:对于多个模型中除目标模型之外的其他模型,判断目标模型和其他模型的包围盒是否有交叉;如果目标模型和其他模型的包围盒有交叉,则根据其他模型的体素数据,判断目标模型中的每个顶点是否在其他模型的内部,将在其他模型内部的顶点确定为目标模型的不可见顶点;根据确定的目标模型的不可见顶点,确定目标模型中三个顶点均为不可见顶点的三角面片为目标模型中的冗余面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910779652.2/1.html,转载请声明来源钻瓜专利网。