CN109359224B - 一种材质的数据处理方法、装置、电子设备及存储介质 - Google Patents

一种材质的数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109359224B
CN109359224B CN201811222247.2A CN201811222247A CN109359224B CN 109359224 B CN109359224 B CN 109359224B CN 201811222247 A CN201811222247 A CN 201811222247A CN 109359224 B CN109359224 B CN 109359224B
Authority
CN
China
Prior art keywords
grid
array
attribute
attributes
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811222247.2A
Other languages
English (en)
Other versions
CN109359224A (zh
Inventor
赵博强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Xishanju Interactive Entertainment Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Xishanju Interactive Entertainment Technology Co ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Xishanju Interactive Entertainment Technology Co ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Xishanju Interactive Entertainment Technology Co ltd
Priority to CN201811222247.2A priority Critical patent/CN109359224B/zh
Publication of CN109359224A publication Critical patent/CN109359224A/zh
Application granted granted Critical
Publication of CN109359224B publication Critical patent/CN109359224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种材质的数据处理方法、装置、电子设备及存储介质,所述方法包括:获取预设材质的网格模型中各个网格的网格属性;根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组。第一网格属性数组是用于表示预设材质的多维的数组,基于各个网格属性在该数组中的位置,即可构建对应的材质。当需要修改材质时,只需要修改网格模型和/或网格的网格属性,相比于现有技术,不需要修改生成材质的程序,修改过程得到简化。

Description

一种材质的数据处理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,特别是涉及一种材质的数据处理方法、装置、电子设备及存储介质。
背景技术
简单来说,材质就是物体看起来的质地,可以看成是材料和质感的结合。具体的,在渲染程序中,材质是各可视属性的结合,这些可视属性可以包括:色彩、纹理、光滑度、透明度、反射率、折射率和发光度等,但不限于此。目前,多是通过在基本纹理上通过多种材质贴图来实现材质的,即实现材质具有不同的可视属性,材质贴图在计算机图形学中是把存储在内存里的位图包裹到渲染物体的表面,纹理给渲染物体提供了丰富的细节。
然而,基于纹理和材质贴图来实现的材质,当需要修改材质时,必须对纹理和材质贴图的相关生成程序进行修改,修改过程较为复杂。
发明内容
本发明实施例的目的在于提供一种材质的数据处理方法、装置、电子设备及存储介质,以简化修改材质的过程。具体技术方案如下:
第一方面,本发明实施例提供了一种材质的数据处理方法,所述方法包括:
获取预设材质的网格模型中各个网格的网格属性;
根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组。
可选的,所述获取预设材质的网格模型中各个网格的网格属性的步骤,包括:
接收用户输入的预设材质的网格模型的尺寸,以及所述预设材质的属性;
根据所述网格模型的尺寸,确定网格模型;
根据所述预设材质的属性,获取所述网格模型中各个网格的网格属性。
可选的,所述方法还包括:
根据所述第一网格属性数组,获取网格属性集合;
将所述网格属性集合中的各个网格属性排列成一维的第二网格属性数组;
根据所述第二网格属性数组中各个网格属性的排列位置,确定所述第二网格属性数组中各个网格属性的索引;
根据所确定的各个网格属性的索引,以及所述第一网格属性数组,生成多维的索引数组。
可选的,所述方法还包括:
基于预设的构建树形数据结构的算法对所述多维的索引数组处理,生成树状的索引数组。
可选的,所述方法还包括:
将所述树状的索引数组中,具有相同索引的子节点进行删除处理,并将所述子节点对应的索引保存在所述子节点对应的树节点中,获得压缩的树状的索引数组。
可选的,所述第一网格属性数组为立方体型的数组,且每个维度的网格属性的数量为2的幂;
所述构建树形数据结构的算法为八叉树算法。
可选的,所述根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组,包括:
根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示预设材质的多维的第三网格属性数组,所述第三网格属性数组由组成所述预设材质的各个网格的网格属性组成;
判断所述第三网格属性数组是否为立方体型的且每个维度的网格属性的数量为2的幂的数组;
如果是,将所述第三网格属性数组作为所述第一网格属性数组;
如果否,在所述第三网格属性数组中增加预设的网格属性,以形成立方体型的且每个维度的网格属性的数量为2的幂的数组,将形成的数组作为所述第一网格属性数组。
可选的,所述方法还包括:
获取位置信息;
根据位置信息,查找所述索引数组,确定所述位置信息对应的索引;
根据所述位置信息对应的索引,确定该索引对应的网格属性。
第二方面,本发明实施例提供了一种材质的数据处理装置,所述装置包括:
第一获取模块,用于获取预设材质的网格模型中各个网格的网格属性;
第一生成模块,用于根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组。
可选的,所述第一获取模块具体用于:
接收用户输入的预设材质的网格模型的尺寸,以及所述预设材质的属性;
根据所述网格模型的尺寸,确定网格模型;
根据所述预设材质的属性,获取所述网格模型中各个网格的网格属性。
可选的,所述装置还包括:
第二获取模块,用于根据所述第一网格属性数组,获取网格属性集合;
排列模块,用于将所述网格属性集合中的各个网格属性排列成一维的第二网格属性数组;
第一确定模块,用于根据所述第二网格属性数组中各个网格属性的排列位置,确定所述第二网格属性数组中各个网格属性的索引;
第二生成模块,用于根据所确定的各个网格属性的索引,以及所述第一网格属性数组,生成多维的索引数组。
可选的,所述装置还包括:
第三生成模块,用于基于预设的构建树形数据结构的算法对所述多维的索引数组处理,生成树状的索引数组。
可选的,所述装置还包括:
获取模块,用于将所述树状的索引数组中,具有相同索引的子节点进行删除处理,并将所述子节点对应的索引保存在所述子节点对应的树节点中,获得压缩的树状的索引数组。
可选的,所述第一网格属性数组为立方体型的数组,且每个维度的网格属性的数量为2的幂;
所述构建树形数据结构的算法为八叉树算法。
可选的,所述第一生成模块,具体用于:
根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示预设材质的多维的第三网格属性数组,所述第三网格属性数组由组成所述预设材质的各个网格的网格属性组成;
判断所述第三网格属性数组是否为立方体型的且每个维度的网格属性的数量为2的幂的数组;
如果是,将所述第三网格属性数组作为所述第一网格属性数组;
如果否,在所述第三网格属性数组中增加预设的网格属性,以形成立方体型的且每个维度的网格属性的数量为2的幂的数组,将形成的数组作为所述第一网格属性数组。
可选的,所述装置还包括:
第三获取模块,用于获取位置信息;
第二确定模块,用于根据位置信息,查找所述索引数组,确定所述位置信息对应的索引;
第三确定模块,用于根据所述位置信息对应的索引,确定该索引对应的网格属性。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
本发明实施例提供了一种材质的数据处理方法、装置、电子设备及存储介质,第一网格属性数组是用于表示预设材质的多维的数组,基于各个网格属性在该数组中的位置,即可构建对应的材质。当需要修改材质时,只需要修改网格模型和/或网格的网格属性,相比于现有技术,不需要修改生成材质的程序,修改过程得到简化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为网格模型的结构示意图;
图2为本发明实施例提供的材质的数据处理方法的第一种流程示意图;
图3为本发明实施例提供的材质的数据处理方法的第二种流程示意图;
图4为本发明实施例提供的材质的数据处理方法的第一种装置示意图;
图5为本发明实施例提供的材质的数据处理方法的第二种装置示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,基于纹理和材质贴图来实现的材质,当需要修改材质时,必须对纹理和材质贴图的相关生成程序进行修改,修改过程较为复杂。为了解决该技术问题,本发明实施例提供了一种材质的数据处理方法、装置、电子设备及存储介质。
本发明实施例中涉及的预设材质可以为二维材质,也可以为三维材质,下面将以三维材质为例对本发明实施例进行详细介绍。
参照图2,本发明实施例提供的材质的数据处理方法包括如下步骤:
S201、获取预设材质的网格模型中各个网格的网格属性。
预设材质的网格模型可以通过各个网格的位置,以及网格的数量来表示或确定。网格属性是用来表示网格材质的属性,可以包括:材料、色彩、纹理、光滑度、透明度、反射率、折射率或发光度等,但不限于此。当然,具体的网格属性也可以表示空,也就是说表示对应的网格没有材质数据。
预设材质为三维材质时,网格模型是三维的,对应网格为三维的网格,可以为四面体、立方体、长方体或棱柱等形式的网格,但不限于此。另外,网格为立方体时,也可以称为体素,如图1所示,图1中的任一个立方体都是一个体素。
在其他实施方式中,预设材质为二维材质时,网格模型是二维的,对应的网格为二维的网格,具体可以为三角形、四边形、五边形或六边形等形式的网格,但不限于此。
具体的,本步骤可以通过以下方式实现:
(1)、接收用户输入的预设材质的网格模型的尺寸,以及预设材质的属性。
网络模型的尺寸可以包括网络模型的长宽高,长宽高具体是对应边的网格的数量,例如,网格模型的长宽高均是16个网格,或分别是8、9和10个网格。
材质的属性可以包括:材料、色彩、纹理、光滑度、透明度、反射率、折射率或发光度等,但不限于此。材质的属性可以为具体的属性值,例如,材质的颜色属性为红色,材质的材料属性为折射率。当然,材质的属性也可以为属性值的范围,例如,材料的颜色属性为从底至上的渐变范围RGB(0,255,210)~RGB(0,255,240),材料的透明度沿预设的X轴从最小位置至最大位置的渐变范围为(10%~70%)。
(2)、根据网格模型的尺寸,确定网格模型。
在网格模型的长宽高确定的情况下,网格的数量和网格相对位置就确定了,从而就可以确定网格模型,例如,网格模型的尺寸为长宽高均为16个网格,则可以确定一个16×16×16的立方体型的网格模型。
本实施方式中,直接采用各个网格的相对位置来确定各个网格的位置是也可以的,当然,在其他实施方式中,也可以为网格模型设置一个默认的定位坐标,或输入一个定位坐标,以使网格模型的各个网格具有绝对的位置。
(3)、根据预设材质的属性,获取网格模型中各个网格的网格属性。
将预设材质的属性填充到网格模型,就可以确定出各个网格的网格属性,例如,网格A的网格属性包括:颜色RGB(54,255,210),材料:玻璃,透明度:10%,波浪高度:厚度的10%。可以通过过程化程序算法,根据预设材质的属性,获取网格模型中各个网格的网格属性。例如,根据材质的颜色范围,网格的坐标,以及连续随机算法,就可以获取各个网格的网格属性。
再例如,一个网格的网格属性采用表一的形式记录,具体为表一中的内容,在春夏秋冬四个季节分别使用不同的颜色来构建树叶的颜色,在换季时,只需要根据季节过渡值(0.0-1.0)以及生命周期过渡值(0.0-1.0),就可以依据表一中的相邻两个季节的颜色插值获得一个最终颜色,如春季和夏季之间的时间,通过插值可以获得一个从嫩绿色到深绿色过渡的中间颜色值。
表一
季节
出生颜色 嫩绿色 深绿色 黄色 红色
死亡颜色 黄色 深黄色 黄褐色 褐色
S202、根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组。
将各个网格属性按照对应网格的相对位置排列,就可以生成一个表示预设材质的多维的第一网格属性数组。
预设材质为三维材质时,第一网格属性数组为三维的数组,第一网格属性数组可以是用于程序过程化生成、编辑的序列化形式。三维的网格模型中的每个网格均对应一个位置和一个网格属性,根据预设材质对应的三维网格中各个网格的位置,以及各个网格的网格属性,可以确定一个三维的第一网格属性数组。
应用图2所示的实施例,第一网格属性数组是用于表示预设材质的多维的数组,基于各个网格属性在该数组中的位置,即可构建对应的材质。当需要修改材质时,只需要修改网格模型和/或网格的网格属性,相比于现有技术,不需要修改生成材质的程序,修改过程得到简化。
参照图3,本发明实施例提供的材质的数据处理方法包括如下步骤:
S301、根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组。
S302、获取预设材质的网格模型中各个网格的网格属性。
S301和S302分别与上述S201和S202相同,S301和S302的相关解释可以对应参照上述S201和S202的解释。
S303、根据第一网格属性数组,获取网格属性集合。
获取网格属性集合的过程中,网格属性集合中不会出现两个相同的网格属性,所以通过这个步骤也就可以将第一网格属性数组中的网格属性进行排重处理,针对重复的网格属性,只保留一个,例如,第一网格属性数组中包括5个A,4个B,则在网格属性集合中只保留一个A和一个B。
S304、将网格属性集合中的各个网格属性排列成一维的第二网格属性数组。
本步骤中可以按照随机的方式来排列组合各个网格属性,当然,可以按照预设的排列算法来排列组合各个网格属性。例如,网格的网格属性中包括网格的RGB值,为了使第二网格属性数组更具条理性,也更便于对该数组中数据的操作,可以按照各个网格属性中R值从大到小或从小到大的顺序来排列各个网格属性。
S305、根据第二网格属性数组中各个网格属性的排列位置,确定第二网格属性数组中各个网格属性的索引。
通过排列位置可以确定索引,反过来,通过索引也可以找到网格属性的排列位置,从而可以找到网格属性。例如,第二网格属性数组中包括从左至右依次排列的网格属性A、网格属性B、网格属性C和网格属性D,则可以确定网格属性A对应的索引为1,网格属性B对应的索引为2,网格属性C对应的索引为3,网格属性D对应的索引为4。
S306、根据所确定的各个网格属性的索引,以及第一网格属性数组,生成多维的索引数组。
应用图3实施例,由于索引的数据量相对于网格属性的数据量要小的多,而且,一维的第二网格属性数组,相比于多维的第一网格属性数组进行了去重处理。所以相比于采用多维的第一网格属性数组来存储材质,通过采用多维的第一网格属性数组,以及多维的索引数组来存储材质,可以节约存储空间。
本发明实施例的一种实施方式中,该数据处理方法还包括:
基于预设的构建树形数据结构的算法对多维的索引数组处理,生成树状的索引数组。在具体应用时,从树状的索引数组中查找索引,可以按照树状的结构从上之下依次查找,从而可以提高查找效率。预设材质为三维材质时,多维的索引数组可以为三维的索引数组,预设材质为二维材质时,多维的索引数组可以为二维的索引数组。
示例性的,第一网格属性数组可以为立方体型的数组,且每个维度的网格属性的数量为2的幂;构建树形数据结构的算法为八叉树算法。
示例性的,第一网格属性数组可以为立方体型的数组,且每个维度的网格属性的数量为64,利用构建树形数据结构的算法对三维的索引数组处理,生成树状的索引数组即索引八叉树。具体可以采用以下方式实现:首先,构建索引八叉树的根节点。根节点的中心点为多维的索引数组中的中心点,边长三维的索引数组的边长4。然后,递归构建根节点以外的索引八叉树的子节点,从根节点递归构建索引八叉树,每级递归会切分成2×2×2共8个索引八叉树子节点,每个子节点的中心点左右为索引八叉树父节点的中心点依序X,Y,Z分别偏移-1,0,1,一个单位可以为一个网格属性,边长为父节点的一半。
当然,在其他实施方式中,如果预设材质为三维材质,构建树形数据结构的算法也可以为KD树算法,其中,KD树是一种查询索引结构,广泛应用于数据库索引中。如果预设材质为二维材质,第一网格属性数组为正方形的数组,且每个维度的网格属性的数量为2的幂,则构建树形数据结构的算法可以为四叉树算法。
具体实施时,根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组,包括:
根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第三网格属性数组,第三网格属性数组由组成预设材质的各个网格的网格属性组成;
判断第三网格属性数组是否为立方体型的且每个维度的网格属性的数量为2的幂的数组;
如果是,将第三网格属性数组作为第一网格属性数组;
如果否,在第三网格属性数组中增加预设的网格属性,以形成立方体型的且每个维度的网格属性的数量为2的幂的数组,将形成的数组作为第一网格属性数组。其中,预设的网格属性可以为表示对应网格属性为空的属性,例如,可以用0表示。
示例性的,如果第三网格属性数组的长宽高分别是2、5和9个网格属性,9为最大值,比9大且为2的幂的最小数为16,在第三网格属性数组增加表示空的网格属性,就可以将第三网格属性数组转化成立方体型的网格属性数组,即可以将转化后的第三网格属性数组作为第一网格属性数组。
采用上述方式就可以获得一个立方体型的第一网格属性数组,从而便于采用八叉树或四叉树算法来生成树状的索引数组。
进一步的,将树状的索引数组中,具有相同索引的子节点进行删除处理,并将子节点对应的索引保存在子节点对应的树节点中,获得压缩的树状的索引数组。通过这种方式可以进一步降低索引数组的数据量,从而可以进一步节约存储空间。
示例性的,第一网格属性数组可以为立方体型的数组,且每个维度的网格属性的数量为64,利用构建树形数据结构的算法对三维的索引数组处理,生成树状的索引数组即索引八叉树。具体可以采用以下方式实现:首先,构建索引八叉树的根节点。根节点的中心点为多维的索引数组中的中心点,边长三维的索引数组的边长4。然后,递归构建根节点以为的索引八叉树的子节点,从根节点递归构建索引八叉树,每级递归会切分成2×2×2共8个索引八叉树子节点,每个子节点的中心点左右为索引八叉树父节点的中心点依序X,Y,Z分别偏移-1,0,1,一个单位可以为一个网格属性,边长为父节点的一半。基于所获得索引八叉树,还可以按照以下方式进行压缩:递归合并索引八叉树中的子节点,通过深度优先算法,从索引八叉树最末端节点开始,合并具有8个相同索引的子节点,把符合该条件的索引八叉树子节点的索引保存到索引八叉树的树节点上。
本发明实施例的一种实施方式中,该数据处理方法还包括:
获取位置信息;
根据位置信息,查找索引数组,确定位置信息对应的索引;
根据位置信息对应的索引,确定该索引对应的网格属性。
具体应用时,基于上述获得的材质的数据,根据位置信息就可以查找到对应的网格属性,从而可以构建成对应的材质。
需要说明的是,本文中所采用的位置信息或坐标,可以采用相对的位置信息或坐标,也可以采用基于预设坐标系的绝对的位置信息或坐标。
基于上述图2所示的实施例,本发明实施例还提供了一种材质的数据处理装置,参照图4,该装置包括:
第一获取模块41,用于获取预设材质的网格模型中各个网格的网格属性;
第一生成模块42,用于根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组。
应用图4所示的实施例,第一网格属性数组是用于表示预设材质的多维的数组,基于各个网格属性在该数组中的位置,即可构建对应的材质。当需要修改材质时,只需要修改网格模型和/或网格的网格属性,相比于现有技术,不需要修改生成材质的程序,修改过程得到简化。
本发明实施例的一种实施方式中,第一获取模块41具体用于:
接收用户输入的预设材质的网格模型的尺寸,以及预设材质的属性;
根据网格模型的尺寸,确定网格模型;
根据预设材质的属性,获取网格模型中各个网格的网格属性。
基于图3所示实施例,本发明实施例还提供了一种材质的数据处理装置,参照图5,该装置包括:
第一获取模块51,用于获取预设材质的网格模型中各个网格的网格属性,与图4所示实施例中的第一获取模块41相同。
第一生成模块52,用于根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组,与图4所示实施例中的第一获取模块42相同。
第二获取模块53,用于根据第一网格属性数组,获取网格属性集合;
排列模块54,用于将网格属性集合中的各个网格属性排列成一维的第二网格属性数组;
第一确定模块55,用于根据第二网格属性数组中各个网格属性的排列位置,确定第二网格属性数组中各个网格属性的索引;
第二生成模块56,用于根据所确定的各个网格属性的索引,以及第一网格属性数组,生成多维的索引数组。
应用图5实施例,由于索引的数据量相对于网格属性的数据量要小的多,而且,一维的第二网格属性数组,相比于多维的第一网格属性数组进行了去重处理。所以相比于采用多维的第一网格属性数组来存储材质,通过采用多维的第一网格属性数组,以及多维的索引数组来存储材质,可以节约存储空间。
本发明实施例的一种实施方式中,该装置还包括:
第三生成模块,用于基于预设的构建树形数据结构的算法对多维的索引数组处理,生成树状的索引数组。
本发明实施例的一种实施方式中,该装置还包括:
获取模块,用于将树状的索引数组中,具有相同索引的子节点进行删除处理,并将子节点对应的索引保存在子节点对应的树节点中,获得压缩的树状的索引数组。
本发明实施例的一种实施方式中,第一网格属性数组为立方体型的数组,且每个维度的网格属性的数量为2的幂;
构建树形数据结构的算法为八叉树算法。
本发明实施例的一种实施方式中,第一生成模块42,具体用于:
根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第三网格属性数组,第三网格属性数组由组成预设材质的各个网格的网格属性组成;
判断第三网格属性数组是否为立方体型的且每个维度的网格属性的数量为2的幂的数组;
如果是,将第三网格属性数组作为第一网格属性数组;
如果否,在第三网格属性数组中增加预设的网格属性,以形成立方体型的且每个维度的网格属性的数量为2的幂的数组,将形成的数组作为第一网格属性数组。
本发明实施例的一种实施方式中,该装置还包括:
第三获取模块,用于获取位置信息;
第二确定模块,用于根据位置信息,查找索引数组,确定位置信息对应的索引;
第三确定模块,用于根据位置信息对应的索引,确定该索引对应的网格属性。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信,
存储器63,用于存放计算机程序;
处理器61,用于执行存储器63上所存放的程序时,实现如下步骤:
获取预设材质的网格模型中各个网格的网格属性;
根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组。
或:
获取预设材质的网格模型中各个网格的网格属性;
根据网格模型,以及网格模型中各个网格的网格属性,生成表示预设材质的多维的第一网格属性数组;
根据第一网格属性数组,获取网格属性集合;
将网格属性集合中的各个网格属性排列成一维的第二网格属性数组;
根据第二网格属性数组中各个网格属性的排列位置,确定第二网格属性数组中各个网格属性的索引;
根据所确定的各个网格属性的索引,以及第一网格属性数组,生成多维的索引数组。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图2和3所示的方法实施例,在此不做赘述。
另外,处理器61执行存储器63上所存放的程序而实现的应用设置方法的其他实现方式,与前述方法实施例部分所提及的实现方式相同,这里也不再赘述。
应用本发明实施例提供的电子设备,第一网格属性数组是用于表示预设材质的多维的数组,基于各个网格属性在该数组中的位置,即可构建对应的材质。当需要修改材质时,只需要修改网格模型和/或网格的网格属性,相比于现有技术,不需要修改生成材质的程序,修改过程得到简化。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的材质的数据处理方法。
通过运行本发明实施例提供的计算机程序产品,第一网格属性数组是用于表示预设材质的多维的数组,基于各个网格属性在该数组中的位置,即可构建对应的材质。当需要修改材质时,只需要修改网格模型和/或网格的网格属性,相比于现有技术,不需要修改生成材质的程序,修改过程得到简化。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、电子设备以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种材质的数据处理方法,其特征在于,所述方法包括:
获取预设材质的网格模型中各个网格的网格属性;
根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组;
根据所述第一网格属性数组,获取网格属性集合;
将所述网格属性集合中的各个网格属性排列成一维的第二网格属性数组;
根据所述第二网格属性数组中各个网格属性的排列位置,确定所述第二网格属性数组中各个网格属性的索引;
根据所确定的各个网格属性的索引,以及所述第一网格属性数组,生成多维的索引数组;
基于预设的构建树形数据结构的算法对所述多维的索引数组处理,生成树状的索引数组;
将所述树状的索引数组中,具有相同索引的子节点进行删除处理,并将所述子节点对应的索引保存在所述子节点对应的树节点中,获得压缩的树状的索引数组。
2.根据权利要求1所述的方法,其特征在于,所述获取预设材质的网格模型中各个网格的网格属性的步骤,包括:
接收用户输入的预设材质的网格模型的尺寸,以及所述预设材质的属性;
根据所述网格模型的尺寸,确定网格模型;
根据所述预设材质的属性,获取所述网格模型中各个网格的网格属性。
3.根据权利要求1所述的方法,其特征在于,所述第一网格属性数组为立方体型的数组,且每个维度的网格属性的数量为2的幂;
所述构建树形数据结构的算法为八叉树算法。
4.根据权利要求3所述的方法,其特征在于,
所述根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组,包括:
根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示预设材质的多维的第三网格属性数组,所述第三网格属性数组由组成所述预设材质的各个网格的网格属性组成;
判断所述第三网格属性数组是否为立方体型的且每个维度的网格属性的数量为2的幂的数组;
如果是,将所述第三网格属性数组作为所述第一网格属性数组;
如果否,在所述第三网格属性数组中增加预设的网格属性,以形成立方体型的且每个维度的网格属性的数量为2的幂的数组,将形成的数组作为所述第一网格属性数组。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
获取位置信息;
根据位置信息,查找所述索引数组,确定所述位置信息对应的索引;
根据所述位置信息对应的索引,确定该索引对应的网格属性。
6.一种材质的数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取预设材质的网格模型中各个网格的网格属性;
第一生成模块,用于根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示所述预设材质的多维的第一网格属性数组;
第二获取模块,用于根据所述第一网格属性数组,获取网格属性集合;
排列模块,用于将所述网格属性集合中的各个网格属性排列成一维的第二网格属性数组;
第一确定模块,用于根据所述第二网格属性数组中各个网格属性的排列位置,确定所述第二网格属性数组中各个网格属性的索引;
第二生成模块,用于根据所确定的各个网格属性的索引,以及所述第一网格属性数组,生成多维的索引数组;
第三生成模块,用于基于预设的构建树形数据结构的算法对所述多维的索引数组处理,生成树状的索引数组;
获取模块,用于将所述树状的索引数组中,具有相同索引的子节点进行删除处理,并将所述子节点对应的索引保存在所述子节点对应的树节点中,获得压缩的树状的索引数组。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块具体用于:
接收用户输入的预设材质的网格模型的尺寸,以及所述预设材质的属性;
根据所述网格模型的尺寸,确定网格模型;
根据所述预设材质的属性,获取所述网格模型中各个网格的网格属性。
8.根据权利要求6所述的装置,其特征在于,所述第一网格属性数组为立方体型的数组,且每个维度的网格属性的数量为2的幂;
所述构建树形数据结构的算法为八叉树算法。
9.根据权利要求8所述的装置,其特征在于,所述第一生成模块,具体用于:
根据所述网格模型,以及所述网格模型中各个网格的网格属性,生成表示预设材质的多维的第三网格属性数组,所述第三网格属性数组由组成所述预设材质的各个网格的网格属性组成;
判断所述第三网格属性数组是否为立方体型的且每个维度的网格属性的数量为2的幂的数组;
如果是,将所述第三网格属性数组作为所述第一网格属性数组;
如果否,在所述第三网格属性数组中增加预设的网格属性,以形成立方体型的且每个维度的网格属性的数量为2的幂的数组,将形成的数组作为所述第一网格属性数组。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取位置信息;
第二确定模块,用于根据位置信息,查找所述索引数组,确定所述位置信息对应的索引;
第三确定模块,用于根据所述位置信息对应的索引,确定该索引对应的网格属性。
11.一种电子设备,其特征在于,包括处理器和存储器,其中:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN201811222247.2A 2018-10-19 2018-10-19 一种材质的数据处理方法、装置、电子设备及存储介质 Active CN109359224B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811222247.2A CN109359224B (zh) 2018-10-19 2018-10-19 一种材质的数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811222247.2A CN109359224B (zh) 2018-10-19 2018-10-19 一种材质的数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109359224A CN109359224A (zh) 2019-02-19
CN109359224B true CN109359224B (zh) 2020-06-19

Family

ID=65345907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811222247.2A Active CN109359224B (zh) 2018-10-19 2018-10-19 一种材质的数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109359224B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609726B (zh) * 2019-09-16 2023-07-14 网易(杭州)网络有限公司 贴图处理方法及装置、计算机可读存储介质、电子设备
CN113487725B (zh) * 2021-06-30 2024-03-29 山东齐鲁数通科技有限公司 一种模型节点修改方法、装置、终端设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388318C (zh) * 2005-11-28 2008-05-14 北京航空航天大学 一种基于状态集的Shader三维图形绘制系统和绘制方法
CN103714221A (zh) * 2014-01-08 2014-04-09 上海明穆电子科技有限公司 一种利用人体形态参数调整三维人体的变形方法
CN103927396B (zh) * 2014-05-05 2018-02-02 曾志明 利用辅助数据在三维渲染中获得三维空间信息的查找方法
CN105741335B (zh) * 2016-01-28 2018-08-14 中国科学院软件研究所 一种基于分块组织的多层次兵棋地图快速绘制方法
CN105912655A (zh) * 2016-04-11 2016-08-31 东南大学 基于WebGL的三维模型显示方法及相应的Web-BIM工程信息集成管理系统
CN106846420A (zh) * 2016-12-19 2017-06-13 珠海金山网络游戏科技有限公司 一种实时材质编辑方法与系统
CN106844773B (zh) * 2017-02-28 2021-05-11 广东工业大学 一种水火弯板工艺知识分层式数据存储方法及装置
CN108537891A (zh) * 2017-03-01 2018-09-14 黎志毅 三维材质和贴图数据自动转换到ue4的方法
CN107273543B (zh) * 2017-07-06 2020-06-05 安徽省交通规划设计研究总院股份有限公司 一种dgn数据格式的转换方法

Also Published As

Publication number Publication date
CN109359224A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
JP2771813B2 (ja) 三次元図形処理システムにおけるパッチのbスプライン記述のトリミング方法
Smid Closest-point problems in computational geometry
CN106407408A (zh) 一种海量点云数据的空间索引构建方法及装置
CN102306180A (zh) 一种基于海量激光雷达栅格点云数据的建模方法
CN109359224B (zh) 一种材质的数据处理方法、装置、电子设备及存储介质
Schön et al. Octree-based indexing for 3D pointclouds within an Oracle Spatial DBMS
CN106327577A (zh) 基于局部曲率熵和四叉树结构的三维地形曲面优化方法
CN106844664A (zh) 一种基于摘要的时间序列数据索引构建方法
JP2744888B2 (ja) 3−dオブジェクトを領域に区画する方法及びシステム
CN113094463A (zh) 一种非结构化点云存储方法、装置、设备及介质
CN109118588A (zh) 一种基于块分解的彩色lod模型自动生成方法
CN115222806B (zh) 多边形处理方法、装置、设备及计算机可读存储介质
CN103092992A (zh) 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法
CN109118586A (zh) 逻辑地图的数据处理方法、装置、电子设备及存储介质
CN115798654A (zh) 一种模型材料处理方法、装置、设备及介质
CN114119939A (zh) 数据轻量化处理方法、装置、存储介质及电子设备
KR20160059452A (ko) 이미지의 파티셔닝
CN111599015B (zh) 一种约束条件下的空间多边形网格化填充方法和装置
CN110674133B (zh) 一种高维插值的压缩存储及计算方法
CN110532670B (zh) 一种适分析样条实体模型构建方法及系统
CN107045732B (zh) 数字地面模型化简方法及装置
CN115952252A (zh) 数据处理方法、装置、电子设备和介质
US20150049085A1 (en) Pixel-based or voxel-based mesh editing
CN115587451A (zh) 一种基于体素划分的网页端三角面片模型动态更新方法
CN115330971A (zh) 一种面向渲染性能优化的几何模型轻量化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Patentee after: ZHUHAI XISHANJU INTERACTIVE ENTERTAINMENT TECHNOLOGY Co.,Ltd.

Address before: 519080 Room 102, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

Patentee before: ZHUHAI XISHANJU INTERACTIVE ENTERTAINMENT TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address