CN112634419B - 一种运动重定向方法、装置、电子设备及存储介质 - Google Patents
一种运动重定向方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112634419B CN112634419B CN202011631904.6A CN202011631904A CN112634419B CN 112634419 B CN112634419 B CN 112634419B CN 202011631904 A CN202011631904 A CN 202011631904A CN 112634419 B CN112634419 B CN 112634419B
- Authority
- CN
- China
- Prior art keywords
- bone
- constraint
- target
- source
- point
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 661
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 230000036544 posture Effects 0.000 claims description 160
- 238000012545 processing Methods 0.000 claims description 19
- 230000007613 environmental effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 31
- 210000003127 knee Anatomy 0.000 description 28
- 230000009471 action Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 241001059810 Cantharellula umbonata Species 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005452 bending Methods 0.000 description 2
- 230000037176 bone building Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241001456553 Chanodichthys dabryi Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 210000002683 foot Anatomy 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及一种运动重定向方法、装置、电子设备及存储介质,其中,该方法包括:获取源骨骼的第一骨骼姿态和约束点,约束点包括蒙皮点;根据第一骨骼姿态和源骨骼的约束点,构建第一约束条件;根据源骨骼的约束点与目标骨骼的约束点之间的对应关系及第一约束条件,得到第二约束条件;根据第一位置和第二位置,得到满足第二约束条件的目标骨骼的第二骨骼姿态,第一位置是在无第二约束条件时将第一骨骼姿态映射到目标骨骼,得到的目标骨骼的约束点位置;第二位置是根据对应关系、源骨骼的约束点以及第一骨骼姿态,确定的目标骨骼的约束点位置。本公开中,运动重定向加入了蒙皮约束,避免出现动作抖动、僵硬、不自然等现象,提高了动画制作效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种运动重定向方法、装置、电子设备及存储介质。
背景技术
在三维内容制作的过程中,动画是其中非常重要的,但是在动画制作的过程中,传统的方式是通过动画制作人员手工制作的方式,但是这种方式带来一定的问题:手工制作动画非常耗时,需要大量的动画制作人员进行协作;高质量的动画对于动画制作人员的水平需求很高,层次不齐的动画制作人员的水平会造成动画的效果层次不齐;手工制作动画往往只会制作大体的运动动作,对于运动细节的还原较难实现。
为了解决手工制作的方式存在的上述问题,在当前动画制作中通常采用动作捕捉的方式,动作捕捉可以精准还原演员本身的动作,即使演员的原始动作数据质量很高,符合动画制作要求,然而最终需要的是角色动画,角色可能是各种各样的,可能是真人,或者二次元角色,甚至可能是动物,因此,需要应用重定向技术,将演员的动作转换到对应的角色动作当中。
在相关技术中,重定向技术做的比较简单,通常只会将演员捕捉动作的骨骼旋转数据进行迁移,这样导致的结果是经过重定向后的动作会出现抖动或者整体动作的僵硬、不自然等现象,动作语义发生了改变或者不满足相关的运动约束信息等问题,导致后期需要花费大量的时间进行手动修复。
发明内容
有鉴于此,本公开提出了一种运动重定向方法、装置、电子设备及存储介质。
根据本公开的一方面,提供了一种运动重定向方法,包括:
获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;
根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;
根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;
根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。
在一种可能的实现方式中,所述方法还包括:在所述源骨骼与所述目标骨骼之间,搭建一个或多个虚拟骨骼;
根据所述第一骨骼姿态及所述虚拟骨骼,得到目标骨骼的第三骨骼姿态;
根据第三位置和所述第二位置,得到满足所述第二约束条件的第二骨骼姿态;其中,所述第三位置是目标骨骼的约束点在所述第三骨骼姿态下的位置。
在一种可能的实现方式中,所述第二约束条件包括:所述目标骨骼的约束点在所述第二骨骼姿态下的位置和所述第二位置相同。
在一种可能的实现方式中,所述目标骨骼的约束点在所述第二骨骼姿态下的位置,根据目标骨骼的约束点的权重信息、第二骨骼姿态下目标骨骼的约束点在目标骨骼上的局部坐标及目标骨骼局部坐标系到世界坐标系的变换矩阵确定。
在一种可能的实现方式中,所述方法还包括:通过预测模型对目标骨骼的第二骨骼姿态序列、源骨骼的约束点的运动序列、以及当前帧的目标骨骼的约束点进行处理,得到下一帧的目标骨骼的约束点;其中,所述源骨骼的约束点的运动序列由源骨骼的不同约束点的位置确定。
在一种可能的实现方式中,所述约束点还包括:网格点和/或骨骼点。
在一种可能的实现方式中,所述在所述源骨骼与所述目标骨骼之间,搭建一个或多个虚拟骨骼,包括:
根据所述源骨骼、所述目标骨骼及预设的一个或多个参考姿态,得到源骨骼的一个或多个参考姿态及目标骨骼的一个或多个参考姿态;
根据预设的源骨骼与目标骨骼的对应关系,在源骨骼与目标骨骼的同一参考姿态之间,搭建一个或多个虚拟骨骼。
在一种可能的实现方式中,所述参考姿态至少包括:T-姿态。
在一种可能的实现方式中,所述源骨骼的约束点,根据源骨骼的自身约束和/或与所述源骨骼相关联的环境约束确定。
根据本公开的另一方面,提供了一种运动重定向装置,包括:
获取模块,用于获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;第一约束条件构建模块,用于根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;第二约束条件构建模块,用于根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;运动重定向模块,用于根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
本公开实施例中,通过获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。这样,在运动重定向的过程中加入了蒙皮信息进行约束,能够有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象;同时,后期无需大量美术人力修复数据,有效提高了动画制作效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的一种运动重定向方法的流程图;
图2示出根据本公开一实施例的一种运动重定向方法的流程图;
图3示出根据本公开一实施例的构建虚拟骨骼的示意图;
图4示出根据本公开一实施例的一种运动重定向装置的结构图;
图5示出根据本公开一实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的一种运动重定向方法的流程图。如图1所示,该方法可以包括:
步骤101、获取源骨骼的第一骨骼姿态和源骨骼的约束点;其中,约束点包括蒙皮点。
在运动重定向的过程中,需要将源骨骼的动画数据传递到目标骨骼的动画数据,其中,源骨骼指已经有动画数据的骨骼,例如,可以为根据影视公司演员的真实骨骼创建的骨骼,动画师刻画出来的骨骼等等;目标骨骼指希望把动画数据传递过去的骨骼,例如,游戏公司中虚拟角色的骨骼;源骨骼和目标骨骼中均包括一根或多根骨骼。源骨骼和目标骨骼可以为3D文件的形式,比如FBX文件(AutoDesk通用格式),asf格式(CMU标准格式),mskel(Xmov标准格式)。
源骨骼的第一骨骼姿态可以为捕捉到的演员的动作姿态,也可以为动画师刻画出的骨骼的动作姿态,等等;该第一骨骼姿态可以通过源骨骼的动画数据包含的旋转角度(欧拉角,四元数等进行表示)、平移距离等数据进行表示,其中,源骨骼的动画数据可以为动画的标准格式文件,例如amc(CMU标准格式),FBX或者sps(Xmov标准格式)。
在实际动画制作过程中,由于每个骨骼都会有一个命名,而命名是没有标准的,影视公司一般把源骨骼中根骨骼命名成root,游戏公司经常把目标骨骼中根骨骼命名成Bip001,因此,为了在运动重定向过程中将源骨骼的动画数据传递到期望的目标骨骼,可以预先在源骨骼和目标骨骼之间做一个语义的关联配置,从而将各个不同的命名规范对应起来,例如,源骨骼中的根骨骼叫做root,目标骨骼中的根骨骼叫Bip001,那么将root对应到Bip001,就将两个不同公司的命名标准在根骨骼上进行了对应;同理,将语义相同(例如,骨骼的功能相同)的其他骨骼进行关联,从而定义源骨骼与目标骨骼的对应关系。同时,由于源骨骼与目标骨骼中所含骨骼的数量存在不一致的情况,此时可以基于语义相同或相似的原则,在源骨骼与目标骨骼中各挑选出相同数量的关键骨骼,并将这些关键骨骼进行对应,从而定义源骨骼与目标骨骼的对应关系。
约束点可以包括目标骨骼的约束点及源骨骼的约束点,表示运动重定向过程中对目标骨骼的姿态产生约束的点,示例性地,约束点可以包括:蒙皮点、骨骼点、网格点中的至少一项。其中,蒙皮点指附着在目标骨骼或源骨骼的蒙皮表面上的点,骨骼点指目标骨骼或源骨骼上的点,网格点指目标骨骼或源骨骼所在空间中其他物体上的点。蒙皮点的数据可以来源于动作捕捉系统的人体数据库或者其他来源的数据库;源骨骼的蒙皮点与源骨骼中的各根骨骼存在关联关系,目标骨骼的蒙皮点与目标骨骼中的各根骨骼存在关联关系。
进一步地,可以预先在源骨骼的约束点和目标骨骼的约束点之间做一个语义的关联配置,从而定义源骨骼的约束点与目标骨骼的约束点之间的对应关系。例如,将源骨骼中拇指指尖的骨骼点作为源骨骼的约束点,将目标骨骼中拇指指尖的骨骼点作为目标骨骼的约束点,对两个骨骼点进行关联,从而定义源骨骼中拇指指尖的骨骼点与目标骨骼中拇指指尖的骨骼点之间的对应关系。再例如,将源骨骼中脚尖的蒙皮点作为源骨骼的约束点,将目标骨骼中脚尖的蒙皮点作为目标骨骼的约束点,对两个蒙皮点进行关联,从而定义源骨骼中脚尖的蒙皮点与目标骨骼中脚尖的蒙皮点之间的对应关系。
在一种可能的实现方式中,所述源骨骼的约束点,可以根据源骨骼的自身约束和/或与所述源骨骼相关联的环境约束确定。其中,源骨骼的自身约束指来源于源骨骼自身内部的约束,环境约束指来源于源骨骼与外部环境的互动而产生的外部环境的约束。
在进行运动重定向的过程中,由于虚拟角色和演员的身体比例、体型,以及骨骼拓扑和关节自由度一般都不一样,不能将演员的三维动作直接映射到虚拟角色身上,需要利用运动中产生的各种语义信息对映射过程进行约束;根据语义信息是源于角色自身还是源于角色及外部环境,可以分为自身约束与环境约束,例如,在运动重定向的过程中,一个手长的人可以在不弯曲膝盖的情况下摸到脚尖,而手短的人摸到脚尖就需要弯曲膝盖,这相当在同一个语义信息下所得到的两个姿态,人的手摸到脚尖属于一种自身约束,此时,可以取源骨骼的手部、膝盖、脚尖上的蒙皮点和/或骨骼点作为源骨骼的约束点;再例如,一个身材高大的人可以在不跳跃的情况下摸到篮筐,而身材矮小的人需要跳跃才能摸到,这相当在同一个语义信息下所得到的两个姿态,人摸到篮筐属于一种环境约束,此时,可以取源骨骼的手部、脚部等上的蒙皮点和/或骨骼点,以及篮筐上的网格点作为源骨骼的约束点。
考虑到源骨骼及目标骨骼中蒙皮点、骨骼点、网格点的数量通常较大,因此,可以在源骨骼及目标骨骼中所有蒙皮点、骨骼点、网格点中选取出一部分作为关键信息点,进而根据自身约束或环境约束在源骨骼的关键信息点中选取出合适点作为源骨骼的约束点,相应地,可以在目标骨骼的关键信息点中选取出合适点作为目标骨骼的约束点;其中,关键信息点可以包括关键蒙皮点、关键骨骼点、关键网格点。示例性地,可以根据动画场景的需要,预先在源骨骼的所有蒙皮点中选取出若干蒙皮点作为源骨骼的关键蒙皮点,同时,在目标骨骼的所有蒙皮点中选取出与上述源骨骼的关键蒙皮点的位置相对应的蒙皮点作为目标骨骼的关键蒙皮点,例如,可以选取出手部、脚部、头部、膝盖等部位端部的蒙皮点作为关键蒙皮点。上述选取出的源骨骼的关键蒙皮点与选取出的目标骨骼的关键蒙皮点的数量是相同,根据上述定义的源骨骼的约束点与目标骨骼的约束点之间的对应关系,从而定义源骨骼的关键蒙皮点与目标骨骼的关键蒙皮点之间的对应关系。
在动画制作过程中,针对源骨骼的不同的第一骨骼姿态,可以将上述一个或多个源骨骼的关键蒙皮点作为源骨骼的约束点,同时,根据源骨骼的关键蒙皮点与目标骨骼的关键蒙皮点之间的对应关系,相应地,可以将上述一个或多个目标骨骼的关键蒙皮点作为目标骨骼的约束点;由于源骨骼的各约束点和目标骨骼的各约束点存在对应关系,通过约束点之间的对应关系及根据源骨骼的自身约束和/或与源骨骼相关联的环境约束确定的不同约束点,可以在不同的动画中产生不同的效果。示例性地,在源骨骼第一骨骼姿态为手摸膝盖的动作姿态时,可以将源骨骼手部的关键蒙皮点及膝盖的关键蒙皮点作为源骨骼的约束点,相应地,可以将目标骨骼手部的关键蒙皮点及膝盖的关键蒙皮点作为目标骨骼的约束点。
步骤102、根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件。
该步骤,在第一骨骼姿态下,根据上述步骤101选取出的源骨骼的约束点,构建第一约束条件;第一约束条件表示第一骨骼姿态下,由源骨骼中不同约束点的相对位置关系所得到的对各约束点的位置约束。
本公开实施例中,在存在上述自身约束,或存在上述环境约束,或者同时存在上述自身约束和环境约束的情况下均可以构建含有蒙皮信息的第一约束条件。
示例性地,在源骨骼第一骨骼姿态为手摸膝盖的动作姿态时,由步骤101可知,此时,可以将源骨骼手部的关键蒙皮点及膝盖的关键蒙皮点作为源骨骼的约束点,在手摸膝盖这一动作姿态下,构建的第一约束条件即为源骨骼的手部的关键蒙皮点的位置与源骨骼的膝盖的关键蒙皮点位置相同。
步骤103、根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件。
该步骤,在上述步骤102得到第一约束条件的基础上,利用预先定义的源骨骼的各约束点和目标骨骼的各约束点之间的对应关系,得到对目标骨骼的各约束点的位置产生约束的第二约束条件。
本公开实施例中,在存在上述自身约束,或存在上述环境约束,或者同时存在上述自身约束和环境约束的情况下均可以构建含有蒙皮信息的第二约束条件。
示例性地,在将源骨骼手部的关键蒙皮点及膝盖的关键蒙皮点作为源骨骼的约束点时,相应地,目标骨骼手部的关键蒙皮点及膝盖的关键蒙皮点即为目标骨骼的约束点;当第一约束条件为源骨骼的手部的关键蒙皮点的位置与源骨骼的膝盖的关键蒙皮点位置相同时,根据源骨骼的约束点与目标骨骼的约束点之间的对应关系可知,此时,在重定向过程中对目标骨骼的手部的关键蒙皮点的位置与目标骨骼的膝盖的关键蒙皮点位置的约束应为:目标骨骼的手部的关键蒙皮点的位置与目标骨骼的膝盖的关键蒙皮点位置相同,即第二约束条件为目标骨骼的手部的关键蒙皮点的位置与目标骨骼的膝盖的关键蒙皮点位置相同。
步骤104、根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态;其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。
该步骤中,在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,此时目标骨骼的骨骼姿态下的约束点位置,即为第一位置;第一位置与目标骨骼约束点所需到达的目标位置(即第二位置)可能存在差异,利用第二约束条件对此时目标骨骼的骨骼姿态进行约束,从而得到满足第二约束条件的第二骨骼姿态。
考虑到在运动重定向之后,最终得到的动画是需要加入蒙皮效果的,相关技术中,仅利用骨骼数据进行运动重定向,会出现抖动及整体动作的僵硬、不自然等现象,例如,一个体型胖的人和一个体型瘦的人可能骨骼是完全一致的,即源骨骼与目标骨骼完全一致,但是两者的蒙皮信息存在差异,此时,若直接将体型胖的人触摸头部的动作传递给体型瘦的人,则最后输出的动画可能显示该体型瘦的人并未触摸到自己的头部;因此,需要利用额外的信息来辅助骨骼动画处理重定向中遇到的上述蒙皮问题。该步骤中,在运动重定向时将源骨骼的动画数据传递到目标骨骼的过程中,根据目标骨骼的约束点的第一位置、目标骨骼的约束点的第二位置,并利用上述第二约束条件对目标骨骼的第二骨骼姿态进行约束,从而得到目标骨骼的动画数据。其中,目标骨骼的约束点包括目标骨骼的蒙皮点,这样,在运动重定向过程中,不仅利用了骨骼数据,还利用了蒙皮信息进行约束,能够有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象;同时,后期无需大量美术人力修复数据,有效提高了动画制作效率。另外,通过运动重定向可以将已有的源骨骼的动画数据传递到完全不同的目标骨骼上,增加了数据的复用,进一步提高了动画制作的效率。
目标骨骼的第二骨骼姿态为将源骨骼的第一骨骼姿态进行运动重定向后所得到的满足第二约束条件的虚拟角色的动作姿态,该第二骨骼姿态可以通过目标骨骼的动画数据包含的旋转角度、平移距离等数据进行表示,其中,目标骨骼的动画数据为源骨骼的动画数据经过运动重定向得到的目标骨骼的动画数据,且目标骨骼的动画数据的风格可以与源骨骼的动画数据的风格保持一致或相似。目标骨骼的动画数据可以为动画的标准格式文件,例如amc(CMU标准格式),FBX或者sps(Xmov标准格式)。
在一种可能的实现方式中,所述第二约束条件可以包括:所述目标骨骼的约束点在所述第二骨骼姿态下的位置和所述第二位置相同。
其中,目标骨骼的约束点在第二骨骼姿态下的位置可以根据目标骨骼的约束点的权重信息、第二骨骼姿态下目标骨骼的约束点在目标骨骼上的局部坐标及目标骨骼局部坐标系到世界坐标系的变换矩阵确定。其中,在目标骨骼的约束点包括目标骨骼的关键蒙皮点时,可以确定关键蒙皮点的在第二骨骼姿态下的位置,可以利用下述公式(1)确定源骨骼或者目标骨骼的某一约束点在某一骨骼姿态下的位置,例如,可以利用下述公式(1)确定目标骨骼的某一约束点在第二骨骼姿态下的位置;
式中,S(q)表示在目标骨骼的第二骨骼姿态为q时目标骨骼的约束点(关键蒙皮点)的位置,n表示目标骨骼中所包含的与目标骨骼的该约束点(关键蒙皮点)相关联的骨骼根数,h是相关联的骨骼的序号;Wh表示目标骨骼的该约束点(关键蒙皮点)受到骨骼h控制的权重;Lh表示在第二骨骼姿态为q时,目标骨骼的该约束点(关键蒙皮点)在第h根骨骼上的局部坐标,Mh表示第h根骨骼的局部坐标系到世界坐标系的变换矩阵。
示例性地,在上述源骨骼第一骨骼姿态为手摸膝盖的动作姿态时,目标骨骼的约束点包括目标骨骼手部的关键蒙皮点及膝盖的关键蒙皮点,手部的关键蒙皮点及膝盖的关键蒙皮点受到目标骨骼中多根骨骼的控制,根据这些根骨骼的控制权重、手部的关键蒙皮点、膝盖的关键蒙皮点在各根骨骼上的局部坐标及各根骨骼的局部坐标系到世界坐标系的变换矩阵,即可得到目标骨骼的第二骨骼姿态为q时目标骨骼的手部的关键蒙皮点及膝盖的关键蒙皮点在世界坐标系中的位置。
目标骨骼的约束点的第二位置是根据上述预设的源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及第一骨骼姿态所确定的目标骨骼的约束点位置。由于目标骨骼的约束点与源骨骼的约束点之间存在对应关系,在将源骨骼的动画数据传递到目标骨骼的过程中,将第一骨骼姿态下源骨骼的约束点的位置,通过该对应关系可以映射得到目标骨骼的约束点的第二位置,该第二位置即为运动重定向的过程中目标骨骼的约束点期望到达的目标位置。
示例性地,在源骨骼第一骨骼姿态为手摸膝盖的动作姿态时,目标骨骼的约束点包括目标骨骼手部的关键蒙皮点及膝盖的关键蒙皮点,此时,根据源骨骼的手部的关键蒙皮点及膝盖的关键蒙皮点所在的位置,结合目标骨骼的约束点与源骨骼的约束点之间的对应关系,可知目标骨骼的关键蒙皮点的第二位置,即目标骨骼的膝盖的关键蒙皮点期望到达的目标位置及手部的关键蒙皮点期望到达的目标位置。
可以根据上述目标骨骼的约束点的在第二骨骼姿态下的位置和第二位置确定约束函数,并将第二约束条件表示为该约束函数的值最小,可以理解的是,该约束函数的值最小即可表示目标骨骼的约束点的在第二骨骼姿态下的位置和第二位置相同;通过该约束条件对运动重定向过程中的目标骨骼的骨骼姿态进行约束,从而得到满足第二约束条件的目标骨骼的第二骨骼姿态。示例性地,如下述公式(2)所示,
式中,S(q)表示在目标骨骼的第二骨骼姿态为q时目标骨骼的第j个约束点的位置,其中,约束点包括关键蒙皮点,m表示目标骨骼的约束点(关键蒙皮点)的个数,cj表示目标骨骼的第j个约束点(关键蒙皮点)的第二位置。通过该公式(2),基于在第二骨骼姿态为q下目标骨骼的各约束点的位置与目标骨骼的该约束点的第二位置相差尽量小,优化得到最终的目标骨骼的第二骨骼姿态。
本公开实施例中,不仅利用了骨骼数据并且有效利用了蒙皮信息建立了约束条件,从而对运动重定向过程进行更加完善的约束。相关技术中,在运动重定向过程中只有骨骼数据,在针对人体运动中身体部位约束时,缺少了很多约束信息,例如手摸膝盖这类动作的时候,手部和膝盖会存在一个约束关系,而这种约束关系在骨骼数据中是难以体现的,再例如脚部的运动中,骨骼数据脚部只有两根骨骼来控制,但是骨骼数据无法知道究竟蒙皮的效果如何,往往出现脚部不平或者走路过程中脚掌和脚尖约束的切换不自然的现象;即仅通过骨骼数据,难以在运动重定向过程中建立有效的约束关系,无法达到满意的效果。本实施例中可以通过手部、脚部等关键蒙皮点作为约束点,并构建第一约束条件和第二约束条件,进而利用上述目标骨骼的约束点第一位置和第二位置,得到满足第二约束条件的目标骨骼的第二骨骼姿态,在目标骨骼的该第二骨骼姿态下的手部、脚部等关键蒙皮点的位置与源骨骼的第一骨骼姿态下的相应关键蒙皮点的位置对应,从而通过该第二骨骼姿态可以更加真实自然的表达虚拟角色的动作。
进一步地,还可以将运动重定向中约束问题描述为下述公式(3)所示的优化形式:
式中,q表示目标骨骼的第二骨骼姿态、q`表示在无约束的情况下所得到的目标骨骼的骨骼姿态(即不进行约束直接将源骨骼的动画数据传递得到目标骨骼),FK(q)表示目标骨骼的第二骨骼姿态为q时约束点(骨骼点)的坐标信息,其中,约束点包括骨骼点,ci表示目标骨骼的第i个关节点(骨骼点)对应的需要到达的指定位置,k表示目标骨骼中关节点(骨骼点)的个数。
示例性地,可以将上述公式(2)与上述公式(3)结合得到更加全面的优化公式,从而对运动重定向过程中目标骨骼的骨骼姿态进行优化,优化公式如下述公式(4)所示:
式中,q表示目标骨骼的第二骨骼姿态、q`表示在无约束的情况下所得到的目标骨骼的骨骼姿态,FK(q)表示目标骨骼的第二骨骼姿态为q时约束点(关键骨骼点)的信息,ci表示目标骨骼的第i个关节点(关键骨骼点)对应的需要到达的指定位置,k表示目标骨骼中关节点(关键骨骼点)的个数;m表示目标骨骼的约束点(关键蒙皮点)的个数,S(q)表示在目标骨骼的第二骨骼姿态为q时目标骨骼的第j个约束点(关键蒙皮点)的位置,cj表示表示目标骨骼的第j个约束点(关键蒙皮点)的第二位置,w1、w2、w3均为权值系数。
其中,FK(q)可以表达目标骨骼的约束点(关键骨骼点)坐标信息,S(q)可以表达目标骨骼的约束点(关键蒙皮点)信息,ci与cj分别表征对骨骼信息的位置约束和蒙皮信息的位置约束,且权值系数w1、w2、w3的具体数值可以根据实际需要进行调整,这样,在运动重定向过程中,有效信息不再只有骨骼的旋转角度等信息,蒙皮点的位置成为一个重要的附加约束;同时利用骨骼运动信息及蒙皮信息进行约束,可以有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象;同时提高了动画制作效率。
进一步地,在运动重定向的过程中,还存在下述环境约束,比如走路时候,脚和地面是一种环境约束,做引体向上时,手部和单杠是一种环境约束,甚至于两个人之间相互拥抱,也是一种环境约束(此时环境指拥抱的对象)。因此,为了达到更加理想的效果,需要考虑环境产生的各种约束的切换,以及源骨骼所在的真实环境和目标骨骼所在的虚拟环境之间的空间差异。
在一种可能的实现方式中,所述方法还包括:通过预测模型对目标骨骼的第二骨骼姿态序列、源骨骼的约束点的运动序列、以及当前帧的目标骨骼的约束点进行处理,得到下一帧的目标骨骼的约束点;其中,所述源骨骼的约束点的运动序列由源骨骼不同约束点的位置确定。
示例性地,源骨骼的约束点的运动序列由源骨骼的关键蒙皮点的位置与关键网格点的位置,或源骨骼的关键蒙皮点的位置与关键骨骼点的位置,或源骨骼的关键蒙皮点的位置与其他关键蒙皮点的位置确定。例如,关键网格点可以包括:人走路的地面、人接触的桌椅、单杠等等物体的网格点,其他关键蒙皮点可以包括:与源骨骼相关联的其他人物的骨骼的关键蒙皮点。
其中,预测模型为通过目标骨骼的第二姿态序列、源骨骼的约束点的运动序列、以及当前帧的目标骨骼的约束点位置作为输入,并以下一帧的目标骨骼的约束点作为预测结果进行训练,并训练达到收敛的算法模型。目标骨骼的第二骨骼姿态序列为一定时间窗口内通过运动重定向得到的目标骨骼的第二骨骼姿态组成的序列;源骨骼的约束点的运动序列为源骨骼的各第一骨骼姿态对应的源骨骼的不同约束点组成的序列。源骨骼的约束点与上述运动序列中关键网格点、关键骨骼点或其他关键蒙皮点的位置相关,在源骨骼的一段运动中,根据源骨骼的约束点与关键网格点、关键骨骼点或其他关键蒙皮点的位置即可确定源骨骼的约束点,例如,根据关键信息点与关键网格点、关键骨骼点、或其他关键蒙皮点的位置,将该关键信息点确定为源骨骼的约束点,从而确定源骨骼的约束点的运动序列。示例性地,一段源骨骼的动画数据包括50帧,目标骨骼的第二骨骼姿态序列可以包括前30帧源骨骼的动画数据运动重定向后得到的目标骨骼的第二骨骼姿态,源骨骼的约束点的运动序列可以包括50帧的源骨骼的第一骨骼姿态下源骨骼的约束点,通过该30帧目标骨骼的第二骨骼姿态、50帧的源骨骼的约束点及第30帧中目标骨骼的约束点,确定当前第31帧数据中目标骨骼的约束点;例如,如下述公式(5)所示:
本公开实施例中,在上述利用目标骨骼自身的蒙皮信息构建约束条件的基础上,通过环境中的其他关键信息点(即源骨骼所在空间中物体的关键网格点、源骨骼所在空间中其他骨骼的关键蒙皮点,其中,源骨骼所在空间中物体的关键网格点与目标骨骼所在空间中物体的关键网格点具有对应关系,源骨骼所在空间中其他骨骼的关键蒙皮点与目标骨骼所在空间中其他骨骼的关键蒙皮点具有对应关系),增加在重定向空间中的距离判定,距离判定是:把空间中的源骨骼和目标骨骼以及空间物体(有互动的物体)看做整体,他们之间的距离会成为约束判定的依据,即不仅仅考虑单个虚拟角色的目标骨骼,而是把整个目标骨骼所在的重定向空间当成一个整体,例如,对于整个运动重定向空间中的多个人物和多个环境内的物体,将这些人物和物体在重定向空间中事先标注出来(即标注出关键信息点),在运动重定向过程中作为一个整体,实时更新目标骨骼的约束点,从而对上述第二约束条件进行实时更新,这样,充分考虑了环境因素的影响,目标骨骼的约束点及通过该约束点所确定的第二约束条件随着环境的变化以及运动的变化实时更新的,从而对源骨骼的动画数据传递到目标骨骼的过程进行动态约束。
示例性地,将源骨骼的一段先跑步然后抓取单杠做引体向上然后落下的动作传递到目标骨骼,这段动作中跑步的时候是脚步和地面之间的约束,在抓取单杠做引体向上的过程中是手部和单杠的约束,最后落下又回到脚步和地面之间的约束,在这一整段动作过程中,地面和单杠作为环境因素,在运动重定向过程中将地面、单杠及源骨骼(目标骨骼)作为一个整体,关键信息点包括手部及脚部的关键蒙皮点,及地面和单杠上的与源骨骼上的关键蒙皮点存在接触的关键网格点,源骨骼的约束点与这些关键信息点有关;根据这一整体,即地面上的关键网格点、单杠的关键网格点、手部的关键蒙皮点、脚部的关键蒙皮点,从而可知源骨骼的约束点的运动序列,即脚部的关键蒙皮点先与地面上的关键网格点接触,然后手部的关键蒙皮点与单杠的关键网格点的接触,最后回到脚部的关键蒙皮点与地面上的关键网格点接触;假设已经对该整段动作完成了一部分运动重定向,得到了目标骨骼的第二骨骼姿态序列,根据源骨骼的约束点的运动序列、该目标骨骼的第二骨骼姿态序列及当前帧的目标骨骼的约束点,通过上述公式(5)即可得到下一帧的目标骨骼的约束点;在得到实时的目标骨骼的约束点后,可以参照上述公式(2)或公式(4),利用该实时的目标骨骼的约束点的更新第二约束条件,该第二约束条件包含蒙皮信息及环境信息,通过该第二约束条件对运动重定向过程中目标骨骼的第二骨骼姿态进行实时约束,从而使得在优化出的目标骨骼的第二骨骼姿态下目标骨骼的约束点的位置与第二位置相同。
这样,在运动重定向过程中,有效信息不再只有骨骼的旋转角度等运动信息,关键蒙皮点及关键网格点成为了一个重要的附加约束;同时利用骨骼运动信息及蒙皮信息进行约束,有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象;同时提高了动画制作效率。
图2示出根据本公开一实施例的一种运动重定向方法的流程图。如图2所示,该方法可以包括:
步骤200、在所述源骨骼与所述目标骨骼之间,搭建一个或多个虚拟骨骼;
在运动重定向过程中,源骨骼与目标骨骼一般存在三种本质上的差异,即:骨骼的数量差异、轴向差异、长短差异。其中,骨骼的数量差异会导致源骨骼与目标骨骼之间无法一对一的传递关节的空间旋转数据。骨骼的轴向指的是每一个骨骼的局部坐标系,轴向差异导致了源骨骼与目标骨骼之间的关节无法直接传递空间旋转数据。长短差异导致了将源骨骼的动画数据传递到目标骨骼上会出现错误的情况(例如脚步滑动等)。
该步骤中,通过比较源骨骼和目标骨骼,搭建出一个或多个虚拟骨骼,通过虚拟骨骼桥接源骨骼与目标骨骼,将源骨骼与目标骨骼之间的差异通过该虚拟骨骼来传递,从而消除两种骨骼之间的轴向差异,示例性地,图3示出根据本公开一实施例的构建虚拟骨骼的示意图,如图3所示,虚拟骨骼中各骨骼的长度与相对应的源骨骼中各骨骼的长度相同,虚拟骨骼中各骨骼的轴向与相对应的目标骨骼中各骨骼的轴向相同。同时,虚拟骨骼的数量可以为多个,通过多个虚拟骨骼桥接源骨骼与目标骨骼,从而实现源骨骼到目标骨骼的平滑过渡,进一步优化了消除轴向差异的效果。另外,虚拟骨骼的数量可以与源骨骼、目标骨骼均不相同,虚拟骨骼的数量可以与上述预先定义的源骨骼与目标骨骼的对应关系中所选取的骨骼的数量相同,例如,源骨骼和目标骨骼各有100根骨骼,在上述关联配置选用了10根骨骼作为关键骨骼进行对应,并通过100根源骨骼和100根目标骨骼以及对应关系计算得出10根虚拟骨骼;再例如,源骨骼有100根骨骼,目标骨骼有10根骨骼,在上述语义关联选用了10根骨骼作为关键骨骼进行对应,并通过100根源骨骼和10根目标骨骼以及对应关系计算得出10根虚拟骨骼。从而有效解决骨骼的数量差异对运动重定向的上述影响,且提高了运算效率。
在一种可能的实现方式中,该步骤可以包括:根据所述源骨骼、所述目标骨骼及预设的一个或多个参考姿态,得到源骨骼的一个或多个参考姿态及目标骨骼的一个或多个参考姿态;根据预设的源骨骼与目标骨骼的对应关系,在源骨骼与目标骨骼的同一参考姿态之间,搭建一个或多个虚拟骨骼。
相关技术中仅通过一个参考姿态来定义源骨骼与目标骨骼的风格关联关系,这会导致难以控制角色动作的风格,例如,在T-姿态的状态下源骨骼与目标骨骼的风格是相同的,但是在弯腰或者蹲下的时候,源骨骼与目标骨骼的风格相似度难以保证;因此,本公开实施例中,为了满足实际动画制作过程中对不同动画风格的需求,在构建虚拟骨骼时加入了多个参考姿态,利用多帧参考姿态来定义源骨骼与目标骨骼的风格关联关系,从而对角色最终的动画风格加以把控。例如,通过预设的一个或多个参考姿态,并结合源骨骼、目标骨骼及上述源骨骼与目标骨骼的对应关系,得到一个或多个参考姿态对应的虚拟骨骼,从而利用虚拟骨骼将所需要的风格从源骨骼过渡到目标骨骼。例如,参考姿态为站立姿态,源骨骼是一个站立姿态为正常站立的风格,但是希望目标骨骼的站立姿态是一个驼背的站立风格,则利用源骨骼与目标骨骼的对应关系,在正常站立的源骨骼与驼背站立的目标骨骼之间搭建该站立姿态的虚拟骨骼,该虚拟骨骼的站立姿态的风格为正常站立风格到驼背站立风格的过渡,从而利用该虚拟骨骼将源骨骼正常站立的风格过渡到目标骨骼的驼背站立的风格。
在一种可能的实现方式中,所述参考姿态包括:T-姿态。在预设的一个或多个参考姿态中,基础的参考姿态为T-姿态(T-pose),即站立双手平举姿态,针对该T-姿态,根据上述源骨骼与目标骨骼的对应关系,及源骨骼所呈现的T-姿态和目标骨骼所呈现的T-姿态,在源骨骼与目标骨骼之间,搭建出T-姿态的虚拟骨骼,虚拟骨骼的T-姿态桥接了源骨骼与目标骨骼之间站立双手平举时的风格形态。
在一种可能的实现方式中,所述参考姿态还包括:蹲下、跨出一步、叉腰、弯腰以及双手举起中的至少一个姿态。
上述利用源骨骼和目标骨骼,以及源骨骼与目标骨骼的对应关系,搭建的T-姿态虚拟骨骼,该T-姿态虚拟骨骼作为基础的虚拟骨骼,基本桥接了源骨骼与目标骨骼的轴向差异。为了将源骨骼与目标骨骼的不同的风格也通过虚拟骨骼转换过去,本公开实施例,在T-姿态虚拟骨骼的基础上,加入其它的参考姿态,从而满足不同的风格需求。示例性地,参考姿态还可以包括其他5个不同的参考姿态:蹲下姿态、跨出一步姿态、叉腰姿态、弯腰姿态以及双手举起姿态。针对其中这5个参考姿态中的任一参考姿态,搭建该参考姿态的虚拟骨骼,从而利用该虚拟骨骼将源骨骼的该参考姿态下的风格过渡到目标骨骼的该参考姿态下的风格。需要说明的是,预设的参考姿态在具有T-姿态的基础上,可以根据不同的动画制作需求追加其他参考姿态,本公开实施例对参考姿态的数量不作限定。
步骤201、获取源骨骼的第一骨骼姿态和源骨骼的约束点;其中,约束点包括蒙皮点。
该步骤与上述图1中的步骤101相同,在此不再赘述。
步骤202、根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件。
该步骤与上述图1中的步骤102相同,在此不再赘述。
步骤203、根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件。
该步骤与上述图1中的步骤103相同,在此不再赘述。
步骤204、根据所述第一骨骼姿态及所述虚拟骨骼,得到目标骨骼的第三骨骼姿态。
该步骤中,在源骨骼的第一骨骼姿态的基础上,得到一个或多个虚拟骨骼,然后将一个或多个虚拟骨骼融合,得到目标骨骼的第三骨骼姿态,从而可以将源骨骼的风格映射到目标骨骼;该第三骨骼姿态为未进行约束所得到的目标骨骼的姿态。
示例性地,根据第一骨骼姿态及上述构建的与该第一骨骼姿态对应的一个或多个虚拟骨骼,通过融合计算得到目标骨骼的第三骨骼姿态。
步骤205、根据第三位置和所述第二位置,得到满足所述第二约束条件的第二骨骼姿态;其中,所述第三位置是目标骨骼的约束点在所述第三骨骼姿态下的位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点位置、以及第一骨骼姿态,确定的所述目标骨骼的约束点位置。
该步骤中,目标骨骼的约束点在所述第三骨骼姿态下的位置,即第三位置,可能与目标骨骼约束点所需到达的目标位置(即第二位置)可能存在差异,在上述根据虚拟骨骼得到目标骨骼的第三骨骼姿态的基础上,加入第二约束条件对目标骨骼的骨骼姿态进行约束,从而得到更加生动真实的目标骨骼第二骨骼姿态,使得运动重定向的动作更精确。
在该步骤中,通过上述构建的一个或多个虚拟骨骼将源骨骼的动画数据传递到目标骨骼,即将源骨骼的第一骨骼姿态,通过该虚拟骨骼,映射到目标骨骼的第三骨骼姿态;虚拟骨骼通过桥接源骨骼与目标骨骼,消除了源骨骼与目标骨骼之间的数量及轴向差异,从而保证动画数据可以有效地从源骨骼传递到目标骨骼上;进一步地,由于具有多个不同的参考姿态,源骨骼与目标骨骼的不同的姿态风格也通过虚拟骨骼转换过去。同时,通过上述图1中的第二约束条件对运动重定向过程中所得到的目标骨骼的第三骨骼姿态进行约束,从而得到目标骨骼的第二骨骼姿态,这样,有效利用了蒙皮信息进行约束,能够更加有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象,进一步提高了动画制作的效率,避免了大量人力工作。
需要说明的是,尽管以上述实施例作为示例介绍了运动重定向方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定各实施方式,只要符合本公开的技术方案即可。
这样,本公开实施例中,通过获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。这样,在运动重定向的过程中加入了蒙皮信息进行约束,能够有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象;同时,后期无需大量美术人力修复数据,有效提高了动画制作效率。
图4示出根据本公开一实施例的一种运动重定向装置的结构图,如图4所示,该装置包括:获取模块301,用于获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;第一约束条件构建模块302,用于根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;第二约束条件构建模块303,用于根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;运动重定向模块304,用于根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。
在一种可能的实现方式中,所述装置还包括:虚拟骨骼搭建模块,用于:在所述源骨骼与所述目标骨骼之间,搭建一个或多个虚拟骨骼;根据所述第一骨骼姿态及所述虚拟骨骼,得到目标骨骼的第三骨骼姿态;根据第三位置和所述第二位置,得到满足所述第二约束条件的第二骨骼姿态;其中,所述第三位置是目标骨骼的约束点在所述第三骨骼姿态下的位置。
在一种可能的实现方式中,所述第二约束条件包括:所述目标骨骼的约束点在所述第二骨骼姿态下的位置和所述第二位置相同。
在一种可能的实现方式中,所述目标骨骼的约束点在所述第二骨骼姿态下的位置,根据目标骨骼的约束点的权重信息、第二骨骼姿态下目标骨骼的约束点在目标骨骼上的局部坐标及目标骨骼局部坐标系到世界坐标系的变换矩阵确定。
在一种可能的实现方式中,所述装置还包括:约束点位置预测模块,用于通过预测模型对目标骨骼的第二骨骼姿态序列、源骨骼的约束点的运动序列、以及当前帧的目标骨骼的约束点进行处理,得到下一帧的目标骨骼的约束点;其中,所述源骨骼的约束点的运动序列由源骨骼的不同约束点的位置确定。
在一种可能的实现方式中,所述约束点还包括:网格点和/或骨骼点。
在一种可能的实现方式中,所述虚拟骨骼搭建模块,还用于:根据所述源骨骼、所述目标骨骼及预设的一个或多个参考姿态,得到源骨骼的一个或多个参考姿态及目标骨骼的一个或多个参考姿态;根据预设的源骨骼与目标骨骼的对应关系,在源骨骼与目标骨骼的同一参考姿态之间,搭建一个或多个虚拟骨骼。
在一种可能的实现方式中,所述参考姿态至少包括:T-姿态。
在一种可能的实现方式中,所述源骨骼的约束点,根据源骨骼的自身约束和/或与所述源骨骼相关联的环境约束确定。
需要说明的是,尽管以上述实施例作为示例介绍了运动重定向装置如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定各实施方式,只要符合本公开的技术方案即可。
这样,本公开实施例中,通过获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置。这样,在运动重定向的过程中加入了蒙皮信息进行约束,能够有效地避免运动重定向可能出现的抖动及整体动作的僵硬、不自然等现象;同时,后期无需大量美术人力修复数据,有效提高了动画制作效率。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
图5示出根据本公开一实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种运动重定向方法,其特征在于,包括:
获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;
根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;
根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;
根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置;
所述第一约束条件表示第一骨骼姿态下,由源骨骼中不同约束点的相对位置关系所得到的对各约束点的位置约束;
所述第二约束条件包括:所述目标骨骼的约束点在所述第二骨骼姿态下的位置和所述第二位置相同。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述源骨骼与所述目标骨骼之间,搭建一个或多个虚拟骨骼;
根据所述第一骨骼姿态及所述虚拟骨骼,得到目标骨骼的第三骨骼姿态;
根据第三位置和所述第二位置,得到满足所述第二约束条件的第二骨骼姿态;其中,所述第三位置是目标骨骼的约束点在所述第三骨骼姿态下的位置。
3.根据权利要求1所述的方法,其特征在于,所述目标骨骼的约束点在所述第二骨骼姿态下的位置,根据目标骨骼的约束点的权重信息、第二骨骼姿态下目标骨骼的约束点在目标骨骼上的局部坐标及目标骨骼局部坐标系到世界坐标系的变换矩阵确定。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过预测模型对目标骨骼的第二骨骼姿态序列、源骨骼的约束点的运动序列、以及当前帧的目标骨骼的约束点进行处理,得到下一帧的目标骨骼的约束点;其中,所述源骨骼的约束点的运动序列由源骨骼的不同约束点的位置确定。
5.根据权利要求1所述的方法,其特征在于,所述约束点还包括:网格点和/或骨骼点。
6.根据权利要求2所述的方法,其特征在于,所述在所述源骨骼与所述目标骨骼之间,搭建一个或多个虚拟骨骼,包括:
根据所述源骨骼、所述目标骨骼及预设的一个或多个参考姿态,得到源骨骼的一个或多个参考姿态及目标骨骼的一个或多个参考姿态;
根据预设的源骨骼与目标骨骼的对应关系,在源骨骼与目标骨骼的同一参考姿态之间,搭建一个或多个虚拟骨骼。
7.根据权利要求6所述的方法,其特征在于,所述参考姿态至少包括:T-姿态。
8.根据权利要求1所述的方法,其特征在于,所述源骨骼的约束点,根据源骨骼的自身约束和/或与所述源骨骼相关联的环境约束确定。
9.一种运动重定向装置,其特征在于,包括:
获取模块,用于获取源骨骼的第一骨骼姿态和源骨骼的约束点,所述约束点包括蒙皮点;
第一约束条件构建模块,用于根据所述第一骨骼姿态和源骨骼的约束点,构建第一约束条件;
第二约束条件构建模块,用于根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、及所述第一约束条件,得到第二约束条件;
运动重定向模块,用于根据第一位置和第二位置,得到满足所述第二约束条件的目标骨骼的第二骨骼姿态,其中,所述第一位置是在无第二约束条件时将所述第一骨骼姿态映射到目标骨骼,得到的所述目标骨骼的约束点位置;所述第二位置是根据源骨骼的约束点与目标骨骼的约束点之间的对应关系、源骨骼的约束点以及所述第一骨骼姿态,确定的所述目标骨骼的约束点位置;
所述第一约束条件表示第一骨骼姿态下,由源骨骼中不同约束点的相对位置关系所得到的对各约束点的位置约束;
所述第二约束条件包括:所述目标骨骼的约束点在所述第二骨骼姿态下的位置和所述第二位置相同。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述存储器存储的可执行指令时实现权利要求1至权利要求8中任意一项所述的方法。
11.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631904.6A CN112634419B (zh) | 2020-12-31 | 2020-12-31 | 一种运动重定向方法、装置、电子设备及存储介质 |
PCT/CN2021/138407 WO2022143178A1 (zh) | 2020-12-31 | 2021-12-15 | 一种运动重定向方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631904.6A CN112634419B (zh) | 2020-12-31 | 2020-12-31 | 一种运动重定向方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112634419A CN112634419A (zh) | 2021-04-09 |
CN112634419B true CN112634419B (zh) | 2022-03-25 |
Family
ID=75289826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011631904.6A Active CN112634419B (zh) | 2020-12-31 | 2020-12-31 | 一种运动重定向方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112634419B (zh) |
WO (1) | WO2022143178A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634419B (zh) * | 2020-12-31 | 2022-03-25 | 魔珐(上海)信息科技有限公司 | 一种运动重定向方法、装置、电子设备及存储介质 |
CN113313794B (zh) * | 2021-05-19 | 2022-11-08 | 深圳市慧鲤科技有限公司 | 动画迁移方法和装置、设备及存储介质 |
CN113298917A (zh) * | 2021-05-28 | 2021-08-24 | 上海曼恒数字技术股份有限公司 | 一种人形动画复用方法及系统 |
CN113610949B (zh) * | 2021-08-25 | 2023-06-16 | 腾讯科技(深圳)有限公司 | 虚拟手臂骨骼的蒙皮方法、装置、设备以及存储介质 |
CN115018959A (zh) * | 2022-05-13 | 2022-09-06 | 阿里巴巴(中国)有限公司 | 三维虚拟模型的驱动处理方法、装置、设备和存储介质 |
CN115713582B (zh) * | 2022-12-02 | 2023-10-27 | 北京百度网讯科技有限公司 | 虚拟形象生成方法、装置、电子设备和介质 |
CN116152404B (zh) * | 2023-04-19 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 动画重定向方法、装置、计算机设备及存储介质 |
CN116385666B (zh) * | 2023-06-02 | 2024-02-27 | 杭州倚澜科技有限公司 | 基于反馈式循环神经网络的人体模型重定向方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945561A (zh) * | 2012-10-16 | 2013-02-27 | 北京航空航天大学 | 一种计算机骨骼动画中基于运动捕获数据的运动合成与编辑方法 |
CN111080755A (zh) * | 2019-12-31 | 2020-04-28 | 上海米哈游天命科技有限公司 | 一种运动解算方法、装置、存储介质及电子设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8384714B2 (en) * | 2008-05-13 | 2013-02-26 | The Board Of Trustees Of The Leland Stanford Junior University | Systems, methods and devices for motion capture using video imaging |
US9058065B2 (en) * | 2010-10-22 | 2015-06-16 | Custom Device Technologies, Llc | Hand-held orthopedic electronic interface device and method of manufacture |
CN102708582B (zh) * | 2012-05-08 | 2014-03-12 | 电子科技大学 | 一种面向异构拓扑的角色运动重定向方法 |
CN106780766B (zh) * | 2016-11-24 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 匹配实现方法及相关装置 |
CN107833271B (zh) * | 2017-09-30 | 2020-04-07 | 中国科学院自动化研究所 | 一种基于Kinect的骨骼重定向方法及装置 |
CN111292402B (zh) * | 2020-02-13 | 2023-03-07 | 腾讯科技(深圳)有限公司 | 数据处理的方法、装置、设备及计算机可读存储介质 |
CN111402372B (zh) * | 2020-03-24 | 2023-04-18 | 网易(杭州)网络有限公司 | 游戏中虚拟角色的动作模拟方法、装置和电子设备 |
CN111724459B (zh) * | 2020-06-22 | 2024-04-12 | 合肥工业大学 | 一种面向异构人体骨骼的运动重定向的方法及系统 |
CN111899317A (zh) * | 2020-08-07 | 2020-11-06 | 北京中科深智科技有限公司 | 一种基于神经网络的运动数据重定向方法 |
CN112634419B (zh) * | 2020-12-31 | 2022-03-25 | 魔珐(上海)信息科技有限公司 | 一种运动重定向方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-31 CN CN202011631904.6A patent/CN112634419B/zh active Active
-
2021
- 2021-12-15 WO PCT/CN2021/138407 patent/WO2022143178A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945561A (zh) * | 2012-10-16 | 2013-02-27 | 北京航空航天大学 | 一种计算机骨骼动画中基于运动捕获数据的运动合成与编辑方法 |
CN111080755A (zh) * | 2019-12-31 | 2020-04-28 | 上海米哈游天命科技有限公司 | 一种运动解算方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2022143178A1 (zh) | 2022-07-07 |
CN112634419A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112634419B (zh) | 一种运动重定向方法、装置、电子设备及存储介质 | |
CN110930483B (zh) | 一种角色控制的方法、模型训练的方法以及相关装置 | |
Chen et al. | KinÊtre: animating the world with the human body | |
EP3454302B1 (en) | Approximating mesh deformation for character rigs | |
KR101098834B1 (ko) | 동역학 기반 동작 생성 장치 및 방법 | |
CN111260764B (zh) | 一种制作动画的方法、装置及存储介质 | |
CN111223171A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
KR20120072128A (ko) | 디지털 클론 생성 장치 및 방법 | |
CN112819971B (zh) | 虚拟形象的生成方法、装置、设备和介质 | |
WO2005114640A1 (en) | Patch picking methods and apparatus | |
JP2019204476A (ja) | 画像生成装置、画像生成方法及びプログラム | |
CN114862992A (zh) | 虚拟数字人处理方法、模型训练方法及其装置 | |
CN112330805A (zh) | 人脸3d模型生成方法、装置、设备及可读存储介质 | |
Feng et al. | Fast, automatic character animation pipelines | |
CN116206370A (zh) | 驱动信息生成、驱动方法、装置、电子设备以及存储介质 | |
CN111369647A (zh) | 信息处理方法及装置、计算机存储介质、电子设备 | |
Alvarado et al. | Generating Upper‐Body Motion for Real‐Time Characters Making their Way through Dynamic Environments | |
Oore et al. | Local physical models for interactive character animation | |
Bhati et al. | Analysis of design principles and requirements for procedural rigging of bipeds and quadrupeds characters with custom manipulators for animation | |
CN116524081A (zh) | 虚拟现实画面调整方法、装置、设备及介质 | |
Razzaq et al. | Automatic conversion of human mesh into skeleton animation by using kinect motion | |
CN111515959B (zh) | 一种可编程木偶表演机器人控制方法、系统及机器人 | |
CN116805344B (zh) | 一种数字人动作重定向方法及装置 | |
de Aguiar et al. | Rapid animation of laser-scanned humans | |
CN115937371B (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 |