CN114418836B - 数据处理方法、装置、设备以及介质 - Google Patents
数据处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN114418836B CN114418836B CN202210234766.0A CN202210234766A CN114418836B CN 114418836 B CN114418836 B CN 114418836B CN 202210234766 A CN202210234766 A CN 202210234766A CN 114418836 B CN114418836 B CN 114418836B
- Authority
- CN
- China
- Prior art keywords
- cutting
- target
- dimensional grid
- path
- model
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000005520 cutting process Methods 0.000 claims abstract description 605
- 238000011156 evaluation Methods 0.000 claims abstract description 130
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000000694 effects Effects 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 109
- 238000012216 screening Methods 0.000 claims description 46
- 238000005457 optimization Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 16
- 238000009877 rendering Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 230000000903 blocking effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 6
- 238000010845 search algorithm Methods 0.000 description 6
- 230000001788 irregular Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000003892 spreading Methods 0.000 description 3
- 230000007480 spreading Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000029777 axis specification Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
- G06T3/067—Reshaping or unfolding 3D tree structures onto 2D planes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/54—Extraction of image or video features relating to texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/021—Flattening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2008—Assembling, disassembling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、设备以及介质,该方法包括:获取目标二维网格模型,根据目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值;获取目标二维网格模型的切割路径集合,获取切割路径集合中的切割路径对应的路径长度,根据模型类型获取切割路径集合中的切割路径对应的惩罚函数值;根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中确定目标二维网格模型的目标切割路径;基于目标切割路径,对目标二维网格模型进行切割,得到模型切割结果;模型切割结果用于指示目标二维网格模型的纹理展开结果。采用本申请实施例,可以提高二维网格的装箱效果,进而提升二维网格模型在纹理空间中的填充率。
Description
技术领域
本申请涉及渲染技术领域,尤其涉及一种数据处理方法、装置、设备以及介质。
背景技术
在三维网格的渲染场景中,可以将该三维网格切开,并展平到二维平面(如纹理空间),该过程即为UV展开(UV Unwrapping),UV展开作为渲染场景的美术资源生产中的一个重要环节,与UV岛(UV Island)的规整性具有密切关系。当UV岛具有狭长结构、外轮廓参差不齐、内部洞比较多等特点时,通过这些UV岛制作UV时,会影响UV岛的UV装箱效果,进而造成UV空间的填充率过低。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及介质,可以提高二维网格的规整性,进而提升二维网格模型的纹理展开效果。
本申请实施例一方面提供了一种数据处理方法,包括:
获取目标二维网格模型,根据目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值;
获取目标二维网格模型对应的切割路径集合,获取切割路径集合中的切割路径对应的路径长度,根据模型类型获取切割路径集合中的切割路径对应的惩罚函数值;
根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中确定目标二维网格模型对应的目标切割路径;
基于目标切割路径,对目标二维网格模型进行切割,得到模型切割结果;模型切割结果用于指示目标二维网格模型的纹理展开结果。
本申请实施例一方面提供了一种数据处理装置,包括:
模型评估模块,用于获取目标二维网格模型,根据目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值;
路径获取模块,用于获取目标二维网格模型对应的切割路径集合,获取切割路径集合中的切割路径对应的路径长度,根据模型类型获取切割路径集合中的切割路径对应的惩罚函数值;
路径选取模块,用于根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中确定目标二维网格模型对应的目标切割路径;
模型切割模块,用于基于目标切割路径,对目标二维网格模型进行切割,得到模型切割结果;模型切割结果用于指示目标二维网格模型的纹理展开结果。
其中,模型评估模块包括:
网格降维单元,用于获取三维网格模型,将三维网格模型切分为一个或多个三维网格分块,在纹理空间中对一个或多个三维网格分块进行展平,得到一个或多个二维网格模型;
网格选取单元,用于在一个或多个二维网格模型中,将满足模型切割条件的二维网格模型确定为目标二维网格模型。
其中,模型类型包括环状类型;
模型评估模块包括:
洞结构确定单元,用于根据目标二维网格模型对应的环状类型,确定目标二维网格模型中的候选洞结构;
洞数量获取单元,用于根据候选洞结构对应的边界面积,获取目标二维网格模型的洞结构数量,将洞结构数量确定为目标二维网格模型的结构评估值。
其中,模型类型包括分支类型;
模型评估模块包括:
内切圆确定单元,用于根据目标二维网格模型对应的分支类型,确定目标二维网格模型对应的外轮廓中的x个内切圆,获取x个内切圆之间的圆心连接线段;x为大于1的正整数;
图结构构建单元,用于将x个内切圆的圆心作为节点,圆心连接线段作为边,构建针对目标二维网格模型对应的图结构;
分支数量获取单元,用于根据图结构中的分支所对应的分支长度,确定目标二维网格模型对应的分支数量,将分支数量确定为目标二维网格模型的结构评估值。
其中,模型类型包括凸包类型;
模型评估模块包括:
凸包获取单元,用于根据目标二维网格模型对应的凸包类型,获取目标二维网格模型对应的外轮廓点集的凸包;
凸包占比确定单元,用于获取凸包对应的凸包面积,以及获取目标二维网格模型对应的模型面积,将模型面积与凸包面积之间的比值,确定为目标二维网格模型的结构评估值。
其中,模型类型包括非对称类型;
模型评估模块包括:
对称轴确定单元,用于根据目标二维网格模型对应的非对称类型,获取目标二维网格模型的中心点,通过中心点确定目标二维网格模型的对称轴;
对称误差获取单元,用于通过对称轴确定目标二维网格模型中的目标点与映射点之间的平均误差,根据平均误差获取目标二维网格模型对应的对称误差,将对称误差确定为目标二维网格模型的结构评估值。
其中,路径获取模块包括:
标记单元,用于对目标二维网格模型中的历史切割边、硬边以及遮挡边进行标记,得到目标二维网格模型中的标记边;硬边用于表征目标二维网格模型中光影变化量大于光影变化阈值的边;
最短路径确定单元,用于在目标二维网格模型的历史切割边中确定路径起始点和路径终点,根据路径起始点和路径终点,在目标二维网格模型中的标记边中确定最短切割路径,将最短切割路径添加至切割路径集合。
其中,路径获取模块包括:
路径长度获取单元,用于获取切割路径集合中的切割路径p,获取切割路径p对应的路径长度l p,根据模型类型获取目标二维网格模型对应的惩罚函数;p为小于或等于切割路径集合中的切割路径数量的正整数;
网格切割单元,用于获取切割路径p的连接数,基于切割路径p对目标二维网格模型进行切割,得到切割路径p对应的切割连通数;
函数值输出单元,用于若切割路径p的连接数、切割路径p对应的切割连通数,以及切割路径p满足惩罚函数中的约束条件,则通过惩罚函数输出切割路径p对应的惩罚函数值ωp。
其中,路径选取模块包括:
加权参数获取单元,用于获取目标二维网格模型对应的长度优化值和惩罚优化值,获取与长度优化值相关联的长度加权参数,以及与惩罚优化值相关联的惩罚加权参数;
筛选参数获取单元,用于将长度加权参数和长度优化值之间的乘积,以及惩罚加权参数和惩罚优化值之间的乘积进行求和运算,得到目标二维网格模型的路径筛选参数;
第一评估值获取单元,用于将长度加权参数和路径长度l p之间的乘积,以及惩罚加权参数和惩罚函数值ωp之间的乘积进行求和运算,得到切割路径p的切割评估值;
第一比较单元,用于若惩罚函数值ωp小于或等于结构评估值,且切割路径p的切割评估值小于或等于路径筛选参数,则将切割路径p确定为候选切割路径,从切割路径集合中删除切割路径p;
第二评估值获取单元,用于将切割路径p的切割评估值确定为更新后的路径筛选参数,获取切割路径集合中的切割路径p+1对应的路径长度l p+1和惩罚函数值ωp+1,将长度加权参数和路径长度l p+1之间的乘积,以及惩罚加权参数和惩罚函数值ωp+1之间的乘积进行求和运算,得到切割路径p+1的切割评估值;
第二比较单元,用于若惩罚函数值ωp+1小于或等于结构评估值,且切割路径p+1的切割评估值小于或等于更新后的路径筛选参数,则将切割路径p+1确定为更新后的候选切割路径,从切割路径集合中删除切割路径p+1,直至切割路径集合为空集合,将更新后的候选切割路径确定为目标切割路径。
其中,该装置还包括:
路径丢弃模块,用于若惩罚函数值ωp大于结构评估值,或者切割路径p的切割评估值大于路径筛选参数,则从切割路径集合中删除切割路径p,继续保持路径筛选参数不变。
其中,模型切割结果包括M个二维网格子模型,M为正整数;
该装置还包括:
展平模块,用于在纹理空间中分别对M个二维网格子模型进行展平,得到展平后的M个二维网格子模型;
拼接模块,用于对M个二维网格子模型进行拼接,得到目标二维网格模型对应的纹理展开结果;
重新切割模块,用于若纹理展开结果不满足展开效果条件,则继续对纹理展开结果执行模型切割操作。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例可以获取目标二维网格模型,基于目标二维网格模型对应的模型类型,可以获取该目标二维网格模型的结构评估值,进而可以获取目标二维网格模型对应的切割路径集合,通过计算该切割路径集合中的每个切割路径分别对应的路径长度和惩罚函数值,该惩罚函数值与目标二维网格模型的模型类型相关联;根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中筛选出目标网格模型对应的目标切割路径,基于目标切割路径对目标二维网格模型进行切割,以得到模型切割结果。通过为不同模型类型的二维网格模型设计不同的惩罚函数,基于惩罚函数以及切割路径的路径长度,确定目标切割路径,进而通过目标切割路径对目标二维网格模型进行切割,以得到最终的模型切割结果,可以提高模型切割结果的规整性,进而提升二维网格模型的纹理展开效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种模型切割展开场景图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种环状类型的二维网格模型的示意图;
图5是本申请实施例提供的一种分支类型的二维网格模型的示意图;
图6是本申请实施例提供的一种凸包类型的二维网格模型的示意图;
图7是本申请实施例提供的一种非对称类型的二维网格模型的示意图;
图8是本申请实施例提供的一种二维网格模型的边界标记图;
图9是本申请实施例提供的一种环形类型的二维网格模型的切割结果示意图;
图10是本申请实施例提供的一种分支类型的二维网格模型的切割结果示意图;
图11是本申请实施例提供的一种凸包类型的二维网格模型的切割结果示意图;
图12是本申请实施例提供的一种非对称类型的二维网格模型的切割结果示意图;
图13是本申请实施例提供的一种数据处理装置的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于后面描述,本申请实施例中首先对本申请实施例中涉及到的相关技术进行简单介绍。
三维网格(3D Mesh):三维网格是一种用以多边形进行组合来离散表征三维模型的形式,三维网格数据可以包含顶点、边与面。
UV展开(UV Unwrapping):该UV展开可以是指将三维网格切开,并肩切开后的三维网格分块展平到二维平面的过程,该二维平面空间可以称为UV空间,或者称为纹理空间;其中u,v取值在0~1之间的二维空间可以称为单位UV空间。
UV岛(UV Island):三维网格可以被切分为多个网格块,每个网格块都可以展平到UV空间;在UV空间中,一个网格块可以被展平为一个二维网格模型,不同的二维网格模型之间是相互独立的,每个独立的二维网格模型都可以成为UV岛。
UV纹理(UV Texture):在渲染场景中,UV空间中绘制完成的图片可以称为纹理,基于UV展开的逆过程,可以将绘制好的纹理映射到三维网格表面,从而达到表征模型颜色、材质、光影等效果的目的。
1UV和2UV:渲染场景的美术资源(如游戏美术资源)中可以使用两套UV(包括1UV和2UV),其中1UV可以用于绘制色彩纹理、法线纹理等,2UV可以用于绘制光照纹理、阴影纹理等。
软边(Soft Edge)和硬边(Hard Edge):软边和硬边是指在制作三维模型的过程中,利用制作工具对三维模型网格边的定义分类。在渲染场景中,硬边两侧的光影变化剧烈,可以形成明显的明暗对比;软边两侧则的光影过度平缓,明暗较为模糊。例如,可以根据实际需求或经验预先设置一个光影变化阈值,将边界两侧的光影变化量大于光影变化阈值的边称为硬边,将边界两侧的光影变化量小于或等于光影变化阈值的边称为软边。
UV装箱(UV Packing,或者可以为UV Nesting):UV装箱可以是指将UV岛按固定间隔,排列到单位UV空间的过程,通常要求尽可能地填满单位UV空间。
凸包(Convex Hull):凸包可以是指一个最小的凸多边形,满足点集中所有的点都在该多边形内或者在其边上。
欧拉示性数(Euler Characteristic):欧拉示性数可以是指一种拓扑不变量,其表达式可以记为χ=V-E+F,其中V表示为拓扑的顶点数,E表示为拓扑的边数,F表示为拓扑的面数,当拓扑发生变化时,如拓扑中存在空洞,欧拉示性数χ可以发生变化。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器10d和用户终端集群,该用户终端集群可以包括一个或多个用户终端,本申请不对用户终端的数量进行限制。如图1所示的用户终端集群可以包括用户终端10a、用户终端10b以及用户终端10c等。其中,用户终端集群中的用户终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备(例如智能手表、智能手环等)、智能家电(例如智能电视等)以及车载设备等具有UV切割展开优化功能的电子设备。服务器10d可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。如图1所示,用户终端集群中的用户终端10a、用户终端10b以及用户终端10c均可以与服务器10d进行网络连接,以便于用户终端可以通过该网络连接与服务器10d之间进行数据交互。
其中,图1所示的用户终端(例如,用户终端10a)中可以运行UV切割展开工具,通过该UV切割展开工具可以对UV岛(也可以称为二维网格模型)进行切割,得到该UV岛的切割结果,进而可以对切割结果重新进行UV展开,并对重新展开的二维网格进行拼接,得到新UV岛;若新UV岛所对应的展开效果不满足展开效果条件,则可以基于UV切割展开工具中的回退机制,如退回至UV切割操作,继续对新UV岛进行切割,直至UV展开效果满足展开效果条件以实现对不规则UV岛的规则化处理,使得最终得到的UV岛的形状规整,进而可以提高UV岛的展开效果。其中,不规则UV岛可以是指具有狭长结构、外轮廓参差不齐、内部洞比较多等特点的UV岛;不规则UV岛在UV切割展开工具中的切割结果可以在用户终端10a中进行展示。可选地,UV切割展开工具中的UV岛切割过程以及网格拼接过程也可以在服务器10d中完成,此时的服务器10d可以为UV切割展开工具所对应的后台服务器,本申请对方案的UV岛的切割执行主体不做限定。
请参见图2,图2是本申请实施例提供的一种模型切割展开场景图。如图2所示,在三维网格模型的渲染场景中,可以开启用户终端中的UV切割展开工具,在该UV切割展开工具中,可以获取三维网格模型20a,该三维网格模型20a可以是指由多边形(例如,三角形、四边形等图形)构成的三维模型,该三维模型可以包括多边形的顶点,多边形的边以及多边形所在的平面。用户终端可以对三维网格模型20a进行UV展开,如以三维网格模型20a中的多边形的边作为切割线,将三维网格模型20a分割为多个模型块,每个模型块可以由三维网格模型20a中的一个多边形,或者少数几个连续的多边形(例如,可以设置一个数量阈值,每个模型块所包含的多边形的数量可以小于或等于该数量阈值)组成,进而可以将每个模型块都依次展平到二维空间(例如,UV空间)中,模型块在二维空间中的展平结果如区域20b所示,此时区域20b中的展平结果可以称为三维网格模型20a对应的初始展平结果。需要说明的是,将三维网格模型20a展平到二维平面时,三维网格模型20a中的多边形在展开后可能会产生一些扭曲,为了减少展开的扭曲程度,可以提高展开结果的规整性。
其中,区域20b中的展平结果可以为多个独立的二维网格,在UV切割展开工具中,可以对区域20b中的多个独立的二维网格进行拼接,得到二维网格模型20c和二维网格模型20d,此处的二维网格模型20c和二维网格模型20d可以称为UV岛。当二维网格模型20c的切割展开效果不满足展开效果条件(UV展开的有效条件,可以进行优先配置)时,可以启动UV切割展开工具中的退回机制,即在UV切割展开工具中从拼接操作退回至切割操作,对二维网格模型20c重新进行切割。用户终端可以首先获取二维网格模型20c对应的切割路径集合,该切割路径集合可以包含一条或多条切割路径,不同的切割路径可以对应的不同的切割结果;可以从切割路径集合中选择最优的目标切割路径,通过该目标切割路径对二维网格模型20c进行切割,得到的切割结果包括二维网格模型20e和二维网格模型20f,该二维网格模型20e和二维网格模型20f还可以继续进行切割,直至最终三维网格模型20a的展开结果满足展开效果条件。通过选取二维网格模型对应的最优切割路径,对该二维网格模型进行切割,并利用UV切割展开工具中的回退机制,可以确保切割展开结果的有效性。
请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。可以理解的是,该数据处理方法可以由计算机设备执行,该计算机设备可以为用户终端(例如,上述图1所示的用户终端10a),或者为服务器(例如,上述图1所示的服务器10d);如图3所示,该数据处理方法可以包括以下步骤S101-步骤S104:
步骤S101,对三维网格模型进行降维处理,得到目标二维网格模型,根据目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值。
具体的,在三维网格模型的渲染场景中,计算机设备可以对三维网格模型(例如,上述图2所对应实施例中的三维网格模型20a)进行降维处理,得到目标二维网格模型,如将三维网格模型降维到目标二维网格模型,在二维空间中对目标二维网格模型进行后续数据处理。例如,计算机设备可以将三维网格模型切分为一个或多个三维网格分块,在纹理空间中对一个或多个三维网格分块进行展平(即UV展开),得到一个或多个二维网格模型(例如,上述图2所对应实施例中的二维网格模型20c和二维网格模型20d);在一个或多个二维网格模型中,将满足模型切割条件的二维网格模型确定为目标二维网格模型。其中,模型切割条件可以为预先设置的特定模型类型,如环状类型、分支类型、凸包类型以及非对称类型等,当一个或多个二维网格模型中存在任意一个二维网格模型的模型类型满足上述模型切割条件时,可以将该二维网格模型确定为目标二维网格模型,如一个或多个二维网格模型中的环状模型类型、分支模型类型、凸包模型类型以及非对称模型类型都可以认为是上述目标二维网格模型,该目标二维网格模型可以为2UV,也可以为1UV,本申请对此不做限定。通过对三维网格模型进行UV展开,将三维网格模型中的三维信息降维到二维进行处理,可以确保该三维网格模型对应的纹理贴图不产生拉伸变形。
进一步地,在确定了目标二维网格模型后,可以根据该目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值,该结构评估值可以为目标二维网格模型的不规则程度评分,如目标二维网格模型在不切割的情况下惩罚函数(penalty function)的返回值;结构评估值可以用于确定目标二维网格模型对应的最优切割路径(也可以称为目标切割路径),如目标二维网格模型对应多条切割路径时,该结构评估值可以作为目标切割路径的筛选条件;可选地,目标切割路径的筛选条件除了上述结构评估值之外,还可以具有其余筛选条件,本申请对此不做限定。不同的模型类型可以对应不同的惩罚函数,不同的惩罚函数可以用于实现不同的切割目的,惩罚函数也可以称为序列无约束极小化函数,通过将等式约束与不等式约束的条件,经过适当定义的复合函数加到原目标函数上构造了惩罚函数,从而取消了约束,转而求解一系列无约束优化问题;换言之,惩罚函数的目的在于将一个有约束的最优化问题转化为一系列的无约束问题。
可选地,当目标二维网格模型的模型类型为环状类型时,可以采用欧拉示性数确定目标二维网格模型中的候选洞结构;根据候选洞结构对应的边界面积,获取目标二维网格模型的洞结构数量,将洞结构数量确定为目标二维网格模型的结构评估值。其中,环状类型的目标二维网格模型可以是指包含洞结构的二维网格模型,且洞的面积占模型总面积的比例大于预先设置的第一占比阈值(可以根据实际需求进行设置,本申请对此不做限定);洞结构可以认为是目标二维网格模型在纹理空间中展开后的环形结构,如存在镂空的二维网格,将目标二维网格模型中所存在的洞结构确定为候选洞结构。
在二维空间(如UV空间)中计算多边形的洞结构的方式,一种是对这些多边形进行布尔运算,得到携带洞结构的多边形,从而计算洞结构的面积,不过由于布尔运算过程需要进行求交运算,要求有理数精确求解,比较耗时。因此本申请实施例还可以采用一种近似方法来计算目标二维网格模型所包含的洞结构数量,如可以利用欧拉示性数计算目标二维网格模型中所包含的洞结构数量,若目标二维网格模型中存在洞结构,可以计算洞结构的所有边界的面积(边界面积),将最大边界面积所对应边界之外的其余边界作为洞结构边界,进而可以从洞结构边界中,将边界面积大于面积阈值(可以实际需求进行设置,本申请对此不做限定)的洞结构边界,确定为目标二维网格模型中的洞结构数量,进而可以将洞结构数量作为目标二维网格模型的结构评估值;通过上述近似方法,可以提高洞结构所对应的边界面积的计算效率。请参见图4,图4是本申请实施例提供的一种环状类型的二维网格模型的示意图。如图4所示的二维网格模型30a(目标二维网格模型)属于环状类型的二维网格模型,该二维网格模型30a中包含一个洞结构,即目标二维网格模型对应的结构评估值为1。
可选地,当目标二维网格模型的模型类型为分支类型(也可以称为多枝丫类型)时,可以根据分支类型确定目标二维网格模型对应的外轮廓中的x个内切圆,获取x个内切圆之间的圆心连接线段,x为大于1的正整数,如x可以取值为2,3,……;将x个内切圆的圆心作为节点,圆心连接线段作为边,构建针对目标二维网格模型对应的图结构;根据图结构中的分支所对应的分支长度,确定目标二维网格模型对应的分支数量,将分支数量确定为目标二维网格模型的结构评估值。其中,多分支类型的目标二维网格模型可以是指骨架长且分支多的二维网格模型,目标二维网格模型的骨架可以通过构建目标二维网格模型的外轮廓的线段维诺图(Voronoi Diagram)来得到,基于维诺图可以快速计算得到目标二维网格模型对应的外轮廓中的内切圆,所有内切圆的圆心连线就是该目标二维网格模型的骨架结构。进而以这些内切圆的圆心作为节点,圆心之间的连接关系作为边,可以建立一个图结构,在图结构上求各末端节点之间的连接长度(两节点之间的最短路径),取最长的连接长度作为该骨架结构的主干,计算除主干之外的其余分支所对应的分支长度,根据分支长度大于长度阈值(可以实际需求进行设置,本申请对此不做限定)分支,统计目标二维网格模型对应的分支数量。其中,维诺图可以由一组由连接两邻点直线的垂直平分线组成的连续多边形组成,如可以基于目标二维网格模型中的顶点构建三角网(由三角形组成的网格模型),找出三角网中的每一个三角形的外接圆圆心,进而连接相邻三角形的外接圆圆心,形成以每一个三角形顶点为生成元的多边形网;通过维诺图确定目标二维网格模型对应的外轮廓中的内切圆,可以提高内切圆的有效性。
请参见图5,图5是本申请实施例提供的一种分支类型的二维网格模型的示意图。如图5所示的二维网格模型40a(即目标二维网格模型)属于分支类型的二维网格模型,可以获取二维网格模型40a的外轮廓中的多个内切圆(内切圆的数量记为x,x为小于1的正整数),将x个内切圆的圆心进行连接,得到x个内切圆之间的圆心连接线段,x个内切圆之间的圆心连接线段可以认为是二维网格模型40a的骨架结构(如图5所示的二维网格模型40b中的虚线),二维网格模型40a的骨架结构中长度最长的分支可以称为主干,基于除主干之外的其余分支的分支长度,可以确定二维网格模型40a中的分枝数量。
可选地,当目标二维网格模型的模型类型为凸包类型时,可以获取目标二维网格模型对应的外轮廓点集的凸包;进而可以获取凸包对应的凸包面积,以及获取目标二维网格模型对应的模型面积,将模型面积与凸包面积之间的比值,确定为目标二维网格模型的结构评估值。其中,凸包类型的目标二维网格模型可以是指凸包占比小于预先设置的第二占比阈值(基于实际需求进行设置,在此不做限定)的二维网格模型,如目标二维网格模型本身的模型面积占模型凸包多边形的面积的比值小于第二占比阈值时,确定该目标二维网格模型属于凸包类型。
请参见图6,图6是本申请实施例提供的一种凸包类型的二维网格模型的示意图。如图6所示的二维网格模型50a(目标二维网格模型)属于凸包类型的二维网格模型,该二维网格模型50a所对应的外轮廓点集的凸包如图6所示的多边形50b;可以获取该多边形50b对应的凸包面积,其中,该多边形50b对应的凸包面积大于二维网格模型50a的模型面积,进而可以将模型面积与凸包面积之间的比值,确定为目标二维网格模型的结构评估值,可以提高结构评估值的有效性。
可选地,当目标二维网格模型的模型类型为非对称类型时,可以获取目标二维网格模型的中心点,通过中心点确定目标二维网格模型的对称轴;通过对称轴确定目标二维网格模型中的目标点与映射点之间的平均误差,根据平均误差获取目标二维网格模型对应的对称误差,将对称误差确定为目标二维网格模型的结构评估值。其中,非对称类型的目标二维网格模型可以是指存在一定的对称性但却不完全对称的二维网格模型;通过从目标二维网格模型的中心点往四周均匀地撒射线作为对称轴(只需要覆盖180度即可),进而找到最佳对称轴的位置,进而可以通过镜面映射来计算映射点与目标点的平均误差,将该平均误差作为目标二维网格模型的对称误差,通过将平均误差作为结构评估值,可以提升该结构评估值的准确性和有效性。
请参见图7,图7是本申请实施例提供的一种非对称类型的二维网格模型的示意图。如图7所示的二维网格模型60a(目标二维网格模型)属于非对称类型的二维网格模型,该二维网格模型60a可以包括网格块60b和网格块60c,该网格块60c为具有对称性的二维网格,网格块60b为非对称性的二维网格,而由网格块60b和网格块60c拼接而成的二维网格模型60a属于非对称类型。
步骤S102,获取目标二维网格模型对应的切割路径集合,获取切割路径集合中的切割路径对应的路径长度,根据模型类型获取切割路径集合中的切割路径对应的惩罚函数值。
具体的,计算机设备可以对目标二维网格模型中的历史切割边、硬边以及遮挡边进行标记,得到目标二维网格模型中的标记边;硬边可以是指目标二维网格模型中边界两侧的光影变化量大于光影变化阈值的边;在目标二维网格模型的历史切割边中确定路径起始点和路径终点,根据路径起始点和路径终点,在目标二维网格模型中的标记边中确定最短切割路径,将最短切割路径添加至切割路径集合,该切割路径集合可以是指目标二维网格模型中所有切线的组合。
其中,在对目标二维网格模型进行切割时,并不是目标二维网格模型中的所有网格边都适合切割,由于需要考虑纹理在二维空间上的表现效果,如软边附近的变化要求平缓,切开软边容易导致两侧纹理不连续,从而产生伪影。因此在获取切割路径集合的过程中,可以对目标二维网格模型中属于下述类型的网格边进行标记:二维网格边界(也可以称为UV边界,或者历史切割边),如目标二维网格模型在拼接前的各个UV岛的边界边,也就是原本的切割路径,显然可以用作回退机制的切割路径;硬边,与软边相反,硬边要求边两侧对比强烈,通常适合切断,在一些UV纹理分辨率很大的情况下,甚至可以将所有硬边都切断;不可见边(可以称为遮挡边),当目标二维网格模型中的某条边在场景中被遮挡时,识别为不可见边,这种边不管其本身拥有什么属性,都可以切断,因为哪怕造成了不好的渲染效果,由于其不可见,它带来的影响也是很小的;前置UV岛的边界,比如在自动处理2UV岛时,通常1UV已经完成UV展开,那么基于1UV的切割条件可以作为2UV的切割方式。
需要说明的是,前述历史切割边(二维网格边界)、硬边以及遮挡边(不可见边)的优先级可以高于前置UV岛的边界(1UV的切割条件)的优先级,因此在搜索针对目标二维网格模型的切割路径时,可以优先从目标二维网格模型中所标记的历史切割边、硬边以及遮挡边中搜索,若在历史切割边、硬边以及遮挡边中未搜索到切割路径,则可以引入前置UV岛的边界,进而可以在历史切割边、硬边、遮挡边以及前置UV岛的边界中搜索切割路径;上述历史切割边、硬边以及遮挡边可以设置为相同的优先级。可以理解的是,上述历史切割边、硬边、遮挡边以及1UV边界仅为本申请实施例中进行标记的边界类型举例,当其余边界类型可以用于搜索切割路径时,可以对该边界类型的边界选取条件进行建模,并将其加入路径搜索算法中,本申请对切割路径的边界类型不做限定。
基于目标二维网格模型中的标记边,可以搜索出可行的切割路径组合。其中路径搜索方法可以采用Dijkstra(狄克斯特拉算法)、Floyd(弗洛伊德)等路径搜索算法,本申请对此不做限定。由于目标二维网格模型的切割路径不能成环,且切割路径时可以将该目标二维网格模型切断的,因此该目标二维网格模型的切割路径的路径起始点和路径终点可以选择在边界(如历史切割边)点上,同时也要过滤掉完全沿着边界的无效切割路径,如目标二维网格模型在拼接前的各个UV岛的切割路径。
请参见图8,图8是本申请实施例提供的一种二维网格模型的边界标记图。如图8所示的二维网格模型70a为携带标记边的目标二维网格模型,假设1UV边界(前置UV岛的边界)可以表示为蓝色,硬边表示为绿色,遮挡边(不可见边)可以表示为红色,即三原色,上述三种边界类型的组合在显示上可以遵循三原色混合原理,如目标二维网格模型中的边为青色(蓝色叠加绿色)时,表示这条边可以同时标记为1UV边界和硬边;目标二维网格模型中的边为紫色(蓝色叠加红色)时,表示这条边可以同时标记为1UV边界和不可见边。需要说明的是,基于不同的颜色标记目标二维网格模型中不同的边界类型,只是本申请实施例中的一种举例,还可以采用其余方式对不同边界类型的边进行标记,如图8所示,黑色实线边可以表示为二维网格模型70a中的普通边,即未标记的边,灰色实线表示这些边既为二维网格模型70a中的1UV边界,同时也为二维网格模型70a中的硬边,黑色虚线表示这些边仅仅为二维网格模型70a中的硬边。
可选地,在获取切割路径集合时,还可以在路径搜索算法的特定流程节点引入人工路径确认操作,如在路径搜索算法执行到该特定流程节点时,可以通知用户对该路径搜索算法选择的切割路径进行确认,若用户确认该路径搜索算法所选择的切割路径为无效路径,则可以删除该切割路径;或者可以由用户人工选择最短切割路径,并将其加入切割路径集合中,通过在切割路径集合获取过程中引入人工路径确认,可以进一步保证切割路径的有效性,加快目标切割路径的筛选效率。通过对目标二维网格模型中的历史切割边、硬边、遮挡边(不可见边)以及1UV边界等多种边界类型进行标记,可以提高切割路径集合中的切割路径的覆盖率以及准确性,进而提高切割路径的切割效果。
进一步地,计算机设备可以从切割路径集合中选择任意一条切割路径(切割路径p),获取切割路径p对应的路径长度l p,并根据模型类型获取目标二维网格模型对应的惩罚函数,p为小于或等于切割路径集合中的切割路径数量的正整数;进而可以获取切割路径p的连接数,基于切割路径p对目标二维网格模型进行切割,得到切割路径p对应的切割连通数;若切割路径p的连接数、切割路径p对应的切割连通数,以及切割路径p满足惩罚函数中的约束条件,则通过惩罚函数输出切割路径p对应的惩罚函数值ωp;若切割路径p的连接数、切割路径p对应的切割连通数,以及切割路径p不满足惩罚函数中的约束条件,则可以为该切割路径p的惩罚函数值ωp返回一个固定数值,该固定数值用于指示从切割路径集合中丢弃该切割路径p。其中,切割路径p的连接数可以是指该切割路径p中连续的边界路径,通常情况下,一条切割路径的连接数为1,表示基于一条切割路径每次可以对目标二维网格模型切一刀,而不能一次切多刀;切割路径p对应的切割连通数可以是指基于切割路径p对目标二维网格模型进行切割后,所得到的切割后的二维网格模型的数量;不同模型类型的目标二维网格模型可以对应不同的惩罚函数,不同的惩罚函数可以对应不同的约束条件,以达到不同的切割目的。
可选地,当目标二维网格模型的模型类型为环状类型时,环状类型的惩罚函数可以如公式(1)所示:
其中,D可以表示为目标二维网格模型(例如,2UV岛),可以表示为目标二维网格模型D的最终切割结果,可以表示为目标二维网格模型D在第i次(i为正整数)处理的二维网格模型;目标二维网格模型D的切割处理过程中,可以对目标二维网格模型D进行多次切割处理,如基于切割路径p对目标二维网格模型D进行切割,进而可以对切割后的二维网格模型继续进行切割处理等。A可以表示为目标二维网格模型D对应的切割路径集合;可以表示为第i次处理的二维网格模型所包含的洞结构数量;Nc(p)可以表示为切割路径p的连接数;可以表示为目标二维网格模型D在切割后的切割连通数;Nc(p)=1,p∈A且=1可以表示为环状类型的惩罚函数中的约束条件;可以表示为取最小值时,p的取值。当目标二维网格模型D为环状类型时,通过上述公式(1)可以计算得到切割路径p对应的惩罚函数值ωp,基于公式(1)可以降低二维网格模型中的洞结构数量。
可选地,当目标二维网格模型的模型类型为分支类型时,分支类型的惩罚函数可以如公式(2)所示:
其中,可以表示为第i次处理的二维网格模型中的分支数量;Nc(p)=1,p∈A且=2可以表示为分支类型的惩罚函数中的约束条件;可以表示为取最小值时,p的取值。当目标二维网格模型D为分支类型时,通过上述公式(2)可以计算得到切割路径p对应的惩罚函数值ωp,基于公式(2)可以降低二维网格模型中的分支数量。
可选地,当目标二维网格模型的模型类型为凸包类型时,凸包类型的惩罚函数可以如公式(3)所示:
其中,可以表示为第i次处理的二维网格模型的模型面积,可以表示为第i次处理的二维网格模型的凸包面积,δ可以表示为上述公式(3)的停止阈值;Nc(p)=1,p∈A且=2且可以表示为分支类型的惩罚函数中的约束条件;可以表示为取最小值时,p的取值。当目标二维网格模型D为凸包类型时,通过上述公式(3)可以计算得到切割路径p对应的惩罚函数值ωp,基于公式(3)可以提高二维网格模型的模型面积与其对应的凸包面积之间的比值,进而提高凸包利用率。
可选地,当目标二维网格模型的模型类型为非对称类型时,非对称类型的惩罚函数可以如公式(4)所示:
其中,可以表示为第i次处理的二维网格模型的对称误差,S(D)可以表示为目标二维网格模型D的对称误差,ε可以表示为上述公式(4)的停止阈值;Nc(p)=1,p∈A且=2且S(D)<ε可以表示为非对称类型的惩罚函数中的约束条件;可以表示为取最小值时,p的取值。当目标二维网格模型D为非对称类型时,通过上述公式(4)可以计算得到切割路径p对应的惩罚函数值ωp,基于公式(4)可以提高二维网格模型的对称性。
步骤S103,根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中确定目标二维网格模型对应的目标切割路径。
具体的,对于切割路径集合中的任意一条切割路径p,可以基于切割路径p的路径长度l p、切割路径p对应的惩罚函数值ωp以及目标二维网格模型的结构评估值,确定切割路径p对应的切割评估值,通过切割路径集合中每条切割路径分别对应的切割评估值,可以从切割路径集合中筛选出最优的切割路径,并将该最优的切割路径确定为目标二维网格模型对应的目标切割路径。切割评估值可以用于评估目标二维网格模型基于该切割路径的切割效果。
其中,切割路径集合中的切割路径筛选过程可以包括:计算机设备可以获取目标二维网格模型对应的长度优化值(可以记为l best)和惩罚优化值(可以记为ωbest),该长度优化值l best和惩罚优化值ωbest可以是一个待优化的变量,若切割路径p为切割路径集合中第一次选择的切割路径,则此时的长度优化值l best可以暂时取值切割路径p对应的路径长度l p,惩罚优化值ωbest可以暂时取值为切割路径p对应的惩罚函数值ωp,且此时的切割路径p可以暂时确定为候选切割路径(可以记为pbest);可选地,还可以为长度优化值l best和惩罚优化值ωbest分别设置一个初始值,如长度优化值l best和惩罚优化值ωbest的初始值均可以设置为0,或其余基于实际需求或经验所设置的值,本申请对此不做限定。计算机设备还可以获取与长度优化值l best相关联的长度加权参数(可以记为λ l ),以及与惩罚优化值ωbest相关联的惩罚加权参数(可以记为λω),该长度加权参数λ l 和惩罚加权参数λω均为固定参数,长度加权参数λ l 用于调和路径长度这一约束条件,惩罚加权参数λω用于调和惩罚函数值这一约束条件,使得最终选择的目标切割路径的切割路径尽可能短的同时惩罚函数值尽可能低。
进一步地,将长度加权参数λ l 和长度优化值l best之间的乘积,以及惩罚加权参数λω和惩罚优化值ωbest之间的乘积进行求和运算,得到目标二维网格模型的路径筛选参数,可以表示为λ l l best +λ ω ω best ,该路径筛选参数可以作为切割路径集合中用于筛选最优切割路径的筛选因素;进而可以将长度加权参数λ l 和路径长度l p之间的乘积,以及惩罚加权参数λω和惩罚函数值ωp之间的乘积进行求和运算,得到切割路径p的切割评估值,可以表示为λ l l p +λ ω ω p ;若惩罚函数值ωp小于或等于结构评估值(此处可以将结构评估值记为ϕ),且切割路径p的切割评估值小于或等于路径筛选参数,即ω p ≤ϕ且λ l l p +λ ω ω p ≤λ l l best +λ ω ω best ,则将切割路径p确定为候选切割路径(如令pbest=p,即此时的候选切割路径更新为切割路径p),可以从切割路径集合中删除切割路径p;进而可以将切割路径p的切割评估值(λ l l p+λωωp)确定为更新后的路径筛选参数,如令长度优化值l best=l p,惩罚优化值ωbest=ωp,即将长度优化值l best更新为l p,惩罚优化值ωbest更新为ωp。
若惩罚函数值ωp大于结构评估值ϕ,或者切割路径p的切割评估值大于路径筛选参数,即ω p >ϕ,或者λ l l p +λ ω ω p >λ l l best +λ ω ω best ,则从切割路径集合中删除切割路径p,继续保持路径筛选参数不变,即此时的切割路径p为无效路径,无需对长度优化值l best、惩罚优化值ωbest以及候选切割路径pbest进行更新。
在处理完切割路径p后,可以从切割路径集合中重新选择一条新的切割路径p+1,获取切割路径集合中的切割路径p+1对应的路径长度l p+1和惩罚函数值ωp+1,将长度加权参数和路径长度l p+1之间的乘积,以及惩罚加权参数和惩罚函数值ωp+1之间的乘积进行求和运算,得到切割路径p+1的切割评估值;若惩罚函数值ωp+1小于或等于结构评估值,且切割路径p+1的切割评估值小于或等于更新后的路径筛选参数,则将切割路径p+1确定为更新后的候选切割路径,此时的候选切割路径pbest=p+1,从切割路径集合中删除切割路径p+1,直至切割路径集合为空集合,将更新后的候选切割路径确定为目标切割路径。换言之,对于切割路径集合中的所有切割路径,都可以执行如前述切割路径p的操作,直至切割路径集合为空,将最终的候选切割路径pbest确定为目标二维网格模型对应的目标切割路径。例如,当切割路径集合为空时,候选切割路径pbest=p+3,可以将切割路径p+3确定为目标切割路径。
可选地,当切割路径集合为空时,候选切割路径pbest为空,即切割路径集合中的所有切割路径都不满足上述条件:ω p ≤ϕ且λ l l p +λ ω ω p ≤λ l l best +λ ω ω best ,表示未找到最优的目标切割路径,可以返回当前的目标二维网格模型,并停止对该目标二维网格模型进行切割。
步骤S104,基于目标切割路径,对目标二维网格模型进行切割,得到模型切割结果;模型切割结果用于指示目标二维网格模型的纹理展开结果。
具体的,计算机设备从切割路径集合中筛选出目标切割路径(切割路径集合中的最优切割路径)后,基于该目标切割路径,对目标二维网格模型进行切割,得到最终的模型切割结果,该模型切割结果实质上仍然为二维网格模型。
可选地,若模型切割结果可以包括M个二维网格子模型,M为正整数,如M可以取值为1,2,……;在纹理空间中分别对M个二维网格子模型进行重新展平,得到展平后的M个二维网格子模型;对M个二维网格子模型进行拼接,得到目标二维网格模型对应的纹理展开结果;若纹理展开结果不满足展开效果条件,则可以继续对纹理展开结果执行模型切割操作;若纹理展开结果满足展开效果条件,则可以将该纹理展开结果作为目标二维网格模型最终的纹理展开结果,基于该纹理展开结果可以进行UV装箱,可以提高纹理空间的填充率。在纹理空间中,可以对UV装箱处理后的二维网格模型进行图片绘制,绘制好的图片可以称为纹理贴图,将纹理贴图映射到三维网格模型的表面,以完成三维网格模型的渲染处理,可以提高三维网格模型的渲染效果。
可选地,在对目标二维网格模型进行切割处理时,该切割处理过程实质上是一个递归过程,如计算机设备中可以运行UV切割展开工具,该UV切割展开工具中可以集成递归切割框架,该递归切割框架用于对满足模型切割条件的二维网格模型进行递归切割,通过设计合理的接口,可以让该递归切割框架适用于各种切割目的。换言之,前述提及的环状类型、分支类型、凸包类型以及非对称类型等类型,仅仅只是本申请实施例中的举例说明,通过在递归切割框架设计其余类型的接口,基于相同的执行流程,可以实现对其余类型的二维网格模型的切割目的,进而可以提高递归切割框架的适用性。
其中,递归切割框架的递归过程可以包括:①获取当前UV岛(例如,目标二维网格模型)的切割路径集合A与切割路径集合A';其中,切割路径集合A是基于历史切割边、硬边、遮挡边所找到的切割路径集合,不包含1UV边界;切割路径集合A'是基于历史切割边、硬边、遮挡边以及1UV边界所找到的切割路径集合。若切割路径集合A与切割路径集合A'都为空,则直接返回当前UV岛,停止切割。
②切割路径集合A与切割路径集合A'不为空时,计算当前UV岛的不规则程度评分ϕ(即结构评估值),可以理解为当前UV岛在不切割的情况下,其对应的惩罚函数的返回值,可以首先将切割路径集合A作为搜索集合。
③从切割路径集合A中任取一条切割路径p,计算切割路径p的路径长度l p,基于当前UV岛的模型类型对应的惩罚函数(上述公式(1)至公式(4)),计算切割路径p的惩罚函数值ωp。
④若ω p >ϕ,或者λ l l p +λ ω ω p >λ l l best +λ ω ω best ,则丢弃该切割路径p,将该切割路径p从切割路径集合A中删除,并重新回到步骤③。
⑤若ω p ≤ϕ且λ l l p +λ ω ω p ≤λ l l best +λ ω ω best ,则选中候选切割路径pbest=p,即将切割路径p确定为候选切割路径,并从切割路径集合A中删除该切割路径p。
⑥重复步骤③到步骤⑤,直到切割路径集合A为空集合。
⑦若候选切割路径pbest为空,即未找到目标切割路径,则更换切割路径集合A'作为搜索集合,重新执行步骤③到步骤⑥。
⑧若候选切割路径pbest仍然为空,可以直接返回当前UV岛,停止切割。
⑨沿着选中的候选切割路径pbest(目标切割路径)切割当前UV岛,并进行重新展开,将每个重展后的UV岛作当前处理的新UV岛(新的目标二维网格模型),依次执行步骤①至步骤⑨。
⑩直到递归过程停止,返回当前所有切割结果,此时返回的所有切割结果可以称为模型切割结果。
可选地,为了防止在递归过程中过度切割,在不同模型类型所对应的惩罚函数中可以加上过度切割约束(例如,上述公式(4)中的ε),当检测到切割次数过多时,通过赋予ωp一个很大的值来停止递归过程,不仅可以防止过度切割,还可以减少切割操作,进而提高切割效率。
可选地,为了验证上述递归切割框架的有效性,可以在UV切割展开工具中测试该递归切割框架的使用效果。其中,由于本申请在切割展开工具中集成了递归切割框架,因此可以在该切割展开工具中可以引入回退机制,下面对切割展开工具的UV切割展开场景中使用回退机制和未使用回退机制两种情况下的使用效果进行比较,该使用效果可以通过纹理展开(UV展开)的平直水平以及装箱结果的填充率来表示,该使用效果可以如下述表1所示:
表1
其中,如表1所示,本申请实施例对6个二维网格模型(UV岛)进行实验,多边形数量可以表示为二维网格模型中所包含的多边形的数量,在启用切割展开工具中的回退机制时,对二维网格模型进行切割处理后的纹理展开的横平竖直比与装箱结果的填充率,均优于未启用回退机制的情形;将本申请中的切割方案作为回退机制的情况下,二维网格模型的拼接效果可以提升20%左右,可见,通过采用递归切割框架对二维网格模型进行切割处理,可以提高UV二维网格模型的拼接效果,提高UV展开的横屏横平竖直比以及装箱结果的填充率。
通过采用上述递归切割框架对UV岛(目标二维网格模型)进行切割处理,可以得到目标二维网格模型的最终切割展开结果,请参见图9至图12,对不同模型类型的目标二维网格模型的切割结果进行展示。
请参见图9,图9是本申请实施例提供的一种环形类型的二维网格模型的切割结果示意图。如图9所示,对于环形类型的二维网格模型80a,对其进行切割展开后,可以得到一个新的二维网格模型80b,且二维网格模型80b不存在洞结构,是一个规整的二维网格,可以减少洞结构数量,进而提升装箱结果的填充率。
请参见图10,图10是本申请实施例提供的一种分支类型的二维网格模型的切割结果示意图。如图10所示,对于分支类型的二维网格模型90a,可以基于分支数量对其进行切割展开后,得到新的二维网格模型90b和二维网格模型90c,很显然,二维网格模型90b和二维网格模型90c相比于二维网格模型90a,减少了分支数量。
请参见图11,图11是本申请实施例提供的一种凸包类型的二维网格模型的切割结果示意图。如图11所示,对于凸包类型的二维网格模型100a,对其进行切割展开后,可以得到新的二维网格模型100b和二维网格模型100c,很显然,二维网格模型100b和二维网格模型100c相比于二维网格模型100a,提高了二维网格本身面积与其对应凸包面积之间的比值,提高了凸包利用率,进而可以提升装箱结果的填充率。
请参见图12,图12是本申请实施例提供的一种非对称类型的二维网格模型的切割结果示意图。如图12所示,对于非对称类型的二维网格模型110a,对其进行切割展开后,可以得到新的二维网格模型110b和二维网格模型110c,很显然,切割得到的二维网格模型110c为对称模型,基于二维网格模型的对称性,可以提升纹理展开效果。
可选地,除了前述描述的从局部出发搜索切割路径,通过递归的方式逐层处理二维网格模型(UV岛)之外,还可以在全局建立惩罚函数,直接从全局找到最优解(即目标切割路径),找到后执行一次切割展开即可,可以简化切割处理操作流程,进而提高切割展开效率。可选地,对于非对称类型的二维网格模型,还可以在原三维网格模型上全局检测对称特征,在确定UV岛中存在对称多边形集合的情况下,直接寻找全局最优的切割方案进行处理,同样可以简化切割处理流程。
本申请实施例中,通过为不同模型类型的二维网格模型设计不同的惩罚函数,基于惩罚函数以及切割路径的路径长度,确定目标切割路径,进而通过目标切割路径对目标二维网格模型进行切割,以得到最终的模型切割结果,可以提高模型切割结果的规整性,进而提升二维网格模型的纹理展开效果;另外,基于本申请提出的切割方案,可以在切割展开工具中引入回退机制,可以提高UV展开的横屏横平竖直比、UV装箱效果,提高了UV空间中的填充率,进而可以提升渲染效果;另一方面,还可以提高UV展开的美观性。
请参见图13,图13是本申请实施例提供的一种数据处理装置的结构示意图。如图13所示,数据处理装置1可以包括:模型评估模块11,路径获取模块12,路径选取模块13,模型切割模块14;
模型评估模块11,用于获取目标二维网格模型,根据目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值;
路径获取模块12,用于获取目标二维网格模型对应的切割路径集合,获取切割路径集合中的切割路径对应的路径长度,根据模型类型获取切割路径集合中的切割路径对应的惩罚函数值;
路径选取模块13,用于根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中确定目标二维网格模型对应的目标切割路径;
模型切割模块14,用于基于目标切割路径,对目标二维网格模型进行切割,得到模型切割结果;模型切割结果用于指示目标二维网格模型的纹理展开结果。
其中,模型评估模块11,路径获取模块12,路径选取模块13,模型切割模块14的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
在一个或多个实施例中,模型评估模块11包括:网格降维单元1101,网格选取单元1102;
网格降维单元1101,用于获取三维网格模型,将三维网格模型切分为一个或多个三维网格分块,在纹理空间中对一个或多个三维网格分块进行展平,得到一个或多个二维网格模型;
网格选取单元1102,用于在一个或多个二维网格模型中,将满足模型切割条件的二维网格模型确定为目标二维网格模型。
可选地,模型类型包括环状类型;
模型评估模块11包括:洞结构确定单元1103,洞数量获取单元1104;
洞结构确定单元1103,用于根据目标二维网格模型对应的环状类型,确定目标二维网格模型中的候选洞结构;
洞数量获取单元1104,用于根据候选洞结构对应的边界面积,获取目标二维网格模型的洞结构数量,将洞结构数量确定为目标二维网格模型的结构评估值。
可选地,模型类型包括分支类型;
模型评估模块包括:内切圆确定单元1105,图结构构建单元1106,分支数量获取单元1107;
内切圆确定单元1105,用于根据目标二维网格模型对应的分支类型,确定目标二维网格模型对应的外轮廓中的x个内切圆,获取x个内切圆之间的圆心连接线段;x为大于1的正整数;
图结构构建单元1106,用于将x个内切圆的圆心作为节点,圆心连接线段作为边,构建针对目标二维网格模型对应的图结构;
分支数量获取单元1107,用于根据图结构中的分支所对应的分支长度,确定目标二维网格模型对应的分支数量,将分支数量确定为目标二维网格模型的结构评估值。
可选地,模型类型包括凸包类型;
模型评估模块11包括:凸包获取单元1108,凸包占比确定单元1109;
凸包获取单元1108,用于根据目标二维网格模型对应的凸包类型,获取目标二维网格模型对应的外轮廓点集的凸包;
凸包占比确定单元1109,用于获取凸包对应的凸包面积,以及获取目标二维网格模型对应的模型面积,将模型面积与凸包面积之间的比值,确定为目标二维网格模型的结构评估值。
可选地,模型类型包括非对称类型;
模型评估模块包括:对称轴确定单元1110,对称误差获取单元1111;
对称轴确定单元1110,用于根据目标二维网格模型对应的非对称类型,获取目标二维网格模型的中心点,通过中心点确定目标二维网格模型的对称轴;
对称误差获取单元1111,用于通过对称轴确定目标二维网格模型中的目标点与映射点之间的平均误差,根据平均误差获取目标二维网格模型对应的对称误差,将对称误差确定为目标二维网格模型的结构评估值。
其中,网格降维单元1101,网格选取单元1102,洞结构确定单元1103,洞数量获取单元1104,内切圆确定单元1105,图结构构建单元1106,分支数量获取单元1107,凸包获取单元1108,凸包占比确定单元1109,对称轴确定单元1110,对称误差获取单元1111的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。其中,当洞结构确定单元1103,洞数量获取单元1104在执行相应的操作时,内切圆确定单元1105,图结构构建单元1106,分支数量获取单元1107,凸包获取单元1108,凸包占比确定单元1109,对称轴确定单元1110,对称误差获取单元1111均暂停执行操作;当内切圆确定单元1105,图结构构建单元1106,分支数量获取单元1107在执行相应的操作时,洞结构确定单元1103,洞数量获取单元1104,凸包获取单元1108,凸包占比确定单元1109,对称轴确定单元1110,对称误差获取单元1111均暂停执行操作;当凸包获取单元1108,凸包占比确定单元1109在执行相应的操作时,洞结构确定单元1103,洞数量获取单元1104,内切圆确定单元1105,图结构构建单元1106,分支数量获取单元1107,对称轴确定单元1110,对称误差获取单元1111均暂停执行操作;当对称轴确定单元1110,对称误差获取单元1111在执行相应的操作时,洞结构确定单元1103,洞数量获取单元1104,内切圆确定单元1105,图结构构建单元1106,分支数量获取单元1107,凸包获取单元1108,凸包占比确定单元1109均暂停执行操作。
在一个或多个实施例中,路径获取模块12包括:标记单元121,最短路径确定单元122,路径长度获取单元123,网格切割单元124,函数值输出单元125;
标记单元121,用于对目标二维网格模型中的历史切割边、硬边以及遮挡边进行标记,得到目标二维网格模型中的标记边;硬边用于表征目标二维网格模型中光影变化量大于光影变化阈值的边;
最短路径确定单元122,用于在目标二维网格模型的历史切割边中确定路径起始点和路径终点,根据路径起始点和路径终点,在目标二维网格模型中的标记边中确定最短切割路径,将最短切割路径添加至切割路径集合。
路径长度获取单元123,用于获取切割路径集合中的切割路径p,获取切割路径p对应的路径长度l p,根据模型类型获取目标二维网格模型对应的惩罚函数;p为小于或等于切割路径集合中的切割路径数量的正整数;
网格切割单元124,用于获取切割路径p的连接数,基于切割路径p对目标二维网格模型进行切割,得到切割路径p对应的切割连通数;
函数值输出单元125,用于若切割路径p的连接数、切割路径p对应的切割连通数,以及切割路径p满足惩罚函数中的约束条件,则通过惩罚函数输出切割路径p对应的惩罚函数值ωp。
其中,标记单元121,最短路径确定单元122,路径长度获取单元123,网格切割单元124,函数值输出单元125的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
在一个或多个实施例中,路径选取模块13包括:加权参数获取单元131,筛选参数获取单元132,第一评估值获取单元133,第一比较单元134,第二评估值获取单元135,第二比较单元136;
加权参数获取单元131,用于获取目标二维网格模型对应的长度优化值和惩罚优化值,获取与长度优化值相关联的长度加权参数,以及与惩罚优化值相关联的惩罚加权参数;
筛选参数获取单元132,用于获取目标二维网格模型对应的长度优化值和惩罚优化值,将长度加权参数和长度优化值之间的乘积,以及惩罚加权参数和惩罚优化值之间的乘积进行求和运算,得到目标二维网格模型的路径筛选参数;
第一评估值获取单元133,用于将长度加权参数和路径长度l p之间的乘积,以及惩罚加权参数和惩罚函数值ωp之间的乘积进行求和运算,得到切割路径p的切割评估值;
第一比较单元134,用于若惩罚函数值ωp小于或等于结构评估值,且切割路径p的切割评估值小于或等于路径筛选参数,则将切割路径p确定为候选切割路径,从切割路径集合中删除切割路径p;
第二评估值获取单元135,用于将切割路径p的切割评估值确定为更新后的路径筛选参数,获取切割路径集合中的切割路径p+1对应的路径长度l p+1和惩罚函数值ωp+1,将长度加权参数和路径长度l p+1之间的乘积,以及惩罚加权参数和惩罚函数值ωp+1之间的乘积进行求和运算,得到切割路径p+1的切割评估值;
第二比较单元136,用于若惩罚函数值ωp+1小于或等于结构评估值,且切割路径p+1的切割评估值小于或等于更新后的路径筛选参数,则将切割路径p+1确定为更新后的候选切割路径,从切割路径集合中删除切割路径p+1,直至切割路径集合为空集合,将更新后的候选切割路径确定为目标切割路径。
其中,加权参数获取单元131,筛选参数获取单元132,第一评估值获取单元133,第一比较单元134,第二评估值获取单元135,第二比较单元136的具体功能实现方式可以参见上述图3所对应实施例中的步骤S103,这里不再进行赘述。
在一个或多个实施例中,该数据处理装置1还包括:路径丢弃模块15;
路径丢弃模块15,用于若惩罚函数值ωp大于结构评估值,或者切割路径p的切割评估值大于路径筛选参数,则从切割路径集合中删除切割路径p,继续保持路径筛选参数不变。
可选地,模型切割结果包括M个二维网格子模型,M为正整数;
该数据处理装置1还包括:展平模块16,拼接模块17,重新切割模块18;
展平模块16,用于在纹理空间中分别对M个二维网格子模型进行展平,得到展平后的M个二维网格子模型;
拼接模块17,用于对M个二维网格子模型进行拼接,得到目标二维网格模型对应的纹理展开结果;
重新切割模块18,用于若纹理展开结果不满足展开效果条件,则继续对纹理展开结果执行模型切割操作。
其中,路径丢弃模块15,展平模块16,拼接模块17,重新切割模块18的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。
本申请实施例中,通过为不同模型类型的二维网格模型设计不同的惩罚函数,基于惩罚函数以及切割路径的路径长度,确定目标切割路径,进而通过目标切割路径对目标二维网格模型进行切割,以得到最终的模型切割结果,可以提高模型切割结果的规整性,进而提升二维网格模型的纹理展开效果;另外,基于本申请提出的切割方案,可以在切割展开工具中引入回退机制,可以提高UV展开的横屏横平竖直比、UV装箱效果,提高了UV空间中的填充率,进而可以提升渲染效果;另一方面,还可以提高UV展开的美观性。
进一步地,请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,该计算机设备1000可以为用户终端,例如,上述图1所对应实施例中的用户终端10a,还可以为服务器,例如,上述图1所对应实施例中的服务器10d,这里将不对其进行限制。为便于理解,本申请以计算机设备为用户终端为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图14所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图14所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取目标二维网格模型,根据目标二维网格模型对应的模型类型,获取目标二维网格模型的结构评估值;
获取目标二维网格模型对应的切割路径集合,获取切割路径集合中的切割路径对应的路径长度,根据模型类型获取切割路径集合中的切割路径对应的惩罚函数值;
根据路径长度、惩罚函数值以及结构评估值,在切割路径集合中确定目标二维网格模型对应的目标切割路径;
基于目标切割路径,对目标二维网格模型进行切割,得到模型切割结果;模型切割结果用于指示目标二维网格模型的纹理展开结果。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3所对应实施例中对数据处理方法的描述,也可执行前文图7所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
获取目标二维网格模型,根据所述目标二维网格模型对应的模型类型,获取所述目标二维网格模型的结构评估值;所述结构评估值是指所述目标二维网格模型的不规则程度评分;
获取所述目标二维网格模型对应的切割路径集合,获取所述切割路径集合中的切割路径对应的路径长度,根据所述模型类型获取所述切割路径集合中的切割路径对应的惩罚函数值;
若所述切割路径集合中的切割路径p对应的惩罚函数值ωp小于或等于所述结构评估值,且所述切割路径p的切割评估值小于或等于路径筛选参数,则将所述切割路径p确定为候选切割路径,从所述切割路径集合中删除所述切割路径p;所述切割路径p的切割评估值用于评估所述目标二维网格模型基于所述切割路径p的切割效果;所述路径筛选参数是所述切割路径集合中用于筛选最优切割路径的筛选因素;
将所述切割路径p的切割评估值确定为更新后的路径筛选参数,获取所述切割路径集合中的切割路径p+1对应的路径长度l p+1和惩罚函数值ωp+1,将长度加权参数和所述路径长度l p+1之间的乘积,以及惩罚加权参数和所述惩罚函数值ωp+1之间的乘积进行求和运算,得到所述切割路径p+1的切割评估值;
若所述惩罚函数值ωp+1小于或等于所述结构评估值,且所述切割路径p+1的切割评估值小于或等于所述更新后的路径筛选参数,则将所述切割路径p+1确定为更新后的候选切割路径,从所述切割路径集合中删除所述切割路径p+1,直至所述切割路径集合为空集合,将所述更新后的候选切割路径确定为目标切割路径;
基于所述目标切割路径,对所述目标二维网格模型进行切割,得到模型切割结果;所述模型切割结果用于指示所述目标二维网格模型的纹理展开结果。
2.根据权利要求1所述的方法,其特征在于,所述获取目标二维网格模型,包括:
获取三维网格模型,将所述三维网格模型切分为一个或多个三维网格分块,在纹理空间中对所述一个或多个三维网格分块进行展平,得到一个或多个二维网格模型;
在所述一个或多个二维网格模型中,将满足模型切割条件的二维网格模型确定为目标二维网格模型。
3.根据权利要求1所述的方法,其特征在于,所述模型类型包括环状类型;
所述根据所述目标二维网格模型对应的模型类型,获取所述目标二维网格模型的结构评估值,包括:
根据所述目标二维网格模型对应的环状类型,确定所述目标二维网格模型中的候选洞结构;
根据所述候选洞结构对应的边界面积,获取所述目标二维网格模型的洞结构数量,将所述洞结构数量确定为所述目标二维网格模型的结构评估值。
4.根据权利要求1所述的方法,其特征在于,所述模型类型包括分支类型;
所述根据所述目标二维网格模型对应的模型类型,获取所述目标二维网格模型的结构评估值,包括:
根据所述目标二维网格模型对应的分支类型,确定所述目标二维网格模型对应的外轮廓中的x个内切圆,获取所述x个内切圆之间的圆心连接线段;x为大于1的正整数;
将所述x个内切圆的圆心作为节点,所述圆心连接线段作为边,构建针对所述目标二维网格模型对应的图结构;
根据所述图结构中的分支所对应的分支长度,确定所述目标二维网格模型对应的分支数量,将所述分支数量确定为所述目标二维网格模型的结构评估值。
5.根据权利要求1所述的方法,其特征在于,所述模型类型包括凸包类型;
所述根据所述目标二维网格模型对应的模型类型,获取所述目标二维网格模型的结构评估值,包括:
根据所述目标二维网格模型对应的凸包类型,获取所述目标二维网格模型对应的外轮廓点集的凸包;
获取所述凸包对应的凸包面积,以及获取所述目标二维网格模型对应的模型面积,将所述模型面积与所述凸包面积之间的比值,确定为所述目标二维网格模型的结构评估值。
6.根据权利要求1所述的方法,其特征在于,所述模型类型包括非对称类型;
所述根据所述目标二维网格模型对应的模型类型,获取所述目标二维网格模型的结构评估值,包括:
根据所述目标二维网格模型对应的非对称类型,获取所述目标二维网格模型的中心点,通过所述中心点确定所述目标二维网格模型的对称轴;
通过所述对称轴确定所述目标二维网格模型中的目标点与映射点之间的平均误差,根据所述平均误差获取所述目标二维网格模型对应的对称误差,将所述对称误差确定为所述目标二维网格模型的结构评估值。
7.根据权利要求1所述的方法,其特征在于,所述获取所述目标二维网格模型对应的切割路径集合,包括:
对所述目标二维网格模型中的历史切割边、硬边以及遮挡边进行标记,得到所述目标二维网格模型中的标记边;所述硬边用于表征所述目标二维网格模型中光影变化量大于光影变化阈值的边;
在所述目标二维网格模型的历史切割边中确定路径起始点和路径终点,根据所述路径起始点和所述路径终点,在所述目标二维网格模型中的标记边中确定最短切割路径,将所述最短切割路径添加至切割路径集合。
8.根据权利要求1所述的方法,其特征在于,所述获取所述切割路径集合中的切割路径对应的路径长度,根据所述模型类型获取所述切割路径集合中的切割路径对应的惩罚函数值,包括:
获取所述切割路径集合中的切割路径p,获取所述切割路径p对应的路径长度l p,根据所述模型类型获取所述目标二维网格模型对应的惩罚函数;p为小于或等于所述切割路径集合中的切割路径数量的正整数;
获取所述切割路径p的连接数,基于所述切割路径p对所述目标二维网格模型进行切割,得到所述切割路径p对应的切割连通数;
若所述切割路径p的连接数、所述切割路径p对应的切割连通数,以及所述切割路径p满足所述惩罚函数中的约束条件,则通过所述惩罚函数输出所述切割路径p对应的惩罚函数值ωp。
9.根据权利要求1所述的方法,其特征在于,还包括:
获取所述目标二维网格模型对应的长度优化值和惩罚优化值,获取与所述长度优化值相关联的长度加权参数,以及与所述惩罚优化值相关联的惩罚加权参数;
将所述长度加权参数和所述长度优化值之间的乘积,以及所述惩罚加权参数和所述惩罚优化值之间的乘积进行求和运算,得到所述目标二维网格模型的路径筛选参数。
10.根据权利要求1所述的方法,其特征在于,还包括:
若所述惩罚函数值ωp大于所述结构评估值,或者所述切割路径p的切割评估值大于所述路径筛选参数,则从所述切割路径集合中删除所述切割路径p,继续保持所述路径筛选参数不变。
11.根据权利要求1所述的方法,其特征在于,所述模型切割结果包括M个二维网格子模型,M为正整数;
所述方法还包括:
在纹理空间中分别对所述M个二维网格子模型进行展平,得到展平后的M个二维网格子模型;
对所述M个二维网格子模型进行拼接,得到所述目标二维网格模型对应的纹理展开结果;
若所述纹理展开结果不满足展开效果条件,则继续对所述纹理展开结果执行模型切割操作。
12.一种数据处理装置,其特征在于,包括:
模型评估模块;用于获取目标二维网格模型,根据所述目标二维网格模型对应的模型类型,获取所述目标二维网格模型的结构评估值;所述结构评估值是指所述目标二维网格模型的不规则程度评分;
路径获取模块,用于获取所述目标二维网格模型对应的切割路径集合,获取所述切割路径集合中的切割路径对应的路径长度,根据所述模型类型获取所述切割路径集合中的切割路径对应的惩罚函数值;
路径选取模块,用于若所述切割路径集合中的切割路径p对应的惩罚函数值ωp小于或等于所述结构评估值,且所述切割路径p的切割评估值小于或等于路径筛选参数,则将所述切割路径p确定为候选切割路径,从所述切割路径集合中删除所述切割路径p;所述切割路径p的切割评估值用于评估所述目标二维网格模型基于所述切割路径p的切割效果;所述路径筛选参数是所述切割路径集合中用于筛选最优切割路径的筛选因素;
所述路径选取模块,还用于将所述切割路径p的切割评估值确定为更新后的路径筛选参数,获取所述切割路径集合中的切割路径p+1对应的路径长度l p+1和惩罚函数值ωp+1,将长度加权参数和所述路径长度l p+1之间的乘积,以及惩罚加权参数和所述惩罚函数值ωp+1之间的乘积进行求和运算,得到所述切割路径p+1的切割评估值;
所述路径选取模块,还用于若所述惩罚函数值ωp+1小于或等于所述结构评估值,且所述切割路径p+1的切割评估值小于或等于所述更新后的路径筛选参数,则将所述切割路径p+1确定为更新后的候选切割路径,从所述切割路径集合中删除所述切割路径p+1,直至所述切割路径集合为空集合,将所述更新后的候选切割路径确定为目标切割路径;
模型切割模块,用于基于所述目标切割路径,对所述目标二维网格模型进行切割,得到模型切割结果;所述模型切割结果用于指示所述目标二维网格模型的纹理展开结果。
13.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234766.0A CN114418836B (zh) | 2022-03-11 | 2022-03-11 | 数据处理方法、装置、设备以及介质 |
PCT/CN2023/073928 WO2023169095A1 (zh) | 2022-03-11 | 2023-01-31 | 数据处理方法、装置、设备以及介质 |
US18/386,284 US20240062469A1 (en) | 2022-03-11 | 2023-11-02 | Data processing method, apparatus, device, and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234766.0A CN114418836B (zh) | 2022-03-11 | 2022-03-11 | 数据处理方法、装置、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114418836A CN114418836A (zh) | 2022-04-29 |
CN114418836B true CN114418836B (zh) | 2022-06-21 |
Family
ID=81262698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210234766.0A Active CN114418836B (zh) | 2022-03-11 | 2022-03-11 | 数据处理方法、装置、设备以及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240062469A1 (zh) |
CN (1) | CN114418836B (zh) |
WO (1) | WO2023169095A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114418836B (zh) * | 2022-03-11 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备以及介质 |
CN116977530A (zh) * | 2023-07-11 | 2023-10-31 | 优酷网络技术(北京)有限公司 | 三维模型的处理方法、装置、电子设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109727307A (zh) * | 2018-12-29 | 2019-05-07 | 上海联影医疗科技有限公司 | 一种表面网格切割方法、装置及计算机可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824494B2 (en) * | 2015-06-17 | 2017-11-21 | Adobe Systems Incorporated | Hybrid surfaces for mesh repair |
US11195325B2 (en) * | 2015-07-01 | 2021-12-07 | 3D4Medical Limited | Method and apparatus for freeform cutting of digital three dimensional structures |
US20170124753A1 (en) * | 2015-11-03 | 2017-05-04 | Electronic Arts Inc. | Producing cut-out meshes for generating texture maps for three-dimensional surfaces |
CN105354846A (zh) * | 2015-11-05 | 2016-02-24 | 沈阳东软医疗系统有限公司 | 一种分割三维医疗图像的方法和装置 |
US10325412B2 (en) * | 2015-11-05 | 2019-06-18 | Shenyang Neusoft Medical Systems Co., Ltd. | Cutting three-dimensional image |
US11127205B2 (en) * | 2019-11-12 | 2021-09-21 | Adobe Inc. | Three-dimensional mesh segmentation |
CN112561788B (zh) * | 2020-12-22 | 2024-05-10 | 广联达科技股份有限公司 | 一种bim模型的二维展开方法及纹理贴图方法、装置 |
CN113724401B (zh) * | 2021-09-02 | 2023-12-15 | 广州点金石信息技术有限公司 | 一种三维模型切割方法、装置、计算机设备和存储介质 |
CN114418836B (zh) * | 2022-03-11 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备以及介质 |
-
2022
- 2022-03-11 CN CN202210234766.0A patent/CN114418836B/zh active Active
-
2023
- 2023-01-31 WO PCT/CN2023/073928 patent/WO2023169095A1/zh unknown
- 2023-11-02 US US18/386,284 patent/US20240062469A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109727307A (zh) * | 2018-12-29 | 2019-05-07 | 上海联影医疗科技有限公司 | 一种表面网格切割方法、装置及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Alex J. Cuadros-Vargas et al..Improving 2D mesh image segmentation with Markovian Random Fields.《2006 19th Brazilian Symposium on Computer Graphics and Image Processing》.2006,第61-70页. * |
李定林等.基于三角网格模型的剖切轮廓自动补面方法.《装备维修技术》.2019,2019年第3期 第203-204页. * |
Also Published As
Publication number | Publication date |
---|---|
CN114418836A (zh) | 2022-04-29 |
US20240062469A1 (en) | 2024-02-22 |
WO2023169095A1 (zh) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114418836B (zh) | 数据处理方法、装置、设备以及介质 | |
CN112347546A (zh) | 基于轻量级设备的bim渲染方法、设备和计算机可读存储介质 | |
US6031548A (en) | Progressive multi-level transmission and display of triangular meshes | |
KR100233972B1 (ko) | 기하학적 모델을 압축 및 압축해제하는 컴퓨터 시스템과 압축 및압축해제 | |
CN110428386B (zh) | 地图网格合并方法、装置、存储介质、电子装置 | |
WO1989007301A1 (en) | Generating a mesh for finite element analysis | |
US20080036760A1 (en) | Method, Apparatus And Computer Program Product Enabling A Dynamic Global Parameterization Of Triangle Meshes Over Polygonal Domain Meshes | |
CN116051708A (zh) | 三维场景轻量化模型渲染方法、设备、装置及存储介质 | |
CN107003834B (zh) | 行人检测设备和方法 | |
CN109993753B (zh) | 遥感影像中城市功能区的分割方法及装置 | |
CN115294258B (zh) | 三维模型的展开方法、装置、设备及计算机可读存储介质 | |
CN114494668B (zh) | 三维模型的展开方法、装置、设备及存储介质 | |
CN112561788B (zh) | 一种bim模型的二维展开方法及纹理贴图方法、装置 | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN115578536A (zh) | 一种分层分块三维模型节点合并方法、装置和电子装置 | |
CN115222806A (zh) | 多边形处理方法、装置、设备及计算机可读存储介质 | |
CN112734900A (zh) | 阴影贴图的烘焙方法、装置、设备及计算机可读存储介质 | |
CN110136262B (zh) | 水体虚拟可视化方法和装置 | |
CN107767458B (zh) | 不规则三角网曲面几何拓扑一致分析方法及系统 | |
Wang et al. | Orthogonal voronoi diagram and treemap | |
WO2021101992A1 (en) | Methods, systems and media for generative urban design where maps are generated using fractals | |
CN117115391B (zh) | 模型更新方法、装置、计算机设备及计算机可读存储介质 | |
CN111462301B (zh) | 用于多视图植物三维重建的生成模型的构建方法 | |
CN115830255B (zh) | 一种仿真场景生成方法、装置、电子设备和存储介质 | |
CN114840629B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40071521 Country of ref document: HK |