CN115512012A - 一种骨骼重映射方法、装置、计算机设备及存储介质 - Google Patents
一种骨骼重映射方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115512012A CN115512012A CN202211167894.4A CN202211167894A CN115512012A CN 115512012 A CN115512012 A CN 115512012A CN 202211167894 A CN202211167894 A CN 202211167894A CN 115512012 A CN115512012 A CN 115512012A
- Authority
- CN
- China
- Prior art keywords
- model
- object model
- bone
- point
- points
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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
-
- 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
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种骨骼重映射方法、装置、计算机设备及计算机可读存储介质。本方案通过获取源对象带有目标效果的第一对象模型,以及目标对象的基本模型,以基本模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型;获取第一对象模型中的骨骼点与骨骼点对应的模型表面点之间的相对位置信息,根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象带有目标效果的初始对象模型;基于初始对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整初始对象模型中的骨骼点的位置,从而得到目标对象的带有目标效果的对象模型。以此,可以提高对象模型的骨骼结构的重映射效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种骨骼重映射方法、装置、计算机设备及计算机可读存储介质。
背景技术
在为虚拟对象制作表情模型的过程中,表情控制骨骼通过蒙皮对模型表面实施控制。控制结果取决于骨骼轴心点的三维空间位置,不同的轴心位置,在骨骼变换后呈现不同的结果,因此,将表情控制骨骼的轴心布设在合适的空间位置尤为重要。由于不同虚拟对象在模型结构存在通性,可以将一个成熟效果优质的骨骼点数据集迁移应用到另外一个长相相异的异体角色上。
相关技术中,将源对象的骨骼点数据集复用至目标对象上,主要是通过人工观察比对目标对象模型和源对象模型的形体差异,然后根据形体差异来调整目标对象的表情骨骼位置。但是,对于拥有大量表情骨骼的模型,通过人工观察不同对象的形体差异需要花费大量时间,导致将已有表情骨骼结构映射至目标对象的效率较低。
发明内容
本申请实施例提供一种骨骼重映射方法、装置、计算机设备及计算机可读存储介质,可以提高对象模型的骨骼结构的重映射效率。
本申请实施例提供了一种骨骼重映射方法,包括:
获取源对象的第一对象模型,以及目标对象的第二对象模型;
以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息;
根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型;
基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置。
相应的,本申请实施例还提供了一种骨骼重映射装置,包括:
第一获取单元,用于获取源对象的第一对象模型,以及目标对象的第二对象模型;
第一处理单元,用于以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
第二获取单元,用于获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息;
第二处理单元,用于根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型;
第一调整单元,用于基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置。
相应的,本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在储存器上并可在处理器上运行的计算机程序,其中,处理器执行本申请实施例任一提供的骨骼重映射方法。
相应的,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行如上的骨骼重映射方法。
本申请实施例通过本方案通过获取源对象的已制作好的带有目标效果的第一对象模型,以及目标对象的基本模型,以基本模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型,然后,获取第一对象模型中的骨骼点与骨骼点对应的模型表面点之间的相对位置信息,根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象带有目标效果的初始对象模型,进一步的,基于初始对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整初始对象模型中的骨骼点的位置,从而得到目标对象的带有目标效果的对象模型,将源对象的模型的骨骼结构重映射至目标对象的模型中。以此,可以提高对象模型的骨骼结构的重映射效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种骨骼重映射方法的流程示意图。
图2为本申请实施例提供的一种骨骼重映射方法的应用场景示意图。
图3为本申请实施例提供的另一种骨骼重映射方法的流程示意图。
图4为本申请实施例提供的一种骨骼重映射装置的结构框图。
图5为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种骨骼重映射方法、装置、计算机可读存储介质及计算机设备。具体地,本申请实施例的骨骼重映射方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,该计算机设备可以是终端,该终端可以获取源对象的第一对象模型,以及目标对象的第二对象模型;以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型;获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息;根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型;基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置。
基于上述问题,本申请实施例提供第一种骨骼重映射方法、装置、计算机设备及计算机可读存储介质,可以提高对象模型的骨骼结构的重映射效率。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供一种骨骼重映射方法,该方法可以由终端或服务器执行,本申请实施例以骨骼重映射方法由终端执行为例来进行说明。
请参阅图1,图1为本申请实施例提供的一种骨骼重映射方法的流程示意图。该骨骼重映射方法的具体流程可以如下:
101、获取源对象的第一对象模型,以及目标对象的第二对象模型。
在本申请实施例中,源对象和目标对象为生物体,源对象和目标对象可以为相同种类或者不同种类的生物。
其中,源对象的第一对象模型指的是基于源对象设计的带有表情的对象模型,也即源对象的表情模型。为了保证源对象的第一对象模型的质量,源对象的第一对象模型可以通过模型设计师进行制作。具体的,模型设计师可以根据源对象在不同表情下的相貌以及表情的动态变化,通过调整源对象基本模型中的骨骼,然后骨骼通过蒙皮对模型表面实施控制,以生成源对象在不同表情下的第一对象模型。其中,对源对象基本模型中的骨骼的调整可以是对相应骨骼点的位置调整。
其中,第二对象模型指的是目标对象的基本模型,第二对象模型可以为目标对象未带有表情状态的模型。
102、以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型。
在本申请实施例中,第一对象模型为带有表情效果的源对象的模型,可以将源对象的表情效果复用至模板对象,具体的,将源对象的第一对象模型的骨骼结构复用至目标对象的第二对象模型。在将源对象的第一对象模型的骨骼结构复用至目标对象的第二对象模型之前,需要将第一对象模型与第二对象模型的外形进行匹配,保证骨骼结构复用的准确性。
在三维建模中,拓扑指的是多边形网格模型的点线面布局、结构、连接情况。在本申请实施例中,拓扑指的是几何图形或空间在连续改变形状后还能保持不变的一些性质,比如,点序特性等。
其中,对第一对象模型进行拓扑变形处理指的是对第一对象模型的外形进行变形,也即基于第二对象模型的外形对第一对象模型进行重拓扑处理,得到与第二对象模型外形一致的模型。例如,可以采用拓扑包裹变形的方式对应第一对象模型进行拓扑变形处理,通过第三方软件比如Zbrush(数字雕刻和绘画软件)或者Houdini(三维计算机图形软件)中的重拓扑工具,首先定位第一对象模型的模型表面,作为引导表面,然后将第二对象模型的模型表面与该引导表面进行匹配,得到第一对象模型与第二对象模型的模型表面之间的对应关系,然后基于对应关系对第一对象模型的模型表面进行调整。
在一些实施例中,为了提高对第一对象模型变形处理的效果,则步骤“以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型”,可以包括以下操作:
对第一对象模型和第二对象模型的模型结构进行比对,得到结构比对结果;
根据结构比对结果对第一对象模型的模型表面点的位置进行调整,得到变形后拓扑模型。
具体的,将第一对象模型和第二对象模型外形进行比对,确定第一对象模型与第二对象模型各外形部位之间的对应关系。
例如,第一对象模型可以为源对象的头部模型,则第一对象模型可以包括源对象的眼睛,鼻子,嘴,耳朵等部位;第二对象模型可以为目标对象的头部模型,则第二对象模型可以包括目标对象的眼睛,鼻子,嘴,耳朵等部位。然后根据第一对象模型包括的部位与第二对象模型包括的部位建立得到第一对象模型与第二对象模型各部位之间的对应关系可以为:第一对象模型的眼睛对应第二对象模型的眼睛,第一对象模型的鼻子对应第二对象模型的鼻子,第一对象模型的嘴对应第二对象模型的嘴,以及第一对象模型的耳朵对应第二对象模型的耳朵等。
在确定第一对象模型与第二对象模型的外形部位之间的对应关系,也即比对结果后,可以外形部位之间的对应关系对第一对象模型的模型表面点进行调整。
其中,第一对象模型的模型表面点指的是第一对象模型的模型表面包括的模型顶点。
在一些实施例中,结构比对结果包括第一对象模型和第二对象模型的模型部位的对应关系,步骤“据结构比对结果对第一对象模型的模型表面点的位置进行调整,得到变形后拓扑模型”,可以包括以下操作:
根据第一对象模型的第一模型表面点以及模型部位的对应关系,在第二对象模型中确定第一模型表面点对应的第二模型表面点;
基于第二模型表面点的位置对第一模型表面点的位置进行调整,得到变形后拓扑模型。
具体的,根据第一对象模型与第二对象模型的模型部位之间的对应关系,从第二对象模型的模型表面中确定与杜尔对象模型的模型表面点对应的模型表面点。
其中,第一对象模型的模型表面包括多个第一模型表面点,第二对象模型的模型表面包括多个第二模型表面点,第一模型表面点的数量与第二模型表面点的数量可以相同或者不同。
进一步的,根据第一对象模型与第二对象模型的模型部位之间的对应关系得到第一模型表面对应的第二模型表面点。
例如,第一对象模型的鼻子部位对应第二对象模型的鼻子部位。其中,第一对象模型的鼻子部位对应的第一模型表面点的点序依次可以为:P11,P12,P13,P14,P15;第二对象模型的鼻子部位对应的第二模型表面点的点序依次可以为:P21,P22,P23,P24,P25,根据第一对象模型的鼻子部位与第二对象模型的鼻子部位之间的模型部位对应关系,确定第一对象模型的鼻子部位的第一模型表面点与第二对象模型的鼻子部位的第二模型表面点的点序对应关系可以为:P11对应P21,P12对应P22,P13对应P23,P14对应P24,P15对应P25。
然后,根据点序对应的第一模型表面点与第二模型表面点,按照第二模型表面点的位置调整第一模型表面点的位置。
首先,将第一对象模型与第二对象模型置于同一模型空间,得到第一对象模型和第二对象模型在同一模型空间中的位置信息。然后,获取第二对象模型中点序为P21,P22,P23,P24,P25分别对应的位置坐标,然后,基于P21的位置坐标对第一对象模型中点序为P11的第一模型表面点的位置进行调整;基于P22的位置坐标对第一对象模型中点序为P12的第一模型表面点的位置进行调整;基于P23的位置坐标对第一对象模型中点序为P13的第一模型表面点的位置进行调整;基于P24的位置坐标对第一对象模型中点序为P14的第一模型表面点的位置进行调整;基于P26的位置坐标对第一对象模型中点序为P15的第一模型表面点的位置进行调整,以此,完成对第一对象模型中对应与第二对象模型中第二模型表面点的第一模型表面点的位置的调整,得到第一对象模型进行变形处理后的变形后拓扑模型。
其中,变形后拓扑模型与第一对象模型可以具有相同的拓扑,与第二对象模型具有相同的外形。
在一些实施例中,第一对象模型与第二对象模型中存在对应关系的模型部位可能包括不同数量的模型表面点,比如,第一对象模型的嘴部位对应的第一模型表面点的点序依次可以为:P17,P18,P19等,第二对象模型的嘴部位对应的第二模型表面点的点序依次可以为:P27,P28等。根据第一对象模型的嘴部位与第二对象模型的嘴部位之间的模型部位对应关系,确定第一对象模型的嘴部位的第一模型表面点与第二对象模型的嘴部位的第二模型表面点的点序对应关系可以为:P17对应P27,P18对应P28,对于第一对象模型中的第一模型表面点P19,第二对象模型中不存在与该P19对应的第二模型表面点,则在根据第二模型表面点的位置调整第一对象模型表面点的位置时,为了保证得到的变形后拓扑模型与第二对象模型的外形具有更高的相似度,可以根据第二模型表面点P27以及P28的位置以及位置调整权重,相应的对第一模型表面点P19的位置进行调整。
103、获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息。
其中,第一对象模型的骨骼点指的是第一对象模型中的骨骼的根部的中心点,第一对象模型中还可以包括源对象在表情状态下的骨骼结构,该骨骼结构有多个骨骼构成,还可以通过对第一对象模型的骨骼控制第一对象模型进行变形。
在一些实施例中,步骤“获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息”,可以包括以下操作:
将第一对象模型的骨骼点映射至第一对象模型的模型表面,得到骨骼点在模型表面对应的模型表面点;
根据骨骼点的位置以及模型表面点的位置确定骨骼点与模型表面点之间的相对位置信息。
在本申请实施例中,第一对象模型由模型表面以及骨骼结构组成,骨骼结构设置于第一对象模型的内部,模型表面设置在骨骼结构的外部,将骨骼结构包围,为了对模型表面和骨骼结构的分开控制调整,设置模型表面与骨骼结构之间存在一定的距离,也即骨骼未与模型表面连接。
具体的,将第一对象模型的骨骼点映射至第一对象模型的模型表面可以通过使用三维软件中用于头发生成的毛囊功能,毛囊生成的过程中,自动检测骨骼与第一对象模型的模型表面之间的最近距离,然后基于该最近距离的位置可以创建一个依附在模型表面的毛囊,毛囊的方位位于在骨骼与模型表面的最近映射位置。
在一些实施例中,步骤“将第一对象模型的骨骼点映射至第一对象模型的模型表面,得到骨骼点在模型表面对应的模型表面点”,可以包括以下操作:
基于骨骼点与模型表面之间的最近距离,从模型表面确定骨骼点对应的模型表面点。
具体的,获取骨骼点与模型表面之间的最近距离,从模型表面确定最近距离的位置点,得到骨骼点在模型表面对应的模型表面点。
例如,请参阅图2,图2为本申请实施例提供的一种骨骼重映射方法的应用场景示意图。骨骼J1可以为第一对象模型中的一个骨骼,模型表面为第一对象的模型表面,骨骼J1的骨骼点可以为:骨骼点P1,也即骨骼J1的骨骼根部的中心点。计算骨骼点P1到模型表面的最短距离,基于该最短距离确定骨骼点P1在模型表面的对应点,得到骨骼点P1在模型表面上的映射点可以为:映射点P2。
在一些实施例中,为了得到模型表面与骨骼点之间的准确的空间关系,步骤“根据骨骼点的位置以及模型表面点的位置确定骨骼点与模型表面点之间的相对位置信息”,可以包括以下操作:
基于骨骼点与模型表面点确定一条直线,并计算直线与第一对象模型的模型表面之间的夹角角度;
获取模型表面点在模型表面上的位置值;
基于骨骼点与模型表面点之间的距离、夹角角度以及位置值,得到相对位置信息。
例如,请继续参阅图2,根据骨骼点P1与映射点P2之间的连线,得到骨骼点与模型表面点形成的直线,得到该直线与模型表面之间形成的夹角可以为:夹角a,然后计算该夹角a的角度,得到骨骼点与模型表面之间的夹角角度。
其中,模型表面点在模型表面上的位置值可以为模型表面点在模型表面上的UV值。UV也即纹理坐标,纹理坐标通常具有U和V两个坐标轴,因此称之为UV坐标。U代表横向坐标上的分布、V代表纵向坐标上的分布。UV是将三维模型展平二维化的另一种方位的描述。
具体的,可以将第一对象模型的模型表面展开为二维平面,进而确定模型表面上的各个模型表面点在该二维平面上的UV值。
进一步的,根据骨骼点对应的模型表面点,骨骼点与该模型表面点之间的距离,骨骼点与该模型表面点的直线与模型表面之间的夹角角度,以及模型表面点的位置值,作为骨骼点与骨骼点对应的模型表面点之前的相对位置关系,也即相对位置信息。
104、根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型。
其中,变形后拓扑模型为根据第一对象模型的拓扑以及第二对象模型的外形生成的新的拓扑模型,可以作为目标对象的拓扑模型,变形后拓扑模型还未包括有骨骼结构的信息。
在一些实施例中,为了实现将源对象的第一对象模型的骨骼结构重映射至目标对象的第二对象模型中,步骤“根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型”,可以包括以下操作:
确定变形后拓扑模型的模型表面点与第一对象模型的模型表面点之间的对应关系;
基于变形后拓扑模型的模型表面点的位置以及对应关系对第一对象模型的模型表面点的位置进行调整,得到第三对象模型。
其中,变形后拓扑模型的拓扑与第一对象模型的拓扑相同,也即具有相同的点序。
其中,第一对象模型的模型表面可以包括多个模型表面点,为了方便区分各个模型表面点,为第一对象模型中的每一模型表面点分配一顶点序号,则第一对象模型中每一模型表面点都有其对应的顶点序号,也即点序。
由于变形后拓扑模型为通过调整第一对象模型的模型表面点的位置得到,相应的,变形后拓扑模型也可以包括多个模型表面点,变形后拓扑模型与第一对象模型中的模型表面点的数量相同,且一一对应。
例如,第一对象模型的多个模型表面点的点序分别可以为:0001、0002、0003、0004、...、1000,表示第一对象模型中包括1000个模型表面点;相应的,变形后拓扑模型的多个模型表面点的点序也可以为0001、0002、0003、0004、...、1000,变形后拓扑模型中也可以包括1000个模型表面点,且第一对象模型与变形后拓扑模型中处于同一点序的模型表面点一一对应。
进一步的,获取变形后拓扑模型的各个模型表面点的位置,根据变形后拓扑模型的各个模型表面点的位置调整对应的第一对象模型中的各个模型点的位置,得到第三对象模型,第三对象模型也即包括有源对象的拓扑、目标对象的外形以及源对象的骨骼结构的模型。
105、基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置。
在本申请实施例中,生成的第三对象模型包括有源对象的第一对象模型的骨骼结构的信息,但是由于源对象与目标对象的外形可能存在差异,则直接复用源对象的骨骼结构可能会产生错误,因而需要对第三对象模型中的骨骼结构根据源对象与目标对象的外形的差异进行调整。
在一些实施例中,为了提高骨骼结构的重映射正确性,步骤“基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置”,可以包括以下操作:
基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息计算第三对象模型中的骨骼点的调整后位置;
将第三对象模型中的骨骼点调整至调整后位置。
具体的,获取第三对象模型中的各模型表面点的第一位置,第一对象模型中各模型表面点的第二位置,根据第一位置与第二位置之间的位置差,以及第一对象模型中的骨骼点与模型表面点之间的相对位置信息,计算得到第三对象模型中各骨骼点的新的位置。
在一些实施例中,步骤“基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息计算第三对象模型中的骨骼点的调整后位置”,可以包括以下操作:
计算第一对象模型的模型表面点与第三对象模型中的对应的模型表面点之间的位置差;
基于位置差、距离、夹角角度以及位置值,计算第三对象模型的模型表面点对应的骨骼点的位置,得到调整后位置。
具体的,根据第一对象模型中的模型表面点的第一位置,以及第三对象模型中的模型表面点的第二位置,计算第一对象模型与第三对象模型中对应的模型表面点之间的位置差。
例如,第一对象模型中包括:模型表面点A1,模型表面点A2,模型表面点A3,...;第三对象模型中包括:模型表面点B1,模型表面点B2,模型表面点B3...。分别计算对应模型表面点:模型表面点A1与模型表面点B1的位置差,模型表面点A2与模型表面点B2的位置差,模型表面点A3与模型表面点B3的位置差,从而得到各对应的模型表面点之间的位置差。
然后,根据位置差与第一对象模型中的模型表面点的位置值进行计算,得到新的位置值,然后基于该新的位置值,保证距离和夹角角度不变,计算出新的骨骼点的位置,也即得到第三对象模型中的骨骼点的新的位置。
进一步的,基于计算得到的调整后位置,将第三对象模型中的骨骼点调整至调整后位置,得到具有正确骨骼位置的第三对象模型,也即将源对象的控制表情的骨骼结构信息复用至第三对象模型,第三对象模型实现了目标对象与源对象相同的表情效果。
在一些实施例中,为了实现对第三对象模型的精细调整,在步骤“基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置”,还可以包括一些步骤:
基于调整骨骼点位置后的第三对象模型,基于第三对象模型中的骨骼点的位置信息创建新的骨骼结构模型;
基于对骨骼结构模型的调节操作,对第三对象模型中的骨骼点进行二次调整。
本申请实施例中,使用了多层结构的方法,为实现对生成的第三对象模型进行二次控制提供有效的工具。其中,多层结构需要先获得第三对象模型中的骨骼结构的变换空间,然后对变换空间进行多层套娃式的父子层结构创建,使子空间的位移旋转缩放均与父空间一致,使得父子空间的相对偏移均为0,为二次操作提供了清晰的初始状态,二次控制得到的新数值会显得特别清晰,也不需要在做额外的计算。
在一些实施例中,对于源对象的第一对象模型,可以将第一对象模型的骨骼结构重映射至其他与源对象相同类型或者不同类型的生物体上,因此,需要将第一对象模型的模型表面与骨骼结构的数据进行存储。
在高精度的对象模型中,骨骼结构中骨骼的数量会达到数百根,展开到每根骨骼对应的偏移值和映射相对应的数据组合,采用数据字典进行组合存储,便于提取和遍历。为此本申请实施例设计了分组数据,且出于对数据使用的效率考虑,为数据设计了标签头,先让数据历遍数据头后再读取数据内容,将无关的数据头筛选出来,不读取,避免直接遍历所有数据内容,浪费时间。
本申请实施例公开了一种骨骼重映射方法,该方法包括:获取源对象的第一对象模型,以及目标对象的第二对象模型;以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型;获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息;根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型;基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置。以此,可以提高对象模型的骨骼结构的重映射效率。
根据上述介绍的内容,下面将举例来进一步说明本申请的骨骼重映射方法。请参阅图3,图3为本申请实施例提供的另一种骨骼重映射方法的流程示意图,以该骨骼重映射方法应用于终端为例,具体流程可以如下:
201、终端获取源对象的第一对象模型,以及异体对象的第二对象模型。
在本申请实施例中,第一对象模型为素材模型,是已经制作好的带有表情目标体,表情目标体可以指的是源对象在不同表情状态下的模型。
其中,异体对象可以为外形和/外观与源对象不同的生物对象,
比如,源对象可以为人物,异体对象可以为动物。第二对象模型指的是目标对象不带有表情状态的模型。
202、终端基于第一对象模型与第二对象模型进行拓扑变形处理,生成变形后模型。
在本申请实施例中,利用拓扑包裹计算方法通过源对象的第一对象模型和异体对象的第二对象模型获得新的模型,也即变形后模型,该变形后模型的拓扑和源对象的第一对象模型的拓扑相同。
具体的,将源对象的第一对象模型包裹住异体对象的第二对象模型,将第一对象模型与第二对象模型进行结构比对,比对的精度根据可以根据实际工作量大小进行调配。然后根据比对结果指定第一对象模型和第二对象模型对应的模型表面点,基于对应的模型表面点的位置,可以为第一对象模型的模型表面点的迁移锁定变换位置,剩余未指定的模型表面点则进行舒展,粘附在第二对象模型表面,得到与第二对象模型形态相同的标准拓扑模型。
通过将源对象的第一对象模型的形状通过拓扑包裹变形处理,即可得到外形贴合第二对象模型,且拓扑与第一对象模型一致的新模型,也即变形后模型。其中,在对第一对象模型进行拓扑包裹变形处理的时候,可以对第一对象模型的肌肉群区域进行加点指定,控制拓扑包裹变性后的模型的各个区域分布至预设的位置区域。
203、终端基于变形后模型对第一对象模型进行变形处理,得到异体对象对应的第三对象模型。
在本步骤中,需要实现对两个不同模型进行形态迁移,由于变形后对象模型为基于第一对象模型进行拓扑变形操作得到的模型,则第一对象模型和变形后模型的模型表面点一一对应了点序。
具体的,基于变形后模型对第一对象模型进行变形处理可以将变形后模型的模型表面点的位置作为对应的第一对象模型的模型表面点的新位置,将第一对象模型的模型表面点逐一移动至对应的新位置,即可实现对第一对象模型的变形,得到第三对象模型。
其中,形态迁移应该将保持模型布线结构点不同,相对的结构位置保持不变。也即对第一对象模型的变形,保证不改变第一对象模型的模型布线结构。
204、终端将第一对象模型的骨骼点映射至模型表面,得到骨骼点在模型表面的映射点。
在本申请实施例中,使用了三维软件中用于头发生成的毛囊功能,利用毛囊生成的过程中,自动检测选定对象与驱动表面之间的最近距离,可以创建一个依附在驱动表面的毛囊,毛囊的方位正好处在选定对象与驱动表面的最近映射位置。其中,选定对象可以为第一对象模型中的骨骼,驱动表面指的是第一对象模型的模型表面,骨骼的轴心就是需要求解的空间点。
其中,骨骼轴心指骨骼根部中心点,对于悬浮于模型表面上方/下方的骨骼,投射到模型表面上形成一个点,也即骨骼点在模型表面的映射点。
其中,毛囊依附于表面的具体位置是基于UV而定的,当UV发生变化时,毛囊位置也随之发生变化,因此需要限定UV稳定,在操作过程中不可对UV进行额外的处理。也不允许使用的操作命令对UV进行修改。
在确定各骨骼点对应的模型表面点之后,计算每个骨骼点与模型表面点之间的距离、计算每个骨骼点与模型表面点形成的直线与模型表面的夹角角度,以及获取模型表面点在模型表面上的UV值,从而得到骨骼点与对应模型表面点,也即映射点的相对位置信息。并将各个骨骼点与映射点的相对位置信息进行存储。
205、终端根据第一对象模型的骨骼点与映射点之间的相对位置关系,以及第一对象模型和第三对象模型的外形差异,对第三对象模型中的骨骼点的位置进行调整。
通过记录下来的每个骨骼点与映射点之间的相对位置关系,包括:骨骼点与映射点之间的距离值、夹角角度值、映射点在模型表面上的UV值,计算第三对象模型中的骨骼点的新位置空间,将第三对象模型的骨骼迁移至该新位置空间。
在本申请实施例中,为表情骨骼建立与原空间一致的多层结构,建立结构后骨骼相对父空间偏移值为0,由此进一步对骨骼进行二次调整,实现结构的主观控制,修改从计算得到但不符合解剖合理性的极个别表情骨骼。
本申请实施例公开了一种骨骼重映射方法,该方法包括:终端获取源对象的第一对象模型,以及异体对象的第二对象模型,基于第一对象模型与第二对象模型进行拓扑变形处理,生成变形后模型,基于变形后模型对第一对象模型进行变形处理,得到异体对象对应的第三对象模型,将第一对象模型的骨骼点映射至模型表面,得到骨骼点在模型表面的映射点,根据第一对象模型的骨骼点与映射点之间的相对位置关系,以及第一对象模型和第三对象模型的外形差异,对第三对象模型中的骨骼点的位置进行调整。以此,可以提高对象模型的骨骼结构的重映射效率和表现效果。
为便于更好的实施本申请实施例提供的骨骼重映射方法,本申请实施例还提供一种基于上述骨骼重映射方法的骨骼重映射装置。其中名词的含义与上述骨骼重映射方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图4,图4为本申请实施例提供的一种骨骼重映射装置的结构框图,该装置包括:
第一获取单元301,用于获取源对象的第一对象模型,以及目标对象的第二对象模型;
第一处理单元302,用于以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
第二获取单元303,用于获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息;
第二处理单元304,用于根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型;
第一调整单元305,用于基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置。
在一些实施例中,第二获取单元303可以包括:
映射子单元,用于将所述第一对象模型的骨骼点映射至所述第一对象模型的模型表面,得到所述骨骼点在所述模型表面对应的模型表面点;
第一确定子单元,用于根据所述骨骼点的位置以及所述模型表面点的位置确定所述骨骼点与所述模型表面点之间的相对位置信息。
在一些实施例中,映射子单元具体可以用于:
基于所述骨骼点与所述模型表面之间的最近距离,从所述模型表面确定所述骨骼点对应的所述模型表面点。
在一些实施例中,第一确定子单元具体可以用于:
基于所述骨骼点与所述模型表面点确定一条直线,并计算所述直线与所述第一对象模型的模型表面之间的夹角角度;
获取所述模型表面点在所述模型表面上的位置值;
基于所述骨骼点与所述模型表面点之间的距离、所述夹角角度以及所述位置值,得到所述相对位置信息。
在一些实施例中,第一调整单元305可以包括:
计算子单元,用于基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息计算所述第三对象模型中的骨骼点的调整后位置;
第一调整子单元,用于将所述第三对象模型中的骨骼点调整至所述调整后位置。
在一些实施例中,计算子单元具体可以用于:
计算所述第一对象模型的模型表面点与所述第三对象模型中的对应的模型表面点之间的位置差;
基于所述位置差、所述距离、所述夹角角度以及所述位置值,计算所述第三对象模型的模型表面点对应的骨骼点的位置,得到所述调整后位置。
在一些实施例中,第二处理单元304可以包括:
第二确定子单元,用于确定所述变形后拓扑模型的模型表面点与所述第一对象模型的模型表面点之间的对应关系;
第二调整子单元,用于基于所述变形后拓扑模型的模型表面点的位置以及所述对应关系对所述第一对象模型的模型表面点的位置进行调整,得到所述第三对象模型。
在一些实施例中,第一处理单元302可以包括:
比对子单元,用于对所述第一对象模型和所述第二对象模型的模型结构进行比对,得到结构比对结果;
第三调整子单元,用于根据所述结构比对结果对所述第一对象模型的模型表面点的位置进行调整,得到所述变形后拓扑模型。
在一些实施例中,第三调整子单元具体可以用于:
根据所述第一对象模型的第一模型表面点以及所述模型部位的对应关系,在所述第二对象模型中确定所述第一模型表面点对应的第二模型表面点;
基于所述第二模型表面点的位置对所述第一模型表面点的位置进行调整,得到所述变形后拓扑模型。
在一些实施例中,该装置还可以包括:
创建单元,用于基于调整骨骼点位置后的第三对象模型,基于第三对象模型中的骨骼点的位置信息创建新的骨骼结构模型;
第二调整单元,用于基于对所述骨骼结构模型的调节操作,对所述第三对象模型中的骨骼点进行二次调整。
本申请实施例公开了一种骨骼重映射装置,通过第一获取单元301获取源对象的第一对象模型,以及目标对象的第二对象模型;第一处理单元302以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型;第二获取单元303获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息;第二处理单元304根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型;第一调整单元305基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置。以此,可以提高对象模型的骨骼结构的重映射效率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端。如图5所示,图5为本申请实施例提供的计算机设备的结构示意图。该计算机设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器501是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对计算机设备500进行整体监控。
在本申请实施例中,计算机设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
获取源对象的第一对象模型,以及目标对象的第二对象模型;
以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息;
根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型;
基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置。
在一些实施例中,获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息,包括:
将第一对象模型的骨骼点映射至第一对象模型的模型表面,得到骨骼点在模型表面对应的模型表面点;
根据骨骼点的位置以及模型表面点的位置确定骨骼点与模型表面点之间的相对位置信息。
在一些实施例中,将第一对象模型的骨骼点映射至第一对象模型的模型表面,得到骨骼点在模型表面对应的模型表面点,包括:
基于骨骼点与模型表面之间的最近距离,从模型表面确定骨骼点对应的模型表面点。
在一些实施例中,根据骨骼点的位置以及模型表面点的位置确定骨骼点与模型表面点之间的相对位置信息,包括:
基于骨骼点与模型表面点确定一条直线,并计算直线与第一对象模型的模型表面之间的夹角角度;
获取模型表面点在模型表面上的位置值;
基于骨骼点与模型表面点之间的距离、夹角角度以及位置值,得到相对位置信息。
在一些实施例中,基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置,包括:
基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息计算第三对象模型中的骨骼点的调整后位置;
将第三对象模型中的骨骼点调整至调整后位置。
在一些实施例中,基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息计算第三对象模型中的骨骼点的调整后位置,包括:
计算第一对象模型的模型表面点与第三对象模型中的对应的模型表面点之间的位置差;
基于位置差、距离、夹角角度以及位置值,计算第三对象模型的模型表面点对应的骨骼点的位置,得到调整后位置。
在一些实施例中,根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型,包括:
确定变形后拓扑模型的模型表面点与第一对象模型的模型表面点之间的对应关系;
基于变形后拓扑模型的模型表面点的位置以及对应关系对第一对象模型的模型表面点的位置进行调整,得到第三对象模型。
在一些实施例中,以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型,包括:
对第一对象模型和第二对象模型的模型结构进行比对,得到结构比对结果;
根据结构比对结果对第一对象模型的模型表面点的位置进行调整,得到变形后拓扑模型。
在一些实施例中,结构比对结果包括第一对象模型和第二对象模型的模型部位的对应关系;
根据结构比对结果对第一对象模型的模型表面点的位置进行调整,得到变形后拓扑模型,包括:
根据第一对象模型的第一模型表面点以及模型部位的对应关系,在第二对象模型中确定第一模型表面点对应的第二模型表面点;
基于第二模型表面点的位置对第一模型表面点的位置进行调整,得到变形后拓扑模型。
在一些实施例中,在基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置之后,方法还包括:
基于调整骨骼点位置后的第三对象模型,基于第三对象模型中的骨骼点的位置信息创建新的骨骼结构模型;
基于对骨骼结构模型的调节操作,对第三对象模型中的骨骼点进行二次调整。
本方案通过获取源对象的已制作好的带有目标效果的第一对象模型,以及目标对象的基本模型,以基本模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型,然后,获取第一对象模型中的骨骼点与骨骼点对应的模型表面点之间的相对位置信息,根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象带有目标效果的初始对象模型,进一步的,基于初始对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整初始对象模型中的骨骼点的位置,从而得到目标对象的带有目标效果的对象模型,将源对象的模型的骨骼结构重映射至目标对象的模型中。以此,可以提高对象模型的骨骼结构的重映射效率。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图5所示,计算机设备500还包括:触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507。其中,处理器501分别与触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507电性连接。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏503可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏503可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、引导信息、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏503而实现输入和输出功能。但是在某些实施例中,触控面板与显示面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏503也可以作为输入单元506的一部分实现输入功能。
射频电路504可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路505可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路505可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路505接收后转换为音频数据,再将音频数据输出处理器501处理后,经射频电路504以发送给比如另一计算机设备,或者将音频数据输出至存储器502以便进一步处理。音频电路505还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元506可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源507用于给计算机设备500的各个部件供电。可选的,电源507可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源507还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图5中未示出,计算机设备500还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,可以获取源对象的第一对象模型,以及目标对象的第二对象模型;以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型;获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息;根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型;基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种骨骼重映射方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取源对象的第一对象模型,以及目标对象的第二对象模型;
以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息;
根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型;
基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置。
在一些实施例中,获取第一对象模型的骨骼点与骨骼点对应的模型表面点之间的相对位置信息,包括:
将第一对象模型的骨骼点映射至第一对象模型的模型表面,得到骨骼点在模型表面对应的模型表面点;
根据骨骼点的位置以及模型表面点的位置确定骨骼点与模型表面点之间的相对位置信息。
在一些实施例中,将第一对象模型的骨骼点映射至第一对象模型的模型表面,得到骨骼点在模型表面对应的模型表面点,包括:
基于骨骼点与模型表面之间的最近距离,从模型表面确定骨骼点对应的模型表面点。
在一些实施例中,根据骨骼点的位置以及模型表面点的位置确定骨骼点与模型表面点之间的相对位置信息,包括:
基于骨骼点与模型表面点确定一条直线,并计算直线与第一对象模型的模型表面之间的夹角角度;
获取模型表面点在模型表面上的位置值;
基于骨骼点与模型表面点之间的距离、夹角角度以及位置值,得到相对位置信息。
在一些实施例中,基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置,包括:
基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息计算第三对象模型中的骨骼点的调整后位置;
将第三对象模型中的骨骼点调整至调整后位置。
在一些实施例中,基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息计算第三对象模型中的骨骼点的调整后位置,包括:
计算第一对象模型的模型表面点与第三对象模型中的对应的模型表面点之间的位置差;
基于位置差、距离、夹角角度以及位置值,计算第三对象模型的模型表面点对应的骨骼点的位置,得到调整后位置。
在一些实施例中,根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象的第三对象模型,包括:
确定变形后拓扑模型的模型表面点与第一对象模型的模型表面点之间的对应关系;
基于变形后拓扑模型的模型表面点的位置以及对应关系对第一对象模型的模型表面点的位置进行调整,得到第三对象模型。
在一些实施例中,以第二对象模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型,包括:
对第一对象模型和第二对象模型的模型结构进行比对,得到结构比对结果;
根据结构比对结果对第一对象模型的模型表面点的位置进行调整,得到变形后拓扑模型。
在一些实施例中,结构比对结果包括第一对象模型和第二对象模型的模型部位的对应关系;
根据结构比对结果对第一对象模型的模型表面点的位置进行调整,得到变形后拓扑模型,包括:
根据第一对象模型的第一模型表面点以及模型部位的对应关系,在第二对象模型中确定第一模型表面点对应的第二模型表面点;
基于第二模型表面点的位置对第一模型表面点的位置进行调整,得到变形后拓扑模型。
在一些实施例中,在基于第三对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整第三对象模型中的骨骼点的位置之后,方法还包括:
基于调整骨骼点位置后的第三对象模型,基于第三对象模型中的骨骼点的位置信息创建新的骨骼结构模型;
基于对骨骼结构模型的调节操作,对第三对象模型中的骨骼点进行二次调整。
本方案通过获取源对象的已制作好的带有目标效果的第一对象模型,以及目标对象的基本模型,以基本模型的外形为拓扑变形后外形目标,对第一对象模型进行拓扑变形处理,得到变形后拓扑模型,然后,获取第一对象模型中的骨骼点与骨骼点对应的模型表面点之间的相对位置信息,根据变形后拓扑模型对第一对象模型进行拓扑变形处理,得到目标对象带有目标效果的初始对象模型,进一步的,基于初始对象模型和第一对象模型的模型表面点的位置,以及相对位置信息调整初始对象模型中的骨骼点的位置,从而得到目标对象的带有目标效果的对象模型,将源对象的模型的骨骼结构重映射至目标对象的模型中。以此,可以提高对象模型的骨骼结构的重映射效率。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种骨骼重映射方法中的步骤,因此,可以实现本申请实施例所提供的任一种骨骼重映射方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种骨骼重映射方法、装置、计算机可读存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种骨骼重映射方法,其特征在于,所述方法包括:
获取源对象的第一对象模型,以及目标对象的第二对象模型;
以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息;
根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型;
基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息,包括:
将所述第一对象模型的骨骼点映射至所述第一对象模型的模型表面,得到所述骨骼点在所述模型表面对应的模型表面点;
根据所述骨骼点的位置以及所述模型表面点的位置确定所述骨骼点与所述模型表面点之间的相对位置信息。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一对象模型的骨骼点映射至所述第一对象模型的模型表面,得到所述骨骼点在所述模型表面对应的模型表面点,包括:
基于所述骨骼点与所述模型表面之间的最近距离,从所述模型表面确定所述骨骼点对应的所述模型表面点。
4.根据权利要求2所述的方法,其特征在于,所述根据所述骨骼点的位置以及所述模型表面点的位置确定所述骨骼点与所述模型表面点之间的相对位置信息,包括:
基于所述骨骼点与所述模型表面点确定一条直线,并计算所述直线与所述第一对象模型的模型表面之间的夹角角度;
获取所述模型表面点在所述模型表面上的位置值;
基于所述骨骼点与所述模型表面点之间的距离、所述夹角角度以及所述位置值,得到所述相对位置信息。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置,包括:
基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息计算所述第三对象模型中的骨骼点的调整后位置;
将所述第三对象模型中的骨骼点调整至所述调整后位置。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息计算所述第三对象模型中的骨骼点的调整后位置,包括:
计算所述第一对象模型的模型表面点与所述第三对象模型中的对应的模型表面点之间的位置差;
基于所述位置差、所述距离、所述夹角角度以及所述位置值,计算所述第三对象模型的模型表面点对应的骨骼点的位置,得到所述调整后位置。
7.根据权利要求1所述的方法,其特征在于,所述根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型,包括:
确定所述变形后拓扑模型的模型表面点与所述第一对象模型的模型表面点之间的对应关系;
基于所述变形后拓扑模型的模型表面点的位置以及所述对应关系对所述第一对象模型的模型表面点的位置进行调整,得到所述第三对象模型。
8.根据权利要求1所述的方法,其特征在于,所述以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型,包括:
对所述第一对象模型和所述第二对象模型的模型结构进行比对,得到结构比对结果;
根据所述结构比对结果对所述第一对象模型的模型表面点的位置进行调整,得到所述变形后拓扑模型。
9.根据权利要求8所述的方法,其特征在于,所述结构比对结果包括所述第一对象模型和所述第二对象模型的模型部位的对应关系;
所述根据所述结构比对结果对所述第一对象模型的模型表面点的位置进行调整,得到所述变形后拓扑模型,包括:
根据所述第一对象模型的第一模型表面点以及所述模型部位的对应关系,在所述第二对象模型中确定所述第一模型表面点对应的第二模型表面点;
基于所述第二模型表面点的位置对所述第一模型表面点的位置进行调整,得到所述变形后拓扑模型。
10.根据权利要求1所述的方法,其特征在于,在所述基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置之后,所述方法还包括:
基于调整骨骼点位置后的第三对象模型,基于第三对象模型中的骨骼点的位置信息创建新的骨骼结构模型;
基于对所述骨骼结构模型的调节操作,对所述第三对象模型中的骨骼点进行二次调整。
11.一种骨骼重映射装置,其特征在于,所述装置包括:
第一获取单元,用于获取源对象的第一对象模型,以及目标对象的第二对象模型;
第一处理单元,用于以所述第二对象模型的外形为拓扑变形后外形目标,对所述第一对象模型进行拓扑变形处理,得到变形后拓扑模型;
第二获取单元,用于获取所述第一对象模型的骨骼点与所述骨骼点对应的模型表面点之间的相对位置信息;
第二处理单元,用于根据所述变形后拓扑模型对所述第一对象模型进行拓扑变形处理,得到所述目标对象的第三对象模型;
第一调整单元,用于基于所述第三对象模型和所述第一对象模型的模型表面点的位置,以及所述相对位置信息调整所述第三对象模型中的骨骼点的位置。
12.一种计算机设备,包括存储器,处理器及存储在存储器上并在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至10任一项所述的骨骼重映射方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至10任一项所述的骨骼重映射方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211167894.4A CN115512012A (zh) | 2022-09-23 | 2022-09-23 | 一种骨骼重映射方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211167894.4A CN115512012A (zh) | 2022-09-23 | 2022-09-23 | 一种骨骼重映射方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115512012A true CN115512012A (zh) | 2022-12-23 |
Family
ID=84506481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211167894.4A Pending CN115512012A (zh) | 2022-09-23 | 2022-09-23 | 一种骨骼重映射方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115512012A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524165A (zh) * | 2023-05-29 | 2023-08-01 | 北京百度网讯科技有限公司 | 三维表情模型的迁移方法、装置、设备和存储介质 |
-
2022
- 2022-09-23 CN CN202211167894.4A patent/CN115512012A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524165A (zh) * | 2023-05-29 | 2023-08-01 | 北京百度网讯科技有限公司 | 三维表情模型的迁移方法、装置、设备和存储介质 |
CN116524165B (zh) * | 2023-05-29 | 2024-01-19 | 北京百度网讯科技有限公司 | 三维表情模型的迁移方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748934B2 (en) | Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium | |
EP3992919B1 (en) | Three-dimensional facial model generation method and apparatus, device, and medium | |
CN112836064B (zh) | 知识图谱补全方法、装置、存储介质及电子设备 | |
WO2021011668A1 (en) | Augmented reality system and method for tele-proctoring a surgical procedure | |
CN114742926A (zh) | 一种动画重定向方法、装置、计算机设备及存储介质 | |
CN114742925A (zh) | 虚拟对象的蒙皮方法、装置、电子设备和存储介质 | |
WO2023213037A1 (zh) | 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质 | |
CN115512012A (zh) | 一种骨骼重映射方法、装置、计算机设备及存储介质 | |
CN115847384B (zh) | 机械臂安全平面信息显示方法及相关产品 | |
GB2603241A (en) | Latency determinations for human interface devices | |
CN112891954B (zh) | 虚拟对象的模拟方法、装置、存储介质及计算机设备 | |
JP7392572B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
CN117893668A (zh) | 虚拟场景的处理方法、装置、计算机设备及存储介质 | |
CN113101666A (zh) | 游戏角色模型方法、装置、计算机设备及存储介质 | |
CN117593493A (zh) | 三维脸部拟合方法、装置、电子设备及存储介质 | |
CN117058284A (zh) | 图像生成方法、装置和计算机可读存储介质 | |
CN116385615A (zh) | 虚拟面部生成方法、装置、计算机设备及存储介质 | |
CN115645921A (zh) | 游戏指示器的生成方法、装置、计算机设备及存储介质 | |
CN115588065A (zh) | 一种毛发模型的生成方法、装置、计算机设备及存储介质 | |
CN113350792B (zh) | 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质 | |
CN113361490B (zh) | 图像生成、网络训练方法、装置、计算机设备和存储介质 | |
CN115880402A (zh) | 流动动画生成方法、装置、电子设备和可读存储介质 | |
KR20230101469A (ko) | 타겟 객체의 디지털 모델로부터 에지의 특성을 검출하고 샘플 포인트를 설정하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체를 구현한 실물 객체에 가상 모델을 증강하는 방법 | |
CN113362435A (zh) | 虚拟对象模型的虚拟部件变化方法、装置、设备及介质 | |
CN115512011A (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 |