CN116977604A - 网格模型处理方法、装置、电子设备及介质 - Google Patents
网格模型处理方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116977604A CN116977604A CN202210432059.2A CN202210432059A CN116977604A CN 116977604 A CN116977604 A CN 116977604A CN 202210432059 A CN202210432059 A CN 202210432059A CN 116977604 A CN116977604 A CN 116977604A
- Authority
- CN
- China
- Prior art keywords
- clipping
- determining
- model
- patch
- triangular
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 14
- 230000000007 visual effect Effects 0.000 abstract description 5
- 230000002045 lasting effect Effects 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 75
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 210000000988 bone and bone Anatomy 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000027455 binding Effects 0.000 description 4
- 238000009739 binding Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
-
- 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
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例提供了一种网格模型处理方法、装置、电子设备及介质,该方法包括:在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;基于剪裁平面,确定待裁剪模型上的目标三角面片,以及与剪裁平面相交的待处理三角面片和相应的剪裁点;基于各剪裁点对相应待处理面片进行处理,更新目标三角面片,并根据各剪裁点和位于剪裁平面上的顶点信息,确定至少一个底面面片;根据各目标三角面片和至少一个底面面片,确定目标裁剪模型。本公开实施例所提供的技术方案,在无需引入模型之外其他顶点的基础上,可以对待裁剪模型进行分割并对分割面填充,达到了避免穿帮、空洞以及视角效果不佳的效果。
Description
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种网格模型处理方法、装置、电子设备及介质。
背景技术
目前,在生成AR特效视频时,为了提高对象的灵活性,则会对模型进行相应的剪裁,以得到局部三维模型。
现有对模型剪裁多是通过下述方式来实现的:将目标三维模型中位于剪裁平面另一侧的顶点全部舍弃,基于剩余的顶点信息重建出三维模型。或者是,将剪裁平面处理为裁剪模型,使用类似碰撞检测的方法,从裁剪模型和目标三维模型中各选取一部分顶点构成新的模型。
但是,上述方式存在分离面无法与剪裁平面保持一致,导致效果不理想,进一步的,很难获取新加入顶点的其他信息,例如,例如,应用场景为对用户躯干模型进行剪裁,则无法获取到骨骼定位信息,导致在模型运动过程中,存在穿帮的问题。
发明内容
本公开提供一种网格模型处理方法、装置、电子设备及介质,以实现保证待裁剪模型的切分面平整,同时,解决了切分平面的空洞问题,提高了模型展示真实性的效果。
第一方面,本公开实施例提供了一种网格模型处理方法,该方法包括:
在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
第二方面,本公开实施例还提供了一种网格模型处理装置,该装置包括:
平面确定模块,用于在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
剪裁点确定模块,用于基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
底面面片确定模块,用于基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
目标视频确定模块,用于根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的模型处理方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例任一所述的模型处理方法。
本公开实施例所提供的技术方案,在检测到满足模型裁剪条件时,可以确定与待裁剪模型相对应的剪裁平面,并基于该剪裁平面确定位于待裁剪模型上的目标三角面片,以及待处理三角面片,同时,可以确定待处理三角面片上的剪裁点,根据剪裁点对相应待处理面片进行处理,可以更新目标三角面片的数量,同时,可以根据各剪裁点和位于剪裁平面上的顶点信息,确定至少一个底面面片,通过对各底面面片和目标三角面片拼接处理,确定出目标裁剪模型,解决了现有技术中目标三维模型在分离面上无法与剪裁平面保持一致,同时,还会出现一定的空洞,导致视觉效果不佳的问题,实现了在无需引入其他新的顶点的条件下,可以对待裁剪模型进行分割,并且可以对分割面进行填充,达到了避免穿帮、空洞以及视角效果不佳的效果,相应的,将其应用在具体图像处理的场景中时,可以提高用户体验的技术效果。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例所提供的一种网格模型处理方法流程示意图;
图2为本公开实施例所提供的一种面片类型结构示意图;
图3为本公开实施例所提供的一种面片类型结构示意图;
图4为本公开实施例所提供的待裁剪模型和目标裁剪模型的结构示意图;
图5为本公开实施例所提供的一种网格模型处理装置结构示意图;
图6为本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
在介绍本技术方案之前,可以先对应用场景进行示例性说明。可以本技术方案应用在任意需要对3D模型进行裁剪的场景,可选的,在生成特效视频的过程中,如果需要模型有较好的效果展示,通常会将灵活运动的部分裁减掉,以提高显示界面不会出现空洞的情形,即可以应用在任意需要对模型进行裁剪的场景中。在本技术方案中3D模型可以是网格模型。
图1为本公开实施例所提供的一种网格模型处理方法流程示意图,本公开实施例适用于各应用场景中需要对显示的待裁剪模型进行裁剪的情形,例如,应用场景可以是视频场景,3D模型处理场景、特效视频处理场景等,该方法可以由模型处理装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。本技术方案的实现可以由服务端来执行,也可以由客户端来执行,也可以是服务端与客户端配合实现等。
如图1所示,所述方法包括:
S110、在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面。
需要说明的是,执行本公开实施例提供的模型处理的装置,可以集成在支持图像处理功能的应用软件中,且该软件可以安装至电子设备中,可选的,电子设备可以是移动终端或者PC端等。应用软件可以是对视频中的模型处理的一类软件,其具体的应用软件在此不再一一赘述,只要可以实现图像/视频处理即可。还可以是专门研发的应用程序,亦或是集成在相应的页面中,用户可以通过PC端中集成的页面来实现图像处理。
通常,三维模型的展示多体现在视频场景中。视频是由多个视频帧构成。每个视频帧中可以包括三维模型,也可以不包括三维模型。三维模型可以是待裁剪模型,待裁剪模型可以是任意目标主体所对应的模型,或AR特效模型。可选的,目标主体可以是入镜画面中的用户、宠物等。也就是说,在入镜画面中包括相对应的目标主体时,可以创建与其相对应的模型,并将该模型作为待裁剪模型。相应的,对待裁剪模型进行裁剪时,可以确定裁剪的依据,即以哪一个基准平面为基准进行剪裁,可以将此基准平面的方程作为剪裁平面方程。可选的,剪裁平面方程可以为ax+by+cz+d=0。
还需要说明的是,为了提高对模型裁剪的便捷性和有效性,可以在检测到满足剪裁条件时对模型进行裁剪。可选的,剪裁条件包括下述至少一种:检测到触发模型剪裁控件;显示画面中包括待裁剪模型;采集的音频信息触发模型裁剪指令;当前视频帧的播放时间戳与预先设定的裁剪时间戳相一致;基于显示界面中的显示信息确定满足裁剪模型;基于输入条件确定满足模型裁剪
可以理解为,在实际应用中,显示界面上可以包括剪裁控件,当用户触发裁剪控件时,说明满足剪裁条件,需要对待裁剪模型进行裁剪。还可以是:在生成AR特效视频的场景中,只要检测到包括待裁剪模型,就认为满足了裁剪条件。或者是:为了进一步提高交互的智能性,可以基于终端设备上的麦克风阵列采集用户的语音信息,如果语音信息触发了裁剪指令,可选的,开始裁剪,则说明满足裁剪条件。当然,还可以是,可以确定视频中特效模型的展示时间戳,若当前播放时间戳与展示时间戳相一致,即与预先设定的裁剪时间戳相一致,则确定触发了剪裁条件。
还需要说明的是,为了进一步提高智能性,还可以是只要显示界面中出现了待裁剪模型,就认为触发了剪裁条件,其具体的触发事件可以根据实际需求进行设置,在此不再限定。
还需要说明的是,还可以根据显示界面中的显示信息,可选的,显示信息可以显示的待裁剪模型,或者是,画面中的其他信息。将基于手柄控制显示界面中的信息作为输入条件,例如,基于手柄控制3D模型运动,那么输入条件就可以是手柄控制运动,相应的,需要将腿部部位剪裁掉,即满足剪裁条件。
在本实施例中,确定与待裁剪模型相对应的剪裁平面,包括确定所述待裁剪模型的类型信息;根据所述类型信息,确定所述剪裁平面。
可以理解为,不同的待裁剪模型所需要使用的剪裁平面方程是不同的。在确定当前待处理视频帧中包括待裁剪模型后,可以确定该待裁剪模型所对应的类型信息,并调取与该类型信息所对应的剪裁平面方程。即,可以预先建立不同待裁剪模型与相应剪裁平面方程之间的对应关系,以基于对应关系,确定该待裁剪模型所对应的剪裁平面方程。示例性的,预先设置不同待裁剪模型所对应的模型标识,并建立模型标识与相应剪裁平面方程之间的对应关系。在确定当前待处理视频帧中包括待裁剪模型时,可以确定该待裁剪模型的模型标识,并根据对应关系确定与该模型标识相对应的剪裁平面方程。
当然,确定剪裁平面还可以是基于语音信息确定的,或者触发操作确定的,例如,用户可以通过鼠标在显示界面上进行滑动,基于滑动轨迹拟合出一个平面,作为剪裁平面。或者是,将出发点所属的平面,且与水平面平行的平面,作为剪裁平面。
示例性的,例如,类型信息可以是宠物模型、用户模型中的至少一种。在确定显示界面中显示的待裁剪模型为用户模型,则确定剪裁平面方程与腰部所对应的平面相一致,若待裁剪模型为宠物模型,那么平面方程可以是与头部所对应的平面相一致。
上述确定裁剪平面的好处在于,可以提高确定剪裁平面的便捷性,进而提高对模型裁剪的便捷性。
S120、基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点。
需要说明的是,待裁剪模型是由多个三角面片构成的。可以通过三角面片顶点的三维坐标和构成三角形的顶点序号来描述。每个三角面片可以称为待裁剪网格。
通常,一个平面可以将空间分割为两部分,相应的,剪裁平面方程可以将待裁剪模型也划分为两部分,可选的,分别为位于剪裁平面两侧的第一部分模型和第二部分模型。可以选设置位于剪裁平面某一侧的面片为目标三角面片,另一个的为需要舍弃的三角面片。当然,还有一部分三角面片是与剪裁平面相交的,将此类型的三角平面作为待处理三角面片。在实际应用中,若三角面片与剪裁平面相交,则存在至少一个交点,可以将此交点作为剪裁点。
具体的,可以基于剪裁平面方程,确定位于裁剪平面方程第一侧的面片作为目标三角面片。将位于另一侧的面片作为舍弃三角面片,将与剪裁平面方程所属剪裁平面相交的面片作为待处理三角面片。通常,目标裁剪模型中不包括舍弃三角面片。
在实施例中,确定目标三角面片和待处理三角面片的具体确定方式可以是:针对各三角面片,确定当前三角面片的三个顶点与所述剪裁平面的相对位置信息;若基于所述相对位置信息,确定三个顶点均为位于所述剪裁平面的第一侧,则确定所述当前三角面片为所述目标三角面片;若基于所述相对位置信息,确定三个顶点位于所述剪裁平面相异两侧,则确定所述当前三角面片为所述待处理三角面片
需要说明的是,对每个三角面片的处理方式都是相同的,可以以对其中一个三角面片的处理为例来说明,将当前介绍的三角面片作为当前三角面片。
其中,每个三角面片包括至少三个顶点,可以依据面片在待裁剪模型上的排布信息,或者,在显示界面中的显示信息,确定其具体的顶点信息。顶点信息中包括顶点坐标。顶点坐标可以是空间三维坐标。相对位置信息可以是该顶点位于裁剪平面的那一侧。示例性的,将该顶点信息代入剪裁平面所对应的剪裁平面方程,若值大于0,则说明该顶点位于剪裁平面的上方,若小于0则说明该顶点位于剪裁平面的下方。
具体的,获取当前面片的三个顶点信息,将各顶点信息分别代入剪裁平面所对应的方程,如果函数值均大于0,则说明当前三角面片位于剪裁平面的第一侧,即上方,可以将此类三角面片作为目标三角面片。若函数值均小于0,则说明当前三角面片位于剪裁平面的第二侧,即下方,可以将此类三角面片舍弃掉。相应的,如果既存在大于0的函数值,也存在小于0的函数值,则确定当前三角面片为待处理三角面片。
在确定当前面片为待处理三角面片之后,还包括:根据位于剪裁平面第一侧的顶点信息,和位于剪裁平面第二侧的顶点信息,确定与待处理三角面片相对应的至少一个顶点组。该顶点组中包括两个待处理顶点的顶点信息。
示例性的,可以预先确定各三角面片的面片标识、顶点序号、顶点坐标,以及每条三角便所属面片标识。遍历待裁剪模型中的每个三角面片。对与每个三角面片的顶点可以采用的处理方式为:当前三角面片顶点A的坐标为(x0,y0, z0),可以将A点坐标代入剪裁平面方程中得到:e=a*x0+b*y0+c*z0+d。如果 e>0,则说明位于剪裁平面方程所属剪裁平面的上方,如果e<0,则说明位于剪裁平面所属剪裁平面的下方。基于e值,可以确定当前三角面片中各顶点与剪裁平面的相对位置信息,进而确定当前三角面片是否为待处理三角面片。可选的,如果两个顶点所对应的e>0,另一个顶点所对应的e<0,则说明当前三角面片为待处理三角面片,可以构造出两个顶点组,即,可以确定出两个裁剪点。
在确定顶点组之后,可以根据顶点组中的顶点信息,确定与剪裁点。可选的,针对各顶点组,确定当前待处理顶点组中的两个待处理顶点信息,分别到剪裁平面方程所属剪裁平面的待处理距离;根据待处理距离以及两个待处理顶点信息所对应的面片线段,确定在面片线段上的剪裁点。
具体的,每个顶点组中包括两个待处理顶点信息,此时两个待处理顶点信息所对应的顶点主要位于剪裁平面的两侧。将两个待处理顶点之间的连线作为所述待处理顶点所对应的线段。可以根据点到平面距离公式,分别计算出两个待处理顶点到剪裁平面的距离信息。根据距离信息的比值,和两个待处理顶点所对应的面片线段,确定出相应的剪裁点。
示例性的,利用点到平面距离公式,确定出顶点组中两个顶点到剪裁平面的距离,分别标记为d0、d1,基于上述两个距离和两个顶点所对应的线段长度,可选的,利用相似,就可以确定出剪裁点。
采用上述方式确定剪裁点的好处在于:后续剪裁点可能作为保留裁剪模型的顶点,并且该顶点都是基于待裁剪模型中的顶点信息插值确定的,可以直接生成纹理坐标和骨骼绑定。
在上述技术方案的基础上,根据待处理距离以及两个待处理顶点信息所对应的面片线段,确定在面片线段上的剪裁点,包括:确定待处理距离的比值信息,以根据比值信息确定在面片线段上的剪裁比例;基于剪裁比例和两个待处理顶点的属性信息,确定在面片线段上的剪裁点。
其中,属性信息可以是两个顶点的uv信息,可选的,可以是纹理坐标信息,当然,还可以是其他信息,例如,可以是法线信息、骨骼绑定信息、切线信息等,当然,还可以根据实际需求设置其他的属性信息,其具体的属性信息可以根据实际需求进行设置,在此不对其作具体限定。
具体的,针对每个顶点组,根据与当前顶点组所对应的两个待处理距离,可以确定出距离比值,并将距离比值作为剪裁比例。基于剪裁比例和两个待处理顶点的属性信息,可以对属性信息中的uv信息插值运算,得到剪裁点的属性信息。
S130、基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片。
在上述确定出待处理面片和与待处理面片相关联的剪裁点之后,可以基于剪裁点对待处理三角面片进行处理,得到可以使用的目标三角面片。同时,为了避免在显示的过程中出现空洞,造成穿帮的问题,可以基于各剪裁点对分割面进行填充处理。将填充处理时所对应的面片作为底面面片。
在本实施例中,根据剪裁点和相应的待处理三角面片更新目标三角面片,包括:根据各待处理三角面片所关联的至少两个剪裁点,确定剪裁后的面片类型;根据面片类型,更新目标三角面片。
其中,每个待处理三角面片可以对应至少两个剪裁点。基于两个剪裁点对三角面片的剪裁通常可以出现下述两种情况。
第一种情况为:一个顶点位于剪裁平面第一侧,两个顶点位于剪裁平面的第二侧,此种情况下,待裁剪模型的一个三角面片被裁剪成一新模型中的一个面。如图2所示,ABC是待裁剪模型中的三角面片。剪裁平面与三角面片的两条边AB、AC分别相交于D、E点,A在裁剪平面内侧,B、C在裁剪平面外侧,则新的三角面片是在原三角面片在裁剪平面内侧的部分ADE。即,可以采用上述方式,确定出DE所对应的属性信息。
第二种情况为:两个顶点在剪裁平面的第一侧,一个顶点在剪裁平面的另一侧,如图3所示,ABC是待裁剪模型中的三角面片,剪裁平面与AC、BC分别相交于D、E点,A、B在裁剪平面内侧,C在裁剪平面外侧,则保留的部分是四边面片ABDE,为了保持三角面片的统一性,我们将其分开为三角面片ADE 和ABD。
基于上述可知,面片类型包括重新拆分面片类型和非重新拆分面片类型。基于上述方式,可以重新确定出三角面片,即可以更新目标三角面片。
也就是说,若所述面片类型为第一类型,则根据相应待处理三角面片的一个保留顶点信息和至少两个剪裁点,确定目标三角面片;若所述面片类型为第二类型,则依据相应待处理三角面片的两个保留顶点信息和至少两个剪裁点,划分为至少两个三角面片,并作为目标三角面片。
可以理解为,第一类型基不重新拆分的面片类型,可以将保留的顶点信息和剪裁点重新构造一个三角面片,作为目标三角面片。第二类型是重新拆分面片类型,拆分后的面片类型包括四个顶点,可以基于四个顶点重新划分为两个三角面片,得到两个目标三角面片。
进一步的,在确定目标三角面片的同时,为了避免在显示过程中出现空洞的问题,还可以确定封装分割面的底面面片。
确定底面片面的方式可以是:根据各剪裁点和位于剪裁平面方程上目标三角面片的待拼接顶点信息,确定至少一个连通域;确定连通域的中心点,并根据中心点、待拼接顶点信息和剪裁点,确定至少一个底面面片。
其中,将目标三角面片中顶点位于剪裁平面的顶点作为待拼接顶点。即将顶点信息代入剪裁平面方程后,其值为0的顶点作为待拼接顶点。待拼接顶点信息主要是指该顶点的顶点属性信息。
具体的,可以对各剪裁点以及位于剪裁平面上目标三角面片上的顶点信息,可以确定出至少一个连通域。例如,如果待裁剪模型为用户躯干模型,剪裁平面方程与剪裁腰部的平面相对应,那么,连通域的数量可以是一个;如果剪裁平面方程与剪裁膝盖部位的平面相对应,那么,构成的连通域的数量可以是两个。其连通域的具体数量与剪裁平面方程所对应的剪裁部位相一致。可以分别确定各连通域的中心点。将中心点分别与各剪裁点和待拼接顶点信息相连接,得到至少一个底面面片。即底面面片主要与分割面的底部相对应。
可以理解为:完成裁剪之后,还需要把裁剪面(分割面)进行封闭,避免渲染中出现空洞。可以对当前模型的全部三角形进行循环,如果一个三角形中有两个裁剪平面上的顶点,则记录这两个点的连接关系。最终,我们将裁减平面上所有顶点按照连接关系将他们分割成连通区域。然后为每个连通区域生成一个中心点,作为裁减平面在这一部分的一个辅助点。
将前一步得到的每一个连通区域的顶点按照连通顺序进行排序,然后依次跟中心点相连,来得到所有的三角形。为了判断三角形的顶点顺序,我们计算三角形的法向,保证三角形法向朝向平面下方,从而得到至少一个底面面片。
S140、根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
具体的,依据保留的目标三角面片和至少一个底面面片,可以确定出目标裁剪模型,可以将此时的目标裁剪模型渲染当前待处理视频帧,得到目标视频帧。
示例性的,图4中的(a)为待裁剪模型,基于本公开实施例所提供的技术方案对待裁剪模型进行裁剪,可以得到如图4中(b)所对应的示意图,即目标裁剪模型。
本公开实施例所提供的技术方案,在检测到满足模型裁剪条件时,可以确定与待裁剪模型相对应的剪裁平面,并基于该剪裁平面确定位于待裁剪模型上的目标三角面片,以及待处理三角面片,同时,可以确定待处理三角面片上的剪裁点,根据剪裁点对相应待处理面片进行处理,可以更新目标三角面片的数量,同时,可以根据各剪裁点和位于剪裁平面上的顶点信息,确定至少一个底面面片,通过对各底面面片和目标三角面片拼接处理,确定出目标裁剪模型,解决了现有技术中目标三维模型在分离面上无法与剪裁平面保持一致,同时,还会出现一定的空洞,导致视觉效果不佳的问题,实现了通过对原有的顶点信息插值处理,可以得到新的顶点,从而可以获取其相应的骨骼信息等,或者其他与该面片绑定的信息,进一步的,还可以对待裁剪模型的分割面进行填充,达到了避免穿帮、空洞以及视角效果不佳的效果,相应的,将其应用在具体图像处理的场景中时,可以提高用户体验的技术效果。
图5为本公开实施例所提供的一种网格模型处理装置结构示意图,如图5 所示,所述装置包括:平面确定模块210、剪裁点确定模块220、底面面片确定模块230以及目标视频确定模块240。
其中,平面确定模块210,用于在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;剪裁点确定模块220,用于基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;底面面片确定模块230,用于基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;目标视频确定模块240,用于根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
在上述各技术方案的基础上,所述剪裁条件包括下述至少一种:
检测到触发模型剪裁控件;
显示画面中包括待裁剪模型;
采集的音频信息触发模型裁剪指令;
当前视频帧的播放时间戳与预先设定的裁剪时间戳相一致;
基于显示界面中的显示信息确定满足裁剪模型;
基于输入条件确定满足模型裁剪在上述各技术方案的基础上,平面确定模块,包括:
类型信息确定单元,用于确定所述待裁剪模型的类型信息;
剪裁平面确定单元,用于根据所述类型信息,确定所述剪裁平面。
在上述各技术方案的基础上,所述平面确定模块,包括:
位置确定单元,用于针对各三角面片,获取当前三角面片的三个顶点信息,并确定所述三个顶点信息与所述剪裁平面的相对位置信息;
第一面片确定单元,用于若所述相对位置信息均为位于所述剪裁平面的第一侧,则确定所述当前三角面片为所述目标三角面片;
第二面片确定单元,用于若所述相对位置信息位于所述剪裁平面相异两侧,则确定所述当前三角面片为所述待处理三角面片。
在上述各技术方案的基础上,所述平面确定模块,在确定当前三角面片为待处理三角面片之后,还用于:根据位于所述剪裁平面相异两侧的待处理顶点,确定顶点组,以根据顶点组和所述剪裁平面所对应的剪裁平面方程,确定剪裁点。
在上述各技术方案的基础上,所述剪裁点确定模块,包括:
距离确定单元,用于针对各顶点组,确定当前待处理顶点组中的两个待处理顶点,分别到所述剪裁平面的待处理距离;
剪裁点确定单元,用于根据所述待处理距离、待处理顶点所对应的线段,确定所述当前待处理顶点组的剪裁点。
在上述各技术方案的基础上,所述剪裁点确定单元,包括:
比例确定单元,用于根据所述待处理距离,确定剪裁比例;
剪裁点确定子单元,用于基于所述剪裁比例和所述两个待处理顶点的属性信息,确定在所述线段上的剪裁点。
在上述各技术方案的基础上,所述底面面片确定模块,包括:
面片类型确定单元,用于根据与各待处理三角面片所关联的至少两个剪裁点,确定剪裁后的面片类型;
面片确定子单元,用于根据所述面片类型,更新所述目标三角面片。
在上述各技术方案的基础上,所述底面面片确定模块,还用于:
若所述面片类型为非分割类型,则根据待处理三角面片的一个保留顶点信息和至少两个剪裁点,确定目标三角面片;
若所述面片类型为分割类型,则依据待处理三角面片的两个保留顶点信息和至少两个剪裁点,划分为至少两个三角面片,并作为目标三角面片。
在上述各技术方案的基础上,所述底面面片确定模块,包括:
连通域确定单元,用于根据各剪裁点和位于所述剪裁平面上目标三角面片的待拼接顶点信息,确定至少一个连通域;
底面面片确定单元,用于确定所述连通域的中心点,并根据所述中心点、待拼接顶点信息和所述剪裁点,确定至少一个底面面片。
在上述各技术方案的基础上,所述装置应用在包括三维模型的视频或图像中。
本公开实施例所提供的技术方案,在检测到满足模型裁剪条件时,可以确定与待裁剪模型相对应的剪裁平面,并基于该剪裁平面确定位于待裁剪模型上的目标三角面片,以及待处理三角面片,同时,可以确定待处理三角面片上的剪裁点,根据剪裁点对相应待处理面片进行处理,可以更新目标三角面片的数量,同时,可以根据各剪裁点和位于剪裁平面上的顶点信息,确定至少一个底面面片,通过对各底面面片和目标三角面片拼接处理,确定出目标裁剪模型,解决了现有技术中目标三维模型在分离面上无法与剪裁平面保持一致,同时,还会出现一定的空洞,导致视觉效果不佳的问题,实现了通过对原有的顶点信息插值处理,可以得到新的顶点,从而可以获取其相应的骨骼信息等,或者其他与该面片绑定的信息,进一步的,还可以对待裁剪模型的分割面进行填充,达到了避免穿帮、空洞以及视角效果不佳的效果,相应的,将其应用在具体图像处理的场景中时,可以提高用户体验的技术效果。
本公开实施例所提供的网格模型处理装置可执行本公开任意实施例所提供的网格模型处理方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
图6为本公开实施例所提供的一种电子设备的结构示意图。下面参考图6,其示出了适于用来实现本公开实施例的电子设备(例如图6中的终端设备或服务器)300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。编辑/输出(I/O) 接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302 被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供的电子设备与上述实施例提供的模型处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的模型处理方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM 或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、 RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器 (EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,【示例一】提供了一种网格模型处理方法,该方法包括:
在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
根据本公开的一个或多个实施例,【示例二】提供了一种网格模型处理方法,还包括:
可选的,所述剪裁条件包括下述至少一种:
检测到触发模型剪裁控件;
入镜画面中包括待裁剪模型;
采集的音频信息触发模型裁剪指令;
当前视频帧的播放时间戳与预先设定的裁剪时间戳相一致。
根据本公开的一个或多个实施例,【示例三】提供了一种网格模型处理方法,还包括:
可选的,所述确定与待裁剪模型相对应的剪裁平面,包括:
确定所述待裁剪模型的类型信息;
根据所述类型信息,确定所述剪裁平面。
根据本公开的一个或多个实施例,【示例四】提供了一种网格模型处理方法,还包括:
可选的,基于所述剪裁平面,确定所述待裁剪模型中的目标三角面片和待处理三角面片,包括:
针对各三角面片,获取当前三角面片的三个顶点信息,并确定所述三个顶点信息与所述剪裁平面的相对位置信息;
若所述相对位置信息均为位于所述剪裁平面的第一侧,则确定所述当前三角面片为所述目标三角面片;
若所述相对位置信息位于所述剪裁平面相异两侧,则确定所述当前三角面片为所述待处理三角面片。
根据本公开的一个或多个实施例,【示例五】提供了一种网格模型处理方法,还包括:
可选的,在确定当前三角面片为待处理三角面片之后,还包括:
根据位于所述剪裁平面相异两侧的待处理顶点,确定顶点组,以根据顶点组和所述剪裁平面所对应的剪裁平面方程,确定剪裁点。
根据本公开的一个或多个实施例,【示例六】提供了一种网格模型处理方法,还包括:
可选的,所述根据顶点组和所述剪裁平面所对应的剪裁平面方程,确定剪裁点,包括:
针对各顶点组,确定当前待处理顶点组中的两个待处理顶点,分别到所述剪裁平面的待处理距离;
根据所述待处理距离、待处理顶点所对应的线段,确定所述当前待处理顶点组的剪裁点。
根据本公开的一个或多个实施例,【示例七】提供了一种网格模型处理方法,还包括:
可选的,所述根据所述待处理距离、待处理顶点所对应的线段,确定所述当前待处理顶点组的剪裁点,包括:
根据所述待处理距离,确定剪裁比例;
基于所述剪裁比例和所述两个待处理顶点的属性信息,确定在所述线段上的剪裁点。
根据本公开的一个或多个实施例,【示例八】提供了一种网格模型处理方法,还包括:
可选的,所述基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,包括:
根据与各待处理三角面片所关联的至少两个剪裁点,确定剪裁后的面片类型;
根据所述面片类型,更新所述目标三角面片。
根据本公开的一个或多个实施例,【示例九】提供了一种网格模型处理方法,还包括:
可选的,所述根据所述面片类型,更新所述目标三角面片,包括:
若所述面片类型为非分割类型,则根据待处理三角面片的一个保留顶点信息和至少两个剪裁点,确定目标三角面片;
若所述面片类型为分割类型,则依据待处理三角面片的两个保留顶点信息和至少两个剪裁点,划分为至少两个三角面片,并作为目标三角面片。
根据本公开的一个或多个实施例,【示例十】提供了一种网格模型处理方法,还包括:
可选的,所述根据各剪裁点和位于所述剪裁平面方程上的顶点信息,确定至少一个底面面片,包括:
根据各剪裁点和位于所述剪裁平面上目标三角面片的待拼接顶点信息,确定至少一个连通域;
确定所述连通域的中心点,并根据所述中心点、待拼接顶点信息和所述剪裁点,确定至少一个底面面片。
根据本公开的一个或多个实施例,【示例十一】提供了一种网格模型处理方法,还包括:
可选的,所述方法应用在包括三维模型的视频或图像中。
根据本公开的一个或多个实施例,【示例十二】提供了一种网格模型处理装置,该装置包括:
平面确定模块,用于在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
剪裁点确定模块,用于基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
底面面片确定模块,用于基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
目标视频确定模块,用于根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (14)
1.一种网格模型处理方法,其特征在于,包括:
在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
2.根据权利要求1所述的方法,其特征在于,所述剪裁条件包括下述至少一种:
检测到触发模型剪裁控件;
显示画面中包括待裁剪模型;
采集的音频信息触发模型裁剪指令;
当前视频帧的播放时间戳与预先设定的裁剪时间戳相一致;
基于显示界面中的显示信息确定满足裁剪模型;
基于输入条件确定满足模型裁剪。
3.根据权利要求1所述的方法,其特征在于,所述确定与待裁剪模型相对应的剪裁平面,包括:
确定所述待裁剪模型的类型信息;
根据所述类型信息,确定所述剪裁平面。
4.根据权利要求1所述的方法,其特征在于,基于所述剪裁平面,确定所述待裁剪模型中的目标三角面片和待处理三角面片,包括:
针对各三角面片,确定当前三角面片的三个顶点与所述剪裁平面的相对位置信息;
若基于所述相对位置信息,确定三个顶点均为位于所述剪裁平面的第一侧,则确定所述当前三角面片为所述目标三角面片;
若基于所述相对位置信息,确定三个顶点位于所述剪裁平面相异两侧,则确定所述当前三角面片为所述待处理三角面片。
5.根据权利要求4所述的方法,其特征在于,在确定当前三角面片为待处理三角面片之后,还包括:
根据位于所述剪裁平面相异两侧的待处理顶点,确定顶点组,以根据顶点组和所述剪裁平面所对应的剪裁平面方程,确定剪裁点。
6.根据权利要求5所述的方法,其特征在于,所述根据顶点组和所述剪裁平面所对应的剪裁平面方程,确定剪裁点,包括:
针对各顶点组,确定当前待处理顶点组中的两个待处理顶点,分别到所述剪裁平面的待处理距离;
根据所述待处理距离、待处理顶点所对应的线段,确定所述当前待处理顶点组的剪裁点。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待处理距离、待处理顶点所对应的线段,确定所述当前待处理顶点组的剪裁点,包括:
根据所述待处理距离,确定剪裁比例;
基于所述剪裁比例和所述两个待处理顶点的属性信息,确定在所述线段上的剪裁点。
8.根据权利要求1所述的方法,其特征在于,所述基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,包括:
根据与各待处理三角面片所关联的至少两个剪裁点,确定剪裁后的面片类型;
根据所述面片类型,更新所述目标三角面片。
9.根据权利要求8所述的方法,其特征在于,所述根据所述面片类型,更新所述目标三角面片,包括:
若所述面片类型为非分割类型,则根据待处理三角面片的一个保留顶点信息和至少两个剪裁点,确定目标三角面片;
若所述面片类型为分割类型,则依据待处理三角面片的两个保留顶点信息和至少两个剪裁点,划分为至少两个三角面片,并作为目标三角面片。
10.根据权利要求1所述的方法,其特征在于,所述根据各剪裁点和位于所述剪裁平面方程上的顶点信息,确定至少一个底面面片,包括:
根据各剪裁点和位于所述剪裁平面上目标三角面片的待拼接顶点信息,确定至少一个连通域;
确定所述连通域的中心点,并根据所述中心点、待拼接顶点信息和所述剪裁点,确定至少一个底面面片。
11.根据权利要求1-10中任一所述的方法,其特征在于,所述方法应用在包括三维模型的视频或图像中。
12.一种网格模型处理装置,其特征在于,包括:
平面确定模块,用于在检测到满足模型裁剪条件时,确定与待裁剪模型相对应的剪裁平面;
剪裁点确定模块,用于基于所述剪裁平面,确定所述待裁剪模型上的目标三角面片,以及与所述剪裁平面相交的待处理三角面片和相应的剪裁点;
底面面片确定模块,用于基于各剪裁点对相应待处理面片进行处理,更新所述目标三角面片,并根据各剪裁点和位于所述剪裁平面上的顶点信息,确定至少一个底面面片;
目标视频确定模块,用于根据各目标三角面片和所述至少一个底面面片,确定目标裁剪模型。
13.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的网格模型处理方法。
14.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-11中任一所述的网格模型处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210432059.2A CN116977604A (zh) | 2022-04-22 | 2022-04-22 | 网格模型处理方法、装置、电子设备及介质 |
EP22871166.9A EP4290469A4 (en) | 2022-04-22 | 2022-10-27 | METHOD AND DEVICE FOR PROCESSING MESH MODELS, ELECTRONIC DEVICE AND MEDIUM |
PCT/CN2022/127845 WO2023202022A1 (zh) | 2022-04-22 | 2022-10-27 | 网格模型处理方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210432059.2A CN116977604A (zh) | 2022-04-22 | 2022-04-22 | 网格模型处理方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116977604A true CN116977604A (zh) | 2023-10-31 |
Family
ID=87377732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210432059.2A Pending CN116977604A (zh) | 2022-04-22 | 2022-04-22 | 网格模型处理方法、装置、电子设备及介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4290469A4 (zh) |
CN (1) | CN116977604A (zh) |
WO (1) | WO2023202022A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2372188B (en) * | 2001-02-08 | 2005-07-13 | Imagination Tech Ltd | Volume clipping in computer 3-D Graphics |
US7292242B1 (en) * | 2004-08-11 | 2007-11-06 | Nvida Corporation | Clipping with addition of vertices to existing primitives |
CN102184572B (zh) * | 2011-05-19 | 2017-07-21 | 威盛电子股份有限公司 | 三维图形裁剪方法、呈现方法及其图形处理装置 |
CN108447015A (zh) * | 2018-03-27 | 2018-08-24 | 长沙景嘉微电子股份有限公司 | Gpu中一种实现用户自定义裁剪功能的装置和方法 |
-
2022
- 2022-04-22 CN CN202210432059.2A patent/CN116977604A/zh active Pending
- 2022-10-27 EP EP22871166.9A patent/EP4290469A4/en active Pending
- 2022-10-27 WO PCT/CN2022/127845 patent/WO2023202022A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023202022A1 (zh) | 2023-10-26 |
EP4290469A4 (en) | 2024-07-03 |
EP4290469A1 (en) | 2023-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110728622B (zh) | 鱼眼图像处理方法、装置、电子设备及计算机可读介质 | |
CN112237739A (zh) | 游戏角色渲染方法、装置、电子设备及计算机可读介质 | |
CN114531553B (zh) | 生成特效视频的方法、装置、电子设备及存储介质 | |
CN114494328B (zh) | 图像显示方法、装置、电子设备及存储介质 | |
CN111862349A (zh) | 虚拟画笔实现方法、装置和计算机可读存储介质 | |
CN111833459B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
CN109636917B (zh) | 三维模型的生成方法、装置、硬件装置 | |
CN116977604A (zh) | 网格模型处理方法、装置、电子设备及介质 | |
CN110717467A (zh) | 头部姿势的估计方法、装置、设备及存储介质 | |
CN116527993A (zh) | 视频的处理方法、装置、电子设备、存储介质和程序产品 | |
CN115578299A (zh) | 图像生成方法、装置、设备及存储介质 | |
CN116847147A (zh) | 特效视频确定方法、装置、电子设备及存储介质 | |
CN114202617A (zh) | 视频图像处理方法、装置、电子设备及存储介质 | |
CN110363860B (zh) | 3d模型重建方法、装置及电子设备 | |
CN114049403A (zh) | 一种多角度三维人脸重建方法、装置及存储介质 | |
CN114037794A (zh) | 显示方法、装置、设备及存储介质 | |
CN111627105B (zh) | 人脸特效分裂方法、装置、介质和设备 | |
CN111354070A (zh) | 一种立体图形生成方法、装置、电子设备及存储介质 | |
CN116630524A (zh) | 图像处理方法、装置、设备、存储介质和程序产品 | |
CN117061684A (zh) | 特效视频生成方法、装置、电子设备及存储介质 | |
CN116173500A (zh) | 扩展现实显示方法、装置、电子设备和存储介质 | |
CN118135090A (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 |