CN116206026B - 轨迹信息处理方法、装置、计算机设备和可读存储介质 - Google Patents
轨迹信息处理方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN116206026B CN116206026B CN202310501883.3A CN202310501883A CN116206026B CN 116206026 B CN116206026 B CN 116206026B CN 202310501883 A CN202310501883 A CN 202310501883A CN 116206026 B CN116206026 B CN 116206026B
- Authority
- CN
- China
- Prior art keywords
- collision
- information
- local
- limb
- skeleton
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000013508 migration Methods 0.000 claims abstract description 40
- 230000005012 migration Effects 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims abstract description 22
- 230000003993 interaction Effects 0.000 claims description 128
- 210000000988 bone and bone Anatomy 0.000 claims description 101
- 238000013507 mapping Methods 0.000 claims description 52
- 238000012937 correction Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 25
- 238000012216 screening Methods 0.000 claims description 19
- 238000000513 principal component analysis Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 9
- 210000003414 extremity Anatomy 0.000 description 186
- 210000001364 upper extremity Anatomy 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 15
- 230000037237 body shape Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 210000003141 lower extremity Anatomy 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 230000035515 penetration Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 239000002775 capsule Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 210000002683 foot Anatomy 0.000 description 4
- 210000000245 forearm Anatomy 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013016 damping Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 210000003194 forelimb Anatomy 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000000544 articulatio talocruralis Anatomy 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003797 telogen phase Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种轨迹信息处理方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:基于第一对象的体型特征生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体;将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息;确定对象几何体各部位交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点的碰撞发生位置;对多个碰撞发生位置进行位置调整,得到的各碰撞规避位置用于规避各局部几何体交互时发生碰撞;根据各碰撞发生位置和各碰撞规避位置对对象几何体的对象轨迹信息校正,获得第一对象的对象轨迹信息。本方法能够适配不同体型的对象之间的轨迹信息迁移。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种轨迹信息处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了动画重定向技术。动画重定向旨在将已有的动画资源迁移至新的角色,以改善动画的制作效率。例如,将角色A的动画序列迁移到角色B,使得无需为每个角色单独制作动画。
传统的动画重定向技术,主要考虑角色的骨骼之间的差异,比如两个角色在骨骼拓扑、骨骼比例上的差异,进而求算出每个骨骼的位置和旋转信息,从而获得角色的目标动画。
然而,不同角色在身高、体重、三围等方面存在差异,只考虑角色骨骼间的差异所迁移获得的动画,无法适配角色自身的特性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高准确性的轨迹信息处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
本申请提供了一种轨迹信息处理方法,所述方法包括:
获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;
确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的对象轨迹信息进行校正,获得所述第一对象的对象轨迹信息。
本申请还提供了一种轨迹信息处理装置,所述装置包括:
生成模块,用于获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
迁移模块,用于获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;
确定模块,用于确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
调整模块,用于对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
校正模块,用于根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的对象轨迹信息进行校正,获得所述第一对象的对象轨迹信息。
本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;
确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的对象轨迹信息进行校正,获得所述第一对象的对象轨迹信息。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;
确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的对象轨迹信息进行校正,获得所述第一对象的对象轨迹信息。
本申请还提供了一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;
确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的对象轨迹信息进行校正,获得所述第一对象的对象轨迹信息。
上述轨迹信息处理方法、装置、计算机设备、存储介质和计算机程序产品,通过获取第一对象的体型特征,基于体型特征分别生成包围第一对象的多个部位的局部几何体,使得生成的包围相应部位的局部几何体能够贴合该部位,使得所获得各局部几何体形成的对象几何体更贴合第一对象的体型。获取第二对象的对象轨迹信息,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息,以将第二对象的对象轨迹信息初步迁移给第一对象再进行后续的调整。确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自所处的位置,即碰撞发生位置。对多个碰撞发生位置进行位置调整,以得到用于规避多个局部几何体在交互时发生碰撞的多个碰撞规避位置,使得各碰撞点处于各自的碰撞规避位置时,多个局部几何体的交互不产生碰撞。根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,使得校正后第一对象的各部位在交互时不发生碰撞,从而获得适配第一对象的体型特性的对象轨迹信息。并且,考虑到对象的体型对轨迹信息迁移的影响,使得轨迹信息的迁移更灵活、更准确。
附图说明
图1为一个实施例中轨迹信息处理方法的应用环境图;
图2为一个实施例中轨迹信息处理方法的流程示意图;
图3为一个实施例中全局几何体构建的示意图;
图4为一个实施例中产生穿模现象的示意图;
图5为一个实施例中局部几何体在交互时发生碰撞的示意图;
图6为一个实施例中将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息的流程示意图;
图7为一个实施例中标准骨骼层级关系的示意图;
图8为另一个实施例中局部几何体在交互时发生碰撞的示意图;
图9为一个实施例中根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,得到多个局部几何体之间的姿态偏移信息的流程示意图;
图10为一个实施例中姿态匹配的示意图;
图11为另一个实施例中轨迹信息处理方法的流程示意图;
图12为一个实施例中角色的模型信息的示意图;
图13为一个实施例中部分骨骼的匹配的示意图;
图14为一个实施例中轨迹信息处理装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。例如,可应用于人工智能(Artificial Intelligence,AI)技术领域,其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。本申请实施例提供的方案涉及人工智能的轨迹信息处理方法,具体通过如下各实施例进行说明。
本申请实施例提供的轨迹信息处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。终端102和服务器104均可单独执行本申请实施例中提供的轨迹信息处理方法。终端102和服务器104也可协同用于执行本申请实施例中提供的轨迹信息处理方法。当终端102和服务器104协同用于执行本申请实施例中提供的轨迹信息处理方法时,终端102获取第一对象的体型特征和第二对象的对象轨迹信息,并发送给服务104。服务器104基于体型特征分别生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体。服务器104将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息。服务器104确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置。服务器104对多个碰撞发生位置进行位置调整,得到多个碰撞点各自对应的碰撞规避位置;各碰撞规避位置用于规避多个局部几何体在交互时发生碰撞。服务器104根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,获得第一对象的对象轨迹信息,将第一对象的对象轨迹信息反馈给终端102。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种轨迹信息处理方法,以该方法应用于图1中的计算机设备(计算机设备可以是图1中的终端或服务器)为例进行说明,包括以下步骤:
步骤S202,获取第一对象的体型特征,基于体型特征分别生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体。
其中,体型特征是指与第一对象的体型相关的特征信息。体型(somatotype),是对人体形状的总体描述和评定,例如可以是人体各部分之间的比例。
体型特征可以包括以下的至少一种:身体各部位的特征、身体的纵向比例、躯干与四肢的比例。身体各部位的特征例如头部特征、肩部特征、四肢特征、腹部特征等,但不限于此。
第一对象包括多个部位,多个部位包括活动的肢体。多个部位包括形成第一对象的各部位,例如头部、肩部、躯干、四肢等,但不限于此。活动的肢体例如可以是上肢、下肢、前肢、后肢等。
局部几何体是指包裹第一对象的局部的几何体,第一对象的局部即第一对象的一个部位或多个部位。多个指至少两个。例如,包围第一对象的头部的局部几何体、包围第一对象的上肢的局部几何体,该上肢包括上臂﹑前臂﹑腕和手。
对象几何体是指各局部几何体形成的全局几何体。在其他实施例中,对象几何体是指包围第一对象的每个部位的局部几何体形成的全局几何体,该全局几何体包围了该第一对象。
具体地,计算机设备可检测第一对象的体型信息,从该体型信息中提取第一对象的体型特征。计算机设备基于该体型特征分别生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体。
本实施例中,该体型特征包括第一对象的各部位的特征,计算机设备针对每个部位,根据所针对部位的特征,生成包围所针对部位的局部几何体,以得到每个部位各自的局部几何体,各局部几何体即可形成包括第一对象的对象几何体。如图3所示,第一对象的左上肢包括左上臂﹑左前臂﹑左腕和左手,则生成包围左上臂的几何体﹑包围左前臂的几何体﹑包围左腕的几何体和包围左手的局部几何体。按照类似处理,为第一对象的每个部位生成各自的局部几何体,从而形成包围该第一对象的对象几何体。
本实施例中,计算机设备生成包围第一对象的多个部位的局部几何体,例如生成包围左上肢的局部几何体,该局部几何体同时包围了左上臂﹑左前臂﹑左腕和左手。
本实施例中,计算机设备可针对第一对象的特定部位,根据第一对象的体型特征,生成包括所针对的特定部位的局部几何体,生成的每个局部几何体即形成该第一对象的局部几何体。
步骤S204,获取第二对象的对象轨迹信息,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息。
其中,第一对象和第二对象可以是实体对象或虚拟角色,具体可以是实体模型对象或虚拟场景下的虚拟角色等,但不限于此。第一对象和第二对象可以是人物对象或动物对象。
第一对象和第二对象属于相同类别的对象,例如第一对象是人物,则第二对象也是人物。第一对象的各部位的数量可与第二对象的各部位的数量相同。
第二对象的对象轨迹信息是指第二对象对应的轨迹信息,具体可以是第二对象在不同时刻的位置所形成的轨迹信息。对象几何体的对象轨迹信息是指对象几何体的粗略的轨迹信息,具体可以是对象几何体在不同时刻的粗略位置所形成的轨迹信息。该位置可以是二维坐标或三维坐标。
第二对象的对象轨迹信息包括第二对象的各部位的轨迹信息,对象几何体的对象轨迹信息包括第一对象的各部位的初始轨迹信息。
对象几何体的对象轨迹信息即为第一对象的粗略的轨迹信息,具体可以是第一对象在不同时刻的粗略位置所形成的初始轨迹信息。
本实施例中,将第二对象的对象轨迹信息迁移到对象几何体,即表示将第二对象的对象轨迹信息迁移第一对象,对象几何体的对象轨迹信息即为第一对象的初始轨迹信息。
具体地,计算机设备可获取第二对象的对象轨迹信息,将第二对象的对象轨迹信息迁移到第一对象,以表示将第二对象的对象轨迹信息迁移到对象几何体,从而得到对象几何体的对象轨迹信息。
本实施例中,第二对象的对象轨迹信息包括第二对象的各部位的轨迹信息,对象几何体的对象轨迹信息包括第一对象的各部位的初始轨迹信息。计算机设备将第二对象的各部位的轨迹信息迁移至第一对象的相应部位,得到第一对象的相应部位的初始轨迹信息,以获得对象几何体的对象轨迹信息。
进一步地,计算机设备确定第一对象的各部位与第二对象的各部位之间的匹配关系,根据各匹配关系,将第二对象的各部位的轨迹信息迁移至第一对象的相应部位,得到第一对象的相应部位的初始轨迹信息,以获得对象几何体的对象轨迹信息。
本实施例中,第二对象的对象轨迹信息包括第二对象的关节旋转信息和肢部轨迹信息,计算机设备将第二对象的关节旋转信息和肢部轨迹信息迁移至对象几何体,得到对象几何体的关节旋转信息和肢部轨迹信息。对象几何体的关节旋转信息即为第一对象的关节初始旋转信息,对象几何体的肢部轨迹信息即为第一对象的肢部初始轨迹信息。
步骤S206,确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置。
其中,碰撞点是多个局部几何体产生碰撞的点,碰撞时的碰撞点所处的位置即为该碰撞点的碰撞发生位置。该多个局部几何体中的每个局部几何体至少包括一个碰撞点。
本实施例中,碰撞点是多个局部几何体产生碰撞时,处于各局部几何体表面上的点。
具体地,将第二对象的对象轨迹信息迁移到对象几何体后,由于第一对象的体型与第二对象的体型之间存在差异,则第一对象的各部位按照第二对象迁移的对象轨迹信息进行交互时,可能产生穿模现象。穿模现象是指对象的某个部位与其他的部位产生碰撞,导致某个部位穿过另一部位的表面或者对另一部位的表面造成严重挤压,不符合对象的各部位之间的正常交互行为。
例如,对象A和对象B的体型差异较大,对象A较瘦,对象B较胖。对象A可以将手部插在腰上,则将对象A的对象轨迹信息迁移给对象B后,对象B想要把手插在腰上,但呈现出的效果时对象B的手部插入腰部,产生如图4所示的穿模现象。
对象几何体的各部位,即第一对象的各部位。计算机设备可确定对象几何体存在交互的各部位,并确定各部位交互时发生碰撞的多个局部几何体。对于发生碰撞的多个局部几何体,计算机设备确定多个局部几何体发生碰撞时,每个局部几何体上的碰撞点,并确定每个碰撞点在碰撞时所处的位置。将每个碰撞点在碰撞时所处的位置,作为相应碰撞点对应的碰撞发生位置。
本实施例中,碰撞点可以是发生碰撞的多个局部几何体,在发生碰撞时的碰撞最深点。如图5所示,第一对象的部位i和部位j在交互时发生碰撞,即部位i所属的局部几何体和部位j所属的局部几何体在交互时发生碰撞,部位i所属的局部几何体和部位j所属的局部几何体均存在多个碰撞点,处于部位i所属的局部几何体上的碰撞最深点为p,处于部位j所属的局部几何体上的碰撞最深点为Q。
计算机设备可确定多个局部几何体发生碰撞时,每个局部几何体上的碰撞最深点,并确定每个碰撞最深点各自对应的碰撞发生位置。
步骤S208,对多个碰撞发生位置进行位置调整,得到多个碰撞点各自对应的碰撞规避位置;各碰撞规避位置用于规避多个局部几何体在交互时发生碰撞。
其中,碰撞规避位置是指能够规避碰撞发生的位置,即能够避免碰撞发生的位置。各碰撞规避位置用于规避多个局部几何体在交互时发生碰撞。各碰撞点处于各自的碰撞规避位置时,多个局部几何体间的交互不会发生碰撞。
具体地,计算机设备可对多个碰撞点的碰撞发生位置进行位置调整,使得多个碰撞点所属的各局部几何体在交互时不发生碰撞,得到各局部几何体交互不发生碰撞的情况下多个碰撞点所处的位置。将各局部几何体交互不发生碰撞的情况下多个碰撞点所处的位置,作为该多个碰撞点各自对应的碰撞规避位置。
本实施例中,碰撞点可以是发生碰撞的多个局部几何体,在发生碰撞时的碰撞最深点,则各碰撞规避位置是各局部几何体交互不发生碰撞时多个碰撞最深点所处的位置。当多个碰撞最深点处于各自的碰撞规避位置时,该多个碰撞最深点均不再产生碰撞,则各局部几何体上的其他碰撞点自然不会产生碰撞,从而使得多个局部几何体间的交互不会发生碰撞。
步骤S210,根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,获得第一对象的对象轨迹信息。
其中,第一对象的对象轨迹信息是指第一对象对应的最终的轨迹信息,具体可以是第一对象在不同时刻的最终位置所形成的轨迹信息。该位置可以是二维坐标或三维坐标。
具体地,计算机设备根据各碰撞发生位置和各碰撞规避位置,计算出使得多个局部几何体不发生碰撞时的姿态偏移信息。计算机设备通过该姿态偏移信息对对象几何体的对象轨迹信息进行校正,得到第一对象的对象轨迹信息。
本实施例中,姿态偏移信息包括各部位的关节旋转偏移信息,对象几何体的对象轨迹信息包括各部位的关节旋转信息。通过各部位的关节旋转偏移信息对相应部位的关节旋转信息进行校正,得到校正后的关节旋转信息。第一对象的对象轨迹信息包括该校正后的关节旋转信息。
上述轨迹信息处理方法中,获取第一对象的体型特征,基于体型特征分别生成包围第一对象的多个部位的局部几何体,使得生成的包围相应部位的局部几何体能够贴合该部位,使得所获得各局部几何体形成的对象几何体更贴合第一对象的体型。获取第二对象的对象轨迹信息,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息,以将第二对象的对象轨迹信息初步迁移给第一对象再进行后续的调整。确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自所处的位置,即碰撞发生位置。对多个碰撞发生位置进行位置调整,以得到用于规避多个局部几何体在交互时发生碰撞的多个碰撞规避位置,使得各碰撞点处于各自的碰撞规避位置时,多个局部几何体的交互不产生碰撞。根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,使得校正后第一对象的各部位在交互时不发生碰撞,从而获得适配第一对象的体型特性的对象轨迹信息。并且,考虑到对象的体型对轨迹信息迁移的影响,使得轨迹信息的迁移更灵活、更准确。
在一个实施例中,体型特征通过第一对象的蒙皮关键点表征;基于体型特征分别生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体,包括:
获取第一对象的多个蒙皮关键点各自对应的蒙皮权重,基于蒙皮权重筛选出满足权重约束条件的蒙皮关键点;对筛选出的蒙皮关键点进行主成分分析处理,获得第一对象的多个部位各自对应的几何轴;针对多个部位中的每个部位,按照所针对部位对应的几何轴,生成包围所针对部位的局部几何体,获得各局部几何体形成的对象几何体。
其中,第一对象的体型特征通过第一对象的蒙皮关键点表征。把模型绑定到骨骼上的技术叫做蒙皮。蒙皮是将骨骼控制模型的形态节点,达到合理的绑定效果,该形态节点就是外部轮廓。蒙皮是三维动画的一种制作技术,指将网格点绑定在指定的骨骼上,基于绑定时分配的权重,网格点随着骨骼的运动而移动。蒙皮关键点是指关键的网格点,可以是网格顶点。绑定时所分配的权重即为蒙皮权重。
主成分分析处理(Principal Component Analysis,PCA)是为了将特征维度变小,同时尽量减少信息损失。
权重约束条件是基于权重筛选蒙皮关键点的约束条件,具体可以是蒙皮关键点的蒙皮权重大于权重阈值,或者按照蒙皮权重从高到低筛选出预设数量个蒙皮关键点。
具体地,计算机设备可获取第一对象的多个蒙皮关键点,通过多个蒙皮关键点表征该第一对象的体型特征。
计算机设备获取第一对象的多个蒙皮关键点各自对应的蒙皮权重,并获取权重约束条件。计算机设备将每个蒙皮关键点的蒙皮权重和该权重约束条件进行匹配,以从多个蒙皮关键点中筛选出满足权重约束条件的蒙皮关键点。
计算机设备对筛选出的蒙皮关键点进行主成分分析处理,得到第一对象的多个部位各自的第一主成分对应的轴。针对每个部位,将所针对部位的第一主成分对应的轴,作为所针对部位的几何轴。
针对多个部位中的每个部位,按照所针对部位对应的几何轴,生成包围所针对部位的局部几何体,以得到多个部位各自对应的局部几何体。多个部位各自对应的局部几何体形成第一对象的对象几何体。
本实施例中,第一对象的蒙皮关键点包括第一对象的多个部位各自对应的多个蒙皮关键点。
计算机设备获取第一对象的多个部位中每个部位的多个蒙皮关键点,并确定每个蒙皮关键点对应的蒙皮权重。针对多个部位中的每个部位,基于所针对部位的多个蒙皮关键点对应的蒙皮权重,筛选出所针对部位中满足权重约束条件的蒙皮关键点。对筛选出的蒙皮关键点进行主成分分析处理,获得所针对部位对应的几何轴,按照所针对部位对应的几何轴,生成包围所针对部位的局部几何体,获得各局部几何体形成的对象几何体。
本实施例中,通过第一对象的蒙皮关键点表征第一对象的体型特征,获取第一对象的多个蒙皮关键点各自对应的蒙皮权重,以基于蒙皮权重筛选出满足权重约束条件的蒙皮关键点,对筛选出的蒙皮关键点进行主成分分析处理,获得第一对象的多个部位各自对应的几何轴,能够保留在几何轴附近的特征,降低特征维度,减少计算量,同时减少信息损失。并且,通过几何轴保留了所针对部位尽可能多的特征,所保留的特征能够更好的体现所针对部位的形态,使得按照所针对部位对应的几何轴,生成的包围所针对部位的局部几何体能够贴合所针对部位,使得所获得各局部几何体形成的对象几何体更贴合第一对象的体型。
在一个实施例中,基于体型特征分别生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体,包括:
获取每次迭代的候选几何特征,针对每次迭代,基于体型特征和所针对迭代的候选几何特征,分别生成包围第一对象的多个部位的局部几何体,获得所针对迭代中各局部几何体形成的候选几何体;确定每次迭代的候选几何体各自对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
其中,候选几何特征是用于生成第一对象的对象几何体的一种或多种立体几何图形,例如对象几何体为胶囊体形成,或者对象几何体为胶囊体和球体形成等,但不限于此。候选几何特征例如长方体、正方体、胶囊体、球体等,但不限于此。
体积约束条件是用于约束第一对象的对象几何体的体积的条件。体积约束条件可以是多个体积中选择最小的体积,也可以是选择小于体积阈值的体积。
具体地,计算机设备可获取预设设置的多个候选几何特征,通过多个候选几何特征迭代生成第一对象对应的多个候选几何体。
针对每次迭代,计算机设备获取所针对迭代中使用的候选几何特征,基于第一对象的体型特征和对迭代的候选几何特征,分别构建包围第一对象的多个部位的局部几何体,以得到所针对迭代中各局部几何体形成的候选几何体。按照类似处理,计算机设备可获得每次迭代中的候选几何体。
计算机设备确定每个候选几何体各自的体积,并获取体积约束条件。计算机设备将每次迭代得到的候选几何体的体积分别和体积约束条件匹配,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体。将筛选出的候选几何体作为第一对象的对象几何体。
本实施例中,每次迭代中所使用的候选几何特征不同。例如,第一次迭代中选择胶囊体构建候选几何体,第二次迭代中选择球体构建候选几何体。
本实施例中,获取每次迭代的候选几何特征,针对每次迭代,基于体型特征和所针对迭代的候选几何特征,分别生成包围第一对象的多个部位的局部几何体,获得所针对迭代中各局部几何体形成的候选几何体,从而能够使用不同的几何特征分别生成第一对象对应的候选几何体,以确定哪些几何体能够最贴合第一对象的体型。确定每次迭代的候选几何体各自对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体,能够基于候选几何体的体积,准确地筛选出最贴合第一对象的几何体。并且,体积约束条件可以是筛选出体积最小的候选几何体,而体积最小的候选几何体最贴合第一对象的体型,从而获得能够准确表征出第一对象体型的几何体。
在一个实施例中,确定每次迭代的候选几何体各自对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体,包括:
从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体;确定满足关键点约束条件的每个候选几何体分别对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
其中,关键点约束条件是指通过关键点来筛选候选几何体的条件。第一对象的体型特征可通过多个关键点表征。关键点约束条件可以是候选几何体包含了预设数量的关键点,或者是候选几何体包含了所有的关键点。
具体地,计算机设备获取第一对象的多个关键点,以通过多个关键点表征第一对象的体型特征。计算机设备确定出每次迭代的候选几何体后,获取关键点约束条件,将每个候选几何体分别和关键点约束条件匹配,筛选出满足关键点约束条件的候选几何体。
计算机设备确定筛选出的每个候选几何体各自对应的体积,并获取体积约束条件。计算机设备将筛选出的每个候选几何体的体积分别和体积约束条件匹配,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体。将筛选出的满足体积约束条件的候选几何体作为第一对象的对象几何体。
例如,计算机设备从每次迭代得到的候选几何体中,筛选出包含了所有关键点的候选几何体,并确定筛选出的候选几何体的体积,筛选出最小体积的候选几何体作为第一对象的对象几何体,使得所得到的对象几何体包含了第一对象的所有关键点,并且体积最小,使得该对象几何体最贴合第一对象的体型。
本实施例中,关键点可以是蒙皮关键点,关键点约束条件可以是候选几何体包含了第一对象的预设数量的蒙皮关键点,或者包含了第一对象的所有的蒙皮关键点。
本实施例中,从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体,使得能够初步筛选出符合对第一对象的关键点的约束的候选几何体,接着,确定满足关键点约束条件的每个候选几何体分别对应的体积,从而进一步从各体积中筛选出满足体积约束条件的体积所对应的候选几何体,使得所筛选出的候选几何体最贴合第一对象的体型,从而有效避免了迁移前后的角色的体型差异所导致的穿模现象。
在一个实施例中,如图6所示,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息,包括:
步骤S602,获取第一对象的第一骨骼层级关系和第二对象的第二骨骼层级关系;第一骨骼层级关系表征第一对象的各第一骨骼之间的层级关系,第二骨骼层级关系表征第二对象的各第二骨骼之间的层级关系。
其中,第一骨骼层级关系表征第一对象的各第一骨骼之间的层级关系,第二骨骼层级关系表征第二对象的各第二骨骼之间的层级关系。
第一对象包括多个部位,每个部位包括各自的第一骨骼。第二对象包括多个部位,每个部位包括各自的第二骨骼。
具体地,计算机设备获取第一对象的各第一骨骼之间的层级关系,即第一层级关系,计算机设备获取第二对象的各第二骨骼之间的层级关系,即第二层级关系。
步骤S604,将第一骨骼层级关系和第二骨骼层级关系进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系。
具体地,计算机设备根据第一骨骼层级关系和第二骨骼层级关系,对各第一骨骼和各第二骨骼进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系。
本实施例中,将各第一骨骼和各第二骨骼之间的匹配关系,作为各第一骨骼所属的部位与各第二骨骼所属的部位之间的匹配关系。
步骤S606,按照匹配关系,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息。
具体地,计算机设备按照该匹配关系,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息。
本实施例中,第二对象的对象轨迹信息包括第二对象的各部位各自的轨迹信息。计算机设备按照各第一骨骼和各第二骨骼之间的匹配关系,将第二对象的各部位的轨迹信息,分别迁移到对象几何体中第一对象的相应部位,得到第一对象的各部位各自的初始轨迹信息。第一对象的各部位各自的初始轨迹信息即为对象几何体的各部位的轨迹信息,从而得到对象几何体的对象轨迹信息。
本实施例中,按照匹配关系,在第一对象的预设姿态和第二对象的预设姿态下,将第二对象的对象轨迹信息迁移到在静止姿态下的第一对象,使得第一对象和第二对象在相同姿态下进行对象轨迹信息的迁移。预设姿态可以是对象的静止姿态。
本实施例中,第一骨骼层级关系表征第一对象的各第一骨骼之间的层级关系,第二骨骼层级关系表征第二对象的各第二骨骼之间的层级关系,将第一对象的第一骨骼层级关系和第二对象的第二骨骼层级关系进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系,使得能够将第二对象的各骨骼映射至第一对象的各骨骼,从而按照各骨骼之间的匹配关系,将第二对象的对象轨迹信息准确迁移到对象几何体,获得对象几何体的对象轨迹信息。
在一个实施例中,将第一骨骼层级关系和第二骨骼层级关系进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系,包括:
获取标准骨架的标准骨骼层级关系,标准骨骼层级关系表征标准骨架的各标准骨骼之间的层级关系;将第一骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第一骨骼和各标准骨骼之间的第一映射关系;将第二骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第二骨骼和各标准骨骼之间的第二映射关系;根据第一映射关系和第一映射关系,将各第一骨骼和各第二骨骼进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系。
其中,标准骨架是通过多个标准骨骼生成的骨架。每个标准骨骼属于相应的部位。标准骨骼层级关系表征标准骨架的各标准骨骼之间的层级关系,如图7所示。
具体地,计算机设备获取标准骨架和标准骨架的各标准骨骼之间的层级关系。计算机设备将第一骨骼层级关系和标准骨骼层级关系进行映射处理,以将第一对象的各第一骨骼分别映射至标准骨架的相应标准骨骼,得到各第一骨骼和各标准骨骼之间的第一映射关系。计算机设备将第二骨骼层级关系和标准骨骼层级关系进行映射处理,以将第二对象的各第二骨骼分别映射至标准骨架的相应标准骨骼,得到各第二骨骼和各标准骨骼之间的第二映射关系。计算机设备根据第一映射关系和第一映射关系,将各第一骨骼和各第二骨骼进行匹配处理,以将对应同一标准骨骼的第一骨骼和第二骨骼匹配起来,得到各第一骨骼和各第二骨骼之间的匹配关系。
本实施例中,标准骨架是对象的各部位的骨骼形成的,标准骨骼层级关系表征标准骨架的各标准骨骼之间的层级关系。标准骨架和标准骨骼层级关系均是预设配置好的,将第一骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第一骨骼和各标准骨骼之间的第一映射关系,将第二骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第二骨骼和各标准骨骼之间的第二映射关系,能够将第一对象和第二对象的各骨骼分别与标准骨架的各骨骼进行映射,使得第一对象和第二对象的各骨骼均映射至相应的标准骨骼。根据第一映射关系和第一映射关系,将各第一骨骼和各第二骨骼进行匹配处理,能够通过标准骨骼将第一对象和第二对象的各骨骼匹配起来,使得两者之间的骨骼匹配更准确,有利于提高后续轨迹信息迁移的准确性。
在一个实施例中,对多个碰撞发生位置进行位置调整,得到多个碰撞点各自对应的碰撞规避位置,包括:
根据多个碰撞点各自的碰撞发生位置进行碰撞检测,得到多个碰撞点之间的碰撞深度和碰撞法向量;根据各碰撞发生位置、碰撞深度和碰撞法向量进行位置调整,得到多个碰撞点各自对应的碰撞规避位置。
其中,碰撞深度是指发生碰撞时的多个碰撞点之间的深度,碰撞深度可通过碰撞点之间的距离表征。碰撞法向量是指发生碰撞时的多个碰撞点对应的法向量。
具体地,计算机设备确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,并确定多个局部几何体发生碰撞的多个碰撞点。计算机设备获取多个碰撞点各自对应的碰撞发生位置,对多个碰撞点各自的碰撞发生位置进行碰撞检测,以确定多个碰撞点之间的碰撞深度,以及多个碰撞点之间的碰撞法向量。
针对每个碰撞发生位置,计算机设备根据所针对的碰撞发生位置、碰撞深度和碰撞法向量,对处于所针对碰撞发生位置的碰撞点进行位置调整,得到所针对碰撞发生位置的碰撞点对应的碰撞规避位置。按照类似处理,可获得每个碰撞点分别对应的碰撞规避位置。
本实施例中,计算机设备可获取预设的位置映射函数,该位置映射函数表征碰撞点的碰撞发生位置和碰撞规避位置之间的映射关系。针对每个碰撞发生位置,计算机设备根据位置映射函数、所针对的碰撞发生位置、碰撞深度和碰撞法向量,对处于所针对碰撞发生位置的碰撞点进行位置调整,得到该碰撞点对应的碰撞规避位置。
进一步地,针对每个碰撞发生位置,计算机设备将所针对的碰撞发生位置、碰撞深度和碰撞法向量代入该位置映射函数,得到该碰撞点对应的碰撞规避位置。
本实施例中,根据多个碰撞点各自的碰撞发生位置进行碰撞检测,能够准确计算出多个碰撞点之间的碰撞深度和碰撞法向量,从而能够通过碰撞深度准确反应出碰撞点之间的碰撞程度。根据各碰撞发生位置、碰撞深度和碰撞法向量进行位置调整,以调整至不产生碰撞时的位置,即可得到多个碰撞点各自对应的碰撞规避位置,使得碰撞点处于碰撞规避位置时能够有效避免第一对象的相应部位交互时发生的碰撞。
在一个实施例中,根据各碰撞发生位置、碰撞深度和碰撞法向量进行位置调整,得到多个碰撞点各自对应的碰撞规避位置,包括:
获取多个局部几何体各自对应的权重参数;针对每个碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置。
其中,权重参数表征发生碰撞的多个局部几何体在位置调整中各自的重要程度。局部几何体对应的权重参数越大,表示更倾向于移动该局部几何体以避免碰撞,即该局部几何体的位置调整更明显。
例如,局部几何体A的权重参数为0.7,局部几何体B的权重参数为0.3,则表示位置调整中更倾向于移动局部几何体A来达到避免局部几何体A和局部几何体B之间的碰撞,而该局部几何体A的位置变化更明显。
权重参数可取决于发生碰撞的多个局部几何体的类型,当多个局部几何体属于相同的类型时,各局部几何体的权重参数可相同,当多个局部几何体属于不同的类型时,各局部几何体的权重参数可不相同。
例如,当多个局部几何体均为上肢部位或均为下肢部位时,各局部几何体的权重参数可相同,如均为0.5。当多个局部几何体中一个局部几何体为上肢部位,一个为下肢部位时,上肢部位的局部几何体对应的权重参数可为1或0.8,下肢部位的局部几何体对应的权重参数可为0或0.1。
具体地,计算机设备获取多个局部几何体各自对应的权重参数,针对每个碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置。按照类似处理,可获得每个碰撞点分别对应的碰撞规避位置。
本实施例中,针对每个碰撞点,根据该位置映射函数、所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置。
进一步地,计算机设备计算所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量之间的乘积,将所针对碰撞点的碰撞发生位置与该乘积之和作为所针对碰撞点对应的碰撞规避位置。或者,将所针对碰撞点的碰撞发生位置与该乘积之差作为所针对碰撞点对应的碰撞规避位置。
本实施例中,对于多个碰撞点中的任两个碰撞点,当其中一个碰撞点的碰撞规避位置为碰撞点的碰撞发生位置与该乘积之和时,另一个碰撞点的碰撞规避位置为碰撞点的碰撞发生位置与该乘积之差。
例如,如图8所示,第一对象的部位i和部位j在交互时发生碰撞,部位i和部位j均存在多个碰撞点,处于部位i上的碰撞点为p,处于部位j上的碰撞点为Q,可通过如下公式计算碰撞点P、Q各自的碰撞规避位置:
其中,碰撞深度为d,碰撞法向为;/>表示关节的调整权重,即局部几何体的权重参数,权重越高表示更倾向于移动该局部几何体以避免碰撞。上肢关节权重默认为1,反之为0,当两关节均为上肢关节时,/>。可根据实际的需求调整权重参数的分布。
本实施例中,获取多个局部几何体各自对应的权重参数,通过权重参数来体现更倾向于移动哪个局部几何体,从而针对每个碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,以调整至不产生碰撞时的位置,即可得到多个碰撞点各自对应的碰撞规避位置,使得碰撞点处于碰撞规避位置时能够有效避免第一对象的相应部位交互时发生的碰撞。并且,通过权重参数能够体现哪个局部几何体的位置调整更大,哪个局部几何体的位置调整更小,使得能够以最合适的方式调整各局部几何体。
在一个实施例中,根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,获得第一对象的对象轨迹信息,包括:
根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,得到多个局部几何体之间的姿态偏移信息;基于姿态偏移信息对对象几何体的对象轨迹信息进行校正,得到第一对象的对象轨迹信息。
其中,姿态偏移信息是多个局部几何体所包围的部位各自的关节旋转偏移信息的集合。关节旋转偏移信息表征碰撞点所属的局部几何体在处于碰撞发生位置时的关节旋转量和相应碰撞规避位置时的关节旋转量之间的差异。
碰撞点处于碰撞发生位置时,局部几何体发生碰撞,碰撞点处于碰撞规避位置时,局部几何体不发生碰撞,则意味着姿态偏移信息时从碰撞发生到碰撞不发生的偏移信息,通过该姿态偏移信息即可规避多个局部几何体在交互时发生碰撞。
具体地,计算机设备根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,以确定出每个碰撞点从碰撞发生位置至碰撞规避位置之间的差异信息,即可得到多个局部几何体之间的姿态偏移信息,使得多个局部几何体在交互时不发生碰撞。
计算机设备基于姿态偏移信息对对象几何体的对象轨迹信息进行校正,得到校正后的对象轨迹信息,将该校正后的对象轨迹信息,作为第一对象的对象轨迹信息。
本实施例中,多个局部几何体之间的姿态偏移信息,包括每个局部几何体各自对应的偏移信息。针对每个碰撞点,计算机设备根据所针对碰撞点的碰撞发生位置和相应的碰撞规避位置,对该碰撞点所处的局部几何体进行姿态偏移预测,得到该局部几何体对应的偏移信息。将每个局部几何体对应的偏移信息整合即可得到姿态偏移信息。
本实施例中,第二对象的对象轨迹信息包括第二对象各部位的关节旋转信息,姿态偏移信息包括多个局部几何体所包围的部位各自的关节旋转偏移信息。根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,得到多个局部几何体所包围的部位各自的关节旋转偏移信息,即使得不发生碰撞时的关节旋转偏移信息。基于多个局部几何体所包围的部位各自的关节旋转偏移信息,对对象几何体相应部位的关节旋转信息进行校正,得到校正后的关节旋转信息,即可得到第一对象的对象轨迹信息。
本实施例中,根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,以计算出每个碰撞点所属的局部几何体在处于碰撞发生位置时的关节旋转量和相应碰撞规避位置时的关节旋转量之间的差异,从而准确获得多个局部几何体之间的姿态偏移信息。基于姿态偏移信息对对象几何体的对象轨迹信息进行校正,从而能够对交互时产生碰撞的各部位的轨迹信息进行调整,得到交互时不产生碰撞的轨迹信息,从而能够实现不同体型的对象之间的轨迹信息的准确迁移,并使得迁移后的轨迹信息完全贴合对象本身,提高轨迹迁移的精准性。
在一个实施例中,如图9所示,根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,得到多个局部几何体之间的姿态偏移信息,包括:
步骤S902,获取初始偏移信息,根据初始偏移信息对对象几何体的对象轨迹信息进行预校正,得到预校正轨迹信息;预校正轨迹信息包括多个碰撞点各自对应的预测规避位置。
其中,初始偏移信息表征各碰撞点所属的局部几何体在处于碰撞发生位置的关节旋转量和相应碰撞规避位置时的关节旋转量之间的初始差异。
预校正轨迹信息是通过初始偏移信息对对象几何体的对象轨迹信息进行预校正所得到、预测各局部几何体交互时不会发生碰撞的轨迹信息。该预校正轨迹信息包括多个碰撞点各自对应的预测规避位置。预测规避位置是指预测的能够规避碰撞发生的位置,即预测的能够避免碰撞发生的位置。
具体地,计算机设备获取预设的初始偏移信息,根据该初始偏移信息对对象几何体的对象轨迹信息进行预校正,得到对象几何体的预校正轨迹信息。该预校正轨迹信息包括多个碰撞点各自对应的预测规避位置。
步骤S904,确定各预测规避位置和相应的碰撞规避位置之间的距离,基于距离调整初始偏移信息,得到更新后的偏移信息。
具体地,计算机设备计算出每个碰撞点的预测规避位置和相应的碰撞规避位置之间的距离,基于距离调整初始偏移信息,得到更新后的偏移信息。
步骤S906,进入下一次迭代,将更新后的偏移信息作为下一次迭代中的初始偏移信息,返回根据初始偏移信息对对象几何体的对象轨迹信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息。
具体地,获得更新后的偏移信息后,进入下一次迭代,将更新后的偏移信息作为下一次迭代中的初始偏移信息,并返回根据初始偏移信息对对象几何体的对象轨迹信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息。
本实施例中,迭代停止条件可以是达到预设迭代次数、或者迭代中得到的预测规避位置和相应的碰撞规避位置之间的距离小于或等于距离阈值。例如,迭代次数为20,将第20次迭代中得到的更新后的偏移信息作为姿态偏移信息。
或者,当迭代中得到的预测规避位置和相应的碰撞规避位置之间的距离小于或等于距离阈值时,将该迭代中的初始偏移信息作为姿态偏移信息。
本实施例中,初始偏移信息包括各部位在交互时,各部位各自的关节预测旋转量;对象几何体的对象轨迹信息包括各部位各自的的关节旋转量;姿态偏移信息包括各部位在交互时各部位不产生碰撞时,各部位各自的关节旋转偏移量。
计算机设备获取各部位各自的关节预测旋转量,根据各部位各自的关节预测旋转量,对对象几何体的相应部位的关节旋转量进行预校正,得到该对象几何体的相应部位预校正后的关节旋转量。计算机设备通过对象几何体的各部位预校正后的关节旋转量,对相应部位的碰撞发生位置进行位置调整,得到多个碰撞点各自对应的预测规避位置。确定各预测规避位置和相应的碰撞规避位置之间的距离,基于距离调整本次迭代中的各部位各自的关节预测旋转量,得到更新后的关节预测旋转量,进入下一次迭代,将更新后的关节预测旋转量作为下一次迭代中的关节预测旋转量,返回根据各部位各自的关节预测旋转量对对象几何体的相应部位的关节旋转量进行预校正的步骤并继续执行,直至满足迭代停止条件时获得各部位各自的关节旋转偏移量,基于各部位各自的关节旋转偏移量,对相应部位的关节旋转量进行校正,得到第一对象的对象轨迹信息。
本实施例中,计算机设备可基于各碰撞点的预测规避位置、碰撞规避位置,以及预测规避位置和碰撞规避位置之间的距离,构建雅可比矩阵;根据雅可比矩阵、各预测规避位置和相应碰撞规避位置之间的距离、关节预测旋转量,计算出更新后的关节预测旋转量。
本实施例中,获取初始偏移信息,根据初始偏移信息对对象几何体的对象轨迹信息进行预校正,以预测出多个碰撞点各自对应的预测规避位置。确定各预测规避位置和相应的碰撞规避位置之间的距离差异,使得能够基于初始偏移信息预测得到的规避位置和真实的碰撞规避位置之间的距离,来体现校正所得到的规避位置和碰撞规避位置之间的差异,使得基于距离差异调整初始偏移信息,以在每次迭代调整中得到的更新的偏移信息所得到的规避位置更接近真实的碰撞规避位置,进入下一次迭代,将更新后的偏移信息作为下一次迭代中的初始偏移信息,返回根据初始偏移信息对对象几何体的对象轨迹信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息,从而能够在多次迭代中使得预测规避位置不断接近真实的碰撞规避位置,从而使得轨迹信息的迁移更准确。
在一个实施例中,对象几何体的对象轨迹信息包括第一对象的多个第一肢部各自的肢部轨迹信息,以及多个部位各自的关节旋转信息;第二对象的对象轨迹信息包括第二对象的多个第二肢部各自的肢部轨迹信息,以及多个部位各自的关节旋转信息;该方法还包括:
确定多个第一肢部之间的第一交互信息和多个第二肢部之间的第二交互信息;根据第一交互信息和第二交互信息,生成第一对象与第二对象之间的关节链交互约束信息;
根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,获得第一对象的对象轨迹信息,包括:
基于关节链交互约束信息对多个第一肢部各自的肢部轨迹信息进行校正,以及,根据各碰撞发生位置和各碰撞规避位置,对多个第一肢部各自的关节旋转信息进行校正,获得第一对象的对象轨迹信息。
其中,第一对象包括多个部位,多个部位包括多个第一肢部,第一目标肢部例如可以是上肢、下肢、前肢、后肢等。肢部轨迹信息是指第一肢部对应的轨迹信息,具体可以是第一肢部在不同时刻的位置所形成的轨迹信息。
第二对象包括多个部位,多个部位包括多个第二肢部,第二目标肢部例如可以是上肢、下肢、前肢、后肢等。肢部轨迹信息是指第二肢部对应的轨迹信息,具体可以是第二肢部在不同时刻的位置所形成的轨迹信息。
第一对象的每个部位包括各自的关节,则每个第一肢部包括各自的关节。第二对象的每个部位包括各自的关节,则每个第二肢部包括各自的关节。每个关节包括各自的关节旋转信息,表征关节的旋转量。进一步地,该关节旋转信息包括关节在各个方向上的旋转分量,例如,在x、y和z轴上各自的旋转分量。
对象几何体的对象轨迹信息包括第一对象的多个第一肢部各自的肢部轨迹信息,以及多个第一肢部各自的关节旋转信息。
第二对象的对象轨迹信息包括第二对象的多个第二肢部各自的肢部轨迹信息,以及多个第二肢部各自的关节旋转信息。
第一交互信息是指表征多个第一肢部之间的交互的信息。第二交互信息是指表征多个第二肢部之间的交互的信息。
关节链交互约束信息即多关节链约束信息,关节链交互约束信息是指对在轨迹迁移过程中对具有交互的多个肢部之间的交互关系的约束条件,具体是对第二肢部的肢部轨迹信息迁移到相应的第一肢部时,需要考虑到的多个第二肢部之间的交互的限制条件。
具体地,计算机设备获取确定多个第一肢部之间的第一交互信息,以及多个第二肢部之间的第二交互信息,生成第一对象与第二对象之间的关节链交互约束信息。
计算机设备基于关节链交互约束信息对多个第一肢部各自的肢部轨迹信息进行校正,得到多个第一肢部各自对应的校正后的肢部轨迹信息。根据各碰撞发生位置和各碰撞规避位置,对多个第一肢部各自的关节旋转信息进行校正,得到多个第一肢部各自对应的校正后的关节旋转信息。多个第一肢部各自对应的校正后的肢部轨迹信息和校正后的关节旋转信息形成第一对象的对象轨迹信息。
本实施例中,确定多个第一肢部之间的第一交互信息和多个第二肢部之间的第二交互信息,根据第一交互信息和第二交互信息,生成第一对象与第二对象之间的关节链交互约束信息,所生成的使得关节链交互约束信息使得多个第一肢部能够获得多个第二肢部之间的交互关系。基于关节链交互约束信息对多个第一肢部各自的肢部轨迹信息进行校正,使得迁移后的肢部轨迹信息既保留了多个第二肢部之间的交互关系,由能够符合第一对象自身的各个肢部的特征。根据各碰撞发生位置和各碰撞规避位置,对多个第一肢部各自的关节旋转信息进行校正,使得迁移至第一对象的对象轨迹信息中的关节旋转信息更符合第一对象的体型,避免第二对象和第一对象的体型差异较大导致迁移后产生的穿模现象。
在一个实施例中,该方法还包括:
获取第一对象的多个第一肢部各自的第一姿态信息,以及第二对象的多个第二肢部各自的第二姿态信息;针对每个第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息;
基于关节链交互约束信息对多个第一肢部各自的肢部轨迹信息进行校正,包括:
针对每个第一肢部,基于关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正。
其中,第一姿态信息是指表征第一肢部的姿态的信息。第二姿态信息是指表征第二肢部的姿态的信息。单关节链约束信息是指第二对象的一个第二肢部与相应的第一肢部之间的约束信息。单关节链约束信息是在轨迹迁移过程中对单个第二肢部的约束条件,具体是对第二肢部的肢部轨迹信息迁移到相应的第一肢部时,需要考虑到的对第二肢部自身的限制条件。
具体地,计算机设备获取第一对象的多个第一肢部各自的第一姿态信息,以及第二对象的多个第二肢部各自的第二姿态信息。针对每个第一肢部,计算机设备确定所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息之间的差异,将该差异作为所针对的第一肢部与相应的第二肢部之间的单关节链约束信息。
本实施例中,获取第一对象的多个第一肢部各自的第一姿态信息,以及第二对象的多个第二肢部各自的第二姿态信息;针对每个第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息,所生成的单关节链约束信息使得第一肢部能够获得第二肢部的姿态信息。针对每个第一肢部,基于关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正,使得第一对象各第一肢部能够获得与第二对象的相应第二肢部相一致的姿态,且第二对象的各肢部之间的交互与第一对象的各肢部之间的交互也保持一致,从而使得轨迹信息的迁移更准确。
在一个实施例中,提供了一种轨迹信息处理方法,应用于计算机设备,包括:
获取第一对象的体型特征;获取每次迭代的候选几何特征,针对每次迭代,基于体型特征和所针对迭代的候选几何特征,分别生成包围第一对象的多个部位的局部几何体,获得所针对迭代中各局部几何体形成的候选几何体;从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体;确定满足关键点约束条件的每个候选几何体分别对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
获取第一对象的第一骨骼层级关系和第二对象的第二骨骼层级关系;第一骨骼层级关系表征第一对象的各第一骨骼之间的层级关系,第二骨骼层级关系表征第二对象的各第二骨骼之间的层级关系。
获取标准骨架的标准骨骼层级关系,标准骨骼层级关系表征标准骨架的各标准骨骼之间的层级关系;将第一骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第一骨骼和各标准骨骼之间的第一映射关系;将第二骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第二骨骼和各标准骨骼之间的第二映射关系;根据第一映射关系和第一映射关系,将各第一骨骼和各第二骨骼进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系。
按照匹配关系,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息;第二对象的对象轨迹信息包括第二对象的多个第二肢部各自的肢部轨迹信息,以及多个部位各自的关节旋转信息;对象几何体的对象轨迹信息包括第一对象的多个第一肢部各自的肢部轨迹信息,以及多个部位各自的关节旋转信息。
获取第一对象的多个第一肢部各自的第一姿态信息,以及第二对象的多个第二肢部各自的第二姿态信息;针对每个第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息;确定多个第一肢部之间的第一交互信息和多个第二肢部之间的第二交互信息;根据第一交互信息和第二交互信息,生成第一对象与第二对象之间的关节链交互约束信息;针对每个第一肢部,基于关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正,得到各第一肢部校正后的肢部轨迹信息。
确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;根据多个碰撞点各自的碰撞发生位置进行碰撞检测,得到多个碰撞点之间的碰撞深度和碰撞法向量;获取多个局部几何体各自对应的权重参数;针对每个碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置;各碰撞规避位置用于规避多个局部几何体在交互时发生碰撞。
获取对象几何体的各部位在交互时,各部位各自的关节预测旋转量,根据各部位各自的关节预测旋转量,对对象几何体的相应部位的关节旋转量进行预校正,得到该对象几何体的相应部位预校正后的关节旋转量。计算机设备通过对象几何体的各部位预校正后的关节旋转量,对相应部位的碰撞发生位置进行位置调整,得到多个碰撞点各自对应的预测规避位置。
确定各预测规避位置和相应的碰撞规避位置之间的距离,基于距离调整本次迭代中的各部位各自的关节预测旋转量,得到更新后的关节预测旋转量,进入下一次迭代,将更新后的关节预测旋转量作为下一次迭代中的关节预测旋转量,返回根据各部位各自的关节预测旋转量对对象几何体的相应部位的关节旋转量进行预校正的步骤并继续执行,直至满足迭代停止条件时获得获得各部位各自的关节旋转偏移量。
根据各部位各自的关节旋转偏移量,对对象几何体的相应部位的关节旋转量进行校正,得到各关节校正后的关节旋转信息。各关节校正后的关节旋转信息和各第一肢部校正后的肢部轨迹信息形成第一对象的对象轨迹信息。
在一个实施例中,提供了一种轨迹信息处理方法的应用场景,即应用于实时动画的重定向场景。动画重定向旨在将已有的动画资源迁移至新的角色,基于此技术,当有新的动画角色制作完成时,不需要为新的动画角色额外制作动画,而是可以零成本复用已有的动画。动画重定向是主流动画制作流程的必需环节,本实施例的轨迹信息处理方法可以替代传统动画重定向的脚步轨迹优化技术,直接和已有的动画制作流程结合。从具体应用方面来说,本实施例的轨迹信息处理方法可以应用于任何需要复用动画的场景,例如三维游戏、元宇宙产品、虚拟直播、影视媒体等,但不限于此。具体地,可以将动画序列的脚步轨迹在任意角色间迁移,无需动画师为每个角色单独制作相应动画,实现动画素材的零成本复用。
实时动画流:指基于实时的动画采集方式,即时地产生每一个时刻的动画数据,比如惯性动捕、光学动捕、以及基于视觉的动捕方案,或是游戏内实时的人物动作。与处理离线动画数据不同,处理实时动画流需要流式的动画处理方式。
动画序列是指用于驱动物体运动、实现动态效果背后的逻辑/数据,广泛应用于游戏、影视等领域,如三维游戏里的角色动作等。本实施例中的“动画序列”可以是3D场景下角色的肢体动画。
本实施例中的“肢体动画”是指3D场景下人物角色的身体动画。人物肢体动画在游戏、直播、影视等领域使用非常广泛,3D游戏里的每一个角色都由肢体动画驱动,使角色产生符合剧情和角色特性的动态效果。
动画重定向,是指动画序列在不同角色间的迁移。例如,现拥有角色A的某段动画序列以及角色B的模型,动画重定向指的是将角色A的动画序列迁移至B上,保留A角色的关节弯曲、动作趋势等动作特征的同时适应B角色的角色特性,角色特性例如骨架拓扑、模型形状等。
脚步轨迹,即肢部轨迹信息,是指给定动画序列下,角色每一帧的脚步位置组成的轨迹。以人形角色为例,目标肢部即人形角色的下肢,脚步位置即为脚踝关节的位置序列。源角色,即第二对象,是指待迁移动画的人物,即动画重定向定义中的角色A。源动画,即第二对象的对象轨迹信息,是指待迁移的动画序列,即动画重定向定义中的角色A的动画序列。目标角色或目标角色模型,即第一对象,是指接受迁移的动画的对象,即动画重定向定义中的角色B。
绑定姿势,即预设姿态,在建模师制作三维模型时,绑定骨骼使用的默认姿势,一般为A形姿态A-Pose或T形姿态T-Pose,如图10所示。
本申请的轨迹信息处理方法可以应用于任何需要在实时场景下重用、复用动画的应用,比如游戏、数字人直播等。基于轨迹信息处理方法,可以把实时生成的动画资源复用至目标角色,驱动目标人物角色进行同样的运动,进而在游戏、直播中获得实时的角色动态效果。
除此之外,实时重定向也覆盖了所有离线重定向方案的应用场景。例如可读取文件形式的动画资源,生成目标角色的动画文件。
使用方法:
本申请的轨迹信息处理方法以独立工具库的形式提供,支持主流的Windows、Linux操作系统,可通过c++、python等语言调用,也可作为插件整合进游戏引擎(UE)中使用。
实时重定向工具的输入包括:
源角色的实时动画流,即源角色在当前时间的动作信息,通过角色各部位的关节旋转变换表征;
源骨骼的rest pose,即源骨骼下的一个标准姿态,通常使用Tpose或者Apose;
目标模型文件,可以是fbx格式,目标模型文件包含模型骨骼、模型网格体;
目标骨骼的rest pose,即目标骨骼下的一个标准的姿态,通常使用Tpose或者Apose;
同时也需要用户提供一些必需的配置,主要包括:
源骨骼的骨骼映射表,用于把源骨骼和内置标准骨骼匹配;
目标骨骼的骨骼映射表,用于把目标骨骼和内置标准骨骼匹配;
系统将输出基于目标模型的动画流,输出的结果可以实时驱动目标角色的运动。也可将结果保存为离线文件,作为离线动画资源。
本实施例中轨迹信息处理方法的整体流程如图11所示,其中,主要的输入为源角色的实时动画流以及目标角色模型。“模型定义”环节可确定源角色和目标角色模型的基本信息,包括骨骼的拓扑结构、关节语义(即哪个关节是头、哪个关节是手)、模型的碰撞体信息(用于近似模型的形状)等。“动画迁移”环节会迁移源动画的旋转信息和全局位置信息,即对象轨迹信息。“下肢优化”环节用于优化脚步轨迹,来适配不同的下肢比例,例如腿长、胯宽等,并迁移源动画流的脚步动态信息,避免滑步等动画质量问题。“上肢优化”环节会进一步调整上肢关节的姿态,考虑目标角色的体型来避免穿模,使迁移后的动画能适配目标角色的体型。每个部分的具体处理如下:
模型定义包括定义源角色和目标角色的模型信息、拓扑定义、关节匹配、姿态匹配和碰撞体定义。
定义源角色和目标角色的模型信息:模型定义模块会根据用户的设定,定义源角色和目标角色的模型信息,信息包括拓扑、关节匹配关系、rest pose以及碰撞体,如图12所示。
拓扑定义:系统将自动从动画或模型文件中获得模型骨架名称和层级关系,如上述图7所示。
关节匹配:此步骤将确定模型骨架和内部骨架的对应关系,需要用户人工设定,图13展示了部分骨骼的匹配。内部骨架指的是重定向系统内定义的一套标准骨架,包括驱动角色所必需的主要关节(四肢、脊柱、头等),系统内的算法基于内部骨架进行,因此需提前定义模型与内部骨架间的匹配关系,即对象骨架与标准骨架之间的匹配关系。对象骨架可以是第一对象的骨架,或者第二对象的骨架。
姿态匹配,即 rest pose匹配:系统会确定源角色和目标角色的rest pose。两角色的rest pose需要在姿态上一致,比如手都平行于地面等,如上述图10所示。
碰撞体定义,即局部几何体的生成:这一环节系统会自动求算目标模型每个关节的最小包裹几何体,即局部几何体,各局部几何体形成对象几何体。该全局几何体用于后续做碰撞检测和动作优化。
局部几何体的生成过程:将遍历目标模型的每个关节,筛选出其蒙皮权重大于0.3的顶点,顶点即蒙皮关键点。对这些顶点构成的集合进行主成分分析,选取第一主成分对应的轴为碰撞体的方向,并构建优化问题调整碰撞体的大小,优化变量为碰撞体的几何特征(胶囊体的几何特征为长度和半径、球体的几何特征则为半径),目标函数如下所示:
Min 全局几何体的体积;
S.t.所有顶点均在全局几何体内;
全局几何体的构建结果示例可参见图3。
动画迁移,即对象轨迹迁移:将迁移源动画流的关节旋转信息和全局平移信息。全局平移信息包括各肢部轨迹信息。经过迁移后,可初步获得迁移至目标角色模型的动画流,各关节的旋转程度与源动画流保持一致,但是会存在穿模等质量问题。接下来将通过上肢优化处理解决。动画流即对象轨迹信息。
上肢优化:该部分将考虑目标模型的体型特征,即在模型定义模块构建的全局几何体,进一步优化目标角色模型的动画流的质量,避免穿模等问题。
该部分通过构建雅可比IK问题来避免目标角色肢体间的碰撞。雅可比矩阵是指将函数的一阶偏导数按一定规律排列成的矩阵。记某函数为,则该函数的雅可比矩阵为:
其中,雅可比矩阵中的f为距离,即碰撞点的碰撞发生位置与相应的碰撞规避位置之间的距离。是多个关节旋转分量,例如对应x轴的关节旋转分量、对应y轴的关节旋转分量、对应z轴的关节旋转分量。
例如,图8中的P(即对应局部几何体i)对应雅可比矩阵的一行数据,Q(即对应对应局部几何体j)对应雅可比矩阵中的一行,按照类似方式,将所有发生碰撞的局部几何体的数据构建为雅可比矩阵中的元素,求解雅可比矩阵,可得到每个关节对应x、y、z轴的关节旋转分量,即可得到每个关节对应的旋转量。
具体地,构建雅可比矩阵,基于此调整各部位的关节偏移量,使得每对关节碰撞体上的碰撞点抵达系统指定的碰撞规避位置,即可保证相应的部位不发生碰撞。各部位的关节偏移量为上肢关节(例如锁骨、肩膀、手肘、手腕、脊椎)的旋转改变量或增量。具体旋转表示采用父关节坐标系下的旋转,使用欧拉角表示方法。目标函数的自变量为各部位的关节偏移量,因变量为碰撞点的碰撞发生位置与碰撞规避位置之间的距离。
以下将分别介绍关节碰撞点碰撞规避位置的计算以及雅可比IK的求解过程,包括碰撞点的碰撞规避位置计算和解雅可比IK求解。
碰撞规避位置计算:获取各局部几何体关节碰撞体发生碰撞的多个碰撞点各自对应的碰撞发生位置,基于各碰撞发生位置计算出每个碰撞点的碰撞规避位置。具体计算方式如上述图8和相应的实施例所示。
雅可比IK求解:通过求解雅可比IK,计算出使得碰撞点最接近碰撞规避位置时各部位的关节偏移量,通过各部位的关节偏移量校正动画迁移部分中输出的目标角色模型的动画流后,即可得到输出无碰撞的目标角色动画流。该优化过程为迭代式优化,默认最大迭代次数为20。记N为关节数,M为碰撞规避位置个数,每次迭代时的优化变量的更新如下公式所示:
其中,为更新的各部位的关节偏移量的集合。/>为大小/>的雅可比矩阵第i行第j列元素表示第i个碰撞规避位置关于第j个关节旋转分量的偏导数。Damp为阻尼参数,数值越大,优化过程越稳定,但收敛需要更多的迭代次数,阻尼参数默认值为1000,用户也可根据需求调整。D为损失函数值排列成/>大小的矩阵,即各碰撞点的碰撞发生位置与相应的碰撞规避位置之间的距离所形成的矩阵,/>表示上次迭代的优化变量结果,即上次迭代中各部位更新后的关节偏移量的集合。I为单位矩阵。
本实施例中,考虑了需要迁移肢体动画的角色的体型特征,可在实时动画流下进行无穿模的肢体动画迁移,适用于任意骨架拓扑和形状的人型角色,从而能够适配不同体型的角色。并且,通过对目标角色构建几何体,求解雅可比IK,以避免几何体间的碰撞,有效解决穿模等质量问题。
本实施例中,建立了完整且独立的重定向流程,不依赖于任何大型游戏引擎或3D软件,可以很方便地整合进各种实时驱动不同角色的流程,应用覆盖面更广。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的轨迹信息处理方法的轨迹信息处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个轨迹信息处理装置实施例中的具体限定可以参见上文中对于轨迹信息处理方法的限定,在此不再赘述。
在一个实施例中,如图14所示,提供了一种轨迹信息处理装置,包括:
生成模块1402,用于获取第一对象的体型特征,基于体型特征分别生成包围第一对象的多个部位的局部几何体,获得各局部几何体形成的对象几何体。
迁移模块1404,用于获取第二对象的对象轨迹信息,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息。
确定模块1406,用于确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置。
调整模块1408,用于对多个碰撞发生位置进行位置调整,得到多个碰撞点各自对应的碰撞规避位置;各碰撞规避位置用于规避多个局部几何体在交互时发生碰撞。
校正模块1410,用于根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,获得第一对象的对象轨迹信息。
本实施例中,通过获取第一对象的体型特征,基于体型特征分别生成包围第一对象的多个部位的局部几何体,使得生成的包围相应部位的局部几何体能够贴合该部位,使得所获得各局部几何体形成的对象几何体更贴合第一对象的体型。获取第二对象的对象轨迹信息,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息,以将第二对象的对象轨迹信息初步迁移给第一对象再进行后续的调整。确定对象几何体的各部位在交互时发生碰撞的多个局部几何体,获取多个局部几何体发生碰撞的多个碰撞点各自所处的位置,即碰撞发生位置。对多个碰撞发生位置进行位置调整,以得到用于规避多个局部几何体在交互时发生碰撞的多个碰撞规避位置,使得各碰撞点处于各自的碰撞规避位置时,多个局部几何体的交互不产生碰撞。根据各碰撞发生位置和各碰撞规避位置,对对象几何体的对象轨迹信息进行校正,使得校正后第一对象的各部位在交互时不发生碰撞,从而获得适配第一对象的体型特性的对象轨迹信息。并且,考虑到对象的体型对轨迹信息迁移的影响,使得轨迹信息的迁移更灵活、更准确。
在一个实施例中,生成模块1402,还用于获取第一对象的多个蒙皮关键点各自对应的蒙皮权重,基于蒙皮权重筛选出满足权重约束条件的蒙皮关键点;对筛选出的蒙皮关键点进行主成分分析处理,获得第一对象的多个部位各自对应的几何轴;针对多个部位中的每个部位,按照所针对部位对应的几何轴,生成包围所针对部位的局部几何体,获得各局部几何体形成的对象几何体。
本实施例中,通过第一对象的蒙皮关键点表征第一对象的体型特征,获取第一对象的多个蒙皮关键点各自对应的蒙皮权重,以基于蒙皮权重筛选出满足权重约束条件的蒙皮关键点,对筛选出的蒙皮关键点进行主成分分析处理,获得第一对象的多个部位各自对应的几何轴,能够保留在几何轴附近的特征,降低特征维度,减少计算量,同时减少信息损失。并且,通过几何轴保留了所针对部位尽可能多的特征,所保留的特征能够更好的体现所针对部位的形态,使得按照所针对部位对应的几何轴,生成的包围所针对部位的局部几何体能够贴合所针对部位,使得所获得各局部几何体形成的对象几何体更贴合第一对象的体型。
在一个实施例中,生成模块1402,还用于获取每次迭代的候选几何特征,针对每次迭代,基于体型特征和所针对迭代的候选几何特征,分别生成包围第一对象的多个部位的局部几何体,获得所针对迭代中各局部几何体形成的候选几何体;确定每次迭代的候选几何体各自对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
本实施例中,获取每次迭代的候选几何特征,针对每次迭代,基于体型特征和所针对迭代的候选几何特征,分别生成包围第一对象的多个部位的局部几何体,获得所针对迭代中各局部几何体形成的候选几何体,从而能够使用不同的几何特征分别生成第一对象对应的候选几何体,以确定哪些几何体能够最贴合第一对象的体型。确定每次迭代的候选几何体各自对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体,能够基于候选几何体的体积,准确地筛选出最贴合第一对象的几何体。并且,体积约束条件可以是筛选出体积最小的候选几何体,而体积最小的候选几何体最贴合第一对象的体型,从而获得能够准确表征出第一对象体型的几何体。
在一个实施例中,生成模块1402,还用于从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体;确定满足关键点约束条件的每个候选几何体分别对应的体积,从各体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
本实施例中,从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体,使得能够初步筛选出符合对第一对象的关键点的约束的候选几何体,接着,确定满足关键点约束条件的每个候选几何体分别对应的体积,从而进一步从各体积中筛选出满足体积约束条件的体积所对应的候选几何体,使得所筛选出的候选几何体最贴合第一对象的体型,从而有效避免了迁移前后的角色的体型差异所导致的穿模现象。
在一个实施例中,迁移模块1404,还用于获取第一对象的第一骨骼层级关系和第二对象的第二骨骼层级关系;第一骨骼层级关系表征第一对象的各第一骨骼之间的层级关系,第二骨骼层级关系表征第二对象的各第二骨骼之间的层级关系;将第一骨骼层级关系和第二骨骼层级关系进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系;按照匹配关系,将第二对象的对象轨迹信息迁移到对象几何体,获得对象几何体的对象轨迹信息。
本实施例中,第一骨骼层级关系表征第一对象的各第一骨骼之间的层级关系,第二骨骼层级关系表征第二对象的各第二骨骼之间的层级关系,将第一对象的第一骨骼层级关系和第二对象的第二骨骼层级关系进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系,使得能够将第二对象的各骨骼映射至第一对象的各骨骼,从而按照各骨骼之间的匹配关系,将第二对象的对象轨迹信息准确迁移到对象几何体,获得对象几何体的对象轨迹信息。
在一个实施例中,迁移模块1404,还用于获取标准骨架的标准骨骼层级关系,标准骨骼层级关系表征标准骨架的各标准骨骼之间的层级关系;
将第一骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第一骨骼和各标准骨骼之间的第一映射关系;将第二骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第二骨骼和各标准骨骼之间的第二映射关系;根据第一映射关系和第一映射关系,将各第一骨骼和各第二骨骼进行匹配处理,得到各第一骨骼和各第二骨骼之间的匹配关系。
本实施例中,标准骨架是对象的各部位的骨骼形成的,标准骨骼层级关系表征标准骨架的各标准骨骼之间的层级关系。标准骨架和标准骨骼层级关系均是预设配置好的,将第一骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第一骨骼和各标准骨骼之间的第一映射关系,将第二骨骼层级关系和标准骨骼层级关系进行映射处理,得到各第二骨骼和各标准骨骼之间的第二映射关系,能够将第一对象和第二对象的各骨骼分别与标准骨架的各骨骼进行映射,使得第一对象和第二对象的各骨骼均映射至相应的标准骨骼。根据第一映射关系和第一映射关系,将各第一骨骼和各第二骨骼进行匹配处理,能够通过标准骨骼将第一对象和第二对象的各骨骼匹配起来,使得两者之间的骨骼匹配更准确,有利于提高后续轨迹信息迁移的准确性。
在一个实施例中,调整模块1408,还用于根据多个碰撞点各自的碰撞发生位置进行碰撞检测,得到多个碰撞点之间的碰撞深度和碰撞法向量;根据各碰撞发生位置、碰撞深度和碰撞法向量进行位置调整,得到多个碰撞点各自对应的碰撞规避位置。
本实施例中,根据多个碰撞点各自的碰撞发生位置进行碰撞检测,能够准确计算出多个碰撞点之间的碰撞深度和碰撞法向量,从而能够通过碰撞深度准确反应出碰撞点之间的碰撞程度。根据各碰撞发生位置、碰撞深度和碰撞法向量进行位置调整,以调整至不产生碰撞时的位置,即可得到多个碰撞点各自对应的碰撞规避位置,使得碰撞点处于碰撞规避位置时能够有效避免第一对象的相应部位交互时发生的碰撞。
在一个实施例中,调整模块1408,还用于获取多个局部几何体各自对应的权重参数;针对每个碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置。
本实施例中,获取多个局部几何体各自对应的权重参数,通过权重参数来体现更倾向于移动哪个局部几何体,从而针对每个碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、碰撞深度和碰撞法向量进行位置调整,以调整至不产生碰撞时的位置,即可得到多个碰撞点各自对应的碰撞规避位置,使得碰撞点处于碰撞规避位置时能够有效避免第一对象的相应部位交互时发生的碰撞。并且,通过权重参数能够体现哪个局部几何体的位置调整更大,哪个局部几何体的位置调整更小,使得能够以最合适的方式调整各局部几何体。
在一个实施例中,校正模块1410,还用于根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,得到多个局部几何体之间的姿态偏移信息;基于姿态偏移信息对对象几何体的对象轨迹信息进行校正,得到第一对象的对象轨迹信息。
本实施例中,根据各碰撞发生位置和各碰撞规避位置进行姿态偏移预测,以计算出每个碰撞点所属的局部几何体在处于碰撞发生位置和相应碰撞规避位置时的姿态差异信息,从而准确获得多个局部几何体之间的姿态偏移信息。基于姿态偏移信息对对象几何体的对象轨迹信息进行校正,从而能够对交互时产生碰撞的各部位的轨迹信息进行调整,得到交互时不产生碰撞的轨迹信息,从而能够实现不同体型的对象之间的轨迹信息的准确迁移,并使得迁移后的轨迹信息完全贴合对象本身,提高轨迹迁移的精准性。
在一个实施例中,校正模块1410,还用于获取初始偏移信息,根据初始偏移信息对对象几何体的对象轨迹信息进行预校正,得到预校正轨迹信息;预校正轨迹信息包括多个碰撞点各自对应的预测规避位置;确定各预测规避位置和相应的碰撞规避位置之间的距离,基于距离调整初始偏移信息,得到更新后的偏移信息;进入下一次迭代,将更新后的偏移信息作为下一次迭代中的初始偏移信息,返回根据初始偏移信息对对象几何体的对象轨迹信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息。
本实施例中,获取初始偏移信息,根据初始偏移信息对对象几何体的对象轨迹信息进行预校正,以预测出多个碰撞点各自对应的预测规避位置。确定各预测规避位置和相应的碰撞规避位置之间的距离差异,使得能够基于初始偏移信息预测得到的规避位置和真实的碰撞规避位置之间的距离,来体现校正所得到的规避位置和碰撞规避位置之间的差异,使得基于距离差异调整初始偏移信息,以在每次迭代调整中得到的更新的偏移信息所得到的规避位置更接近真实的碰撞规避位置,进入下一次迭代,将更新后的偏移信息作为下一次迭代中的初始偏移信息,返回根据初始偏移信息对对象几何体的对象轨迹信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息,从而能够在多次迭代中使得预测规避位置不断接近真实的碰撞规避位置,从而使得轨迹信息的迁移更准确。
在一个实施例中,该装置还包括关节链确定模块;该关节链确定模块,用于确定多个第一肢部之间的第一交互信息和多个第二肢部之间的第二交互信息;根据第一交互信息和第二交互信息,生成第一对象与第二对象之间的关节链交互约束信息;
校正模块1410,还用于基于关节链交互约束信息对多个第一肢部各自的肢部轨迹信息进行校正,以及,根据各碰撞发生位置和各碰撞规避位置,对第一对象的多个部位各自的关节旋转信息进行校正,获得第一对象的对象轨迹信息。
本实施例中,确定多个第一肢部之间的第一交互信息和多个第二肢部之间的第二交互信息,根据第一交互信息和第二交互信息,生成第一对象与第二对象之间的关节链交互约束信息,所生成的使得关节链交互约束信息使得多个第一肢部能够获得多个第二肢部之间的交互关系。基于关节链交互约束信息对多个第一肢部各自的肢部轨迹信息进行校正,使得迁移后的肢部轨迹信息既保留了多个第二肢部之间的交互关系,由能够符合第一对象自身的各个肢部的特征。根据各碰撞发生位置和各碰撞规避位置,对多个第一肢部各自的关节旋转信息进行校正,使得迁移至第一对象的对象轨迹信息中的关节旋转信息更符合第一对象的体型,避免第二对象和第一对象的体型差异较大导致迁移后产生的穿模现象。
在一个实施例中,该关节链确定模块,还用于获取第一对象的多个第一肢部各自的第一姿态信息,以及第二对象的多个第二肢部各自的第二姿态信息;针对每个第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息;
校正模块1410,还用于针对每个第一肢部,基于关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正。
本实施例中,获取第一对象的多个第一肢部各自的第一姿态信息,以及第二对象的多个第二肢部各自的第二姿态信息;针对每个第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息,所生成的单关节链约束信息使得第一肢部能够获得第二肢部的姿态信息。针对每个第一肢部,基于关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正,使得第一对象各第一肢部能够获得与第二对象的相应第二肢部相一致的姿态,且第二对象的各肢部之间的交互与第一对象的各肢部之间的交互也保持一致,从而使得轨迹信息的迁移更准确。
上述轨迹信息处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器。以终端为例,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种轨迹信息处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种轨迹信息处理方法,其特征在于,所述方法包括:
获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;所述第二对象的对象轨迹信息包括所述第二对象的多个第二肢部各自的肢部轨迹信息,以及所述多个部位各自的关节旋转信息;所述对象几何体的对象轨迹信息包括所述第一对象的多个第一肢部各自的肢部轨迹信息,以及所述多个部位各自的关节旋转信息;
确定所述多个第一肢部之间的第一交互信息和所述多个第二肢部之间的第二交互信息;
根据所述第一交互信息和所述第二交互信息,生成所述第一对象与所述第二对象之间的关节链交互约束信息;所述关节链交互约束信息表征对肢部轨迹迁移中具有交互的多个肢部之间的交互关系的约束;
确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
基于所述关节链交互约束信息对所述多个第一肢部各自的肢部轨迹信息进行校正,以及,根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的多个部位各自的关节旋转信息进行校正,获得所述第一对象的对象轨迹信息。
2.根据权利要求1所述的方法,其特征在于,所述体型特征通过所述第一对象的蒙皮关键点表征;所述基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体,包括:
获取所述第一对象的多个蒙皮关键点各自对应的蒙皮权重,基于所述蒙皮权重筛选出满足权重约束条件的蒙皮关键点;
对筛选出的蒙皮关键点进行主成分分析处理,获得所述第一对象的多个部位各自对应的几何轴;
针对所述多个部位中的每个部位,按照所针对部位对应的几何轴,生成包围所针对部位的局部几何体,获得各所述局部几何体形成的对象几何体。
3.根据权利要求1所述的方法,其特征在于,所述基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体,包括:
获取每次迭代的候选几何特征,针对每次迭代,基于所述体型特征和所针对迭代的候选几何特征,分别生成包围所述第一对象的多个部位的局部几何体,获得所针对迭代中各所述局部几何体形成的候选几何体;
确定每次迭代的候选几何体各自对应的体积,从各所述体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
4.根据权利要求3所述的方法,其特征在于,所述确定每次迭代的候选几何体各自对应的体积,从各所述体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体,包括:
从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体;
确定满足关键点约束条件的每个候选几何体分别对应的体积,从各所述体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
5.根据权利要求1所述的方法,其特征在于,所述将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息,包括:
获取所述第一对象的第一骨骼层级关系和所述第二对象的第二骨骼层级关系;所述第一骨骼层级关系表征所述第一对象的各第一骨骼之间的层级关系,所述第二骨骼层级关系表征所述第二对象的各第二骨骼之间的层级关系;
将所述第一骨骼层级关系和所述第二骨骼层级关系进行匹配处理,得到所述各第一骨骼和所述各第二骨骼之间的匹配关系;
按照所述匹配关系,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一骨骼层级关系和所述第二骨骼层级关系进行匹配处理,得到所述各第一骨骼和所述各第二骨骼之间的匹配关系,包括:
获取标准骨架的标准骨骼层级关系,所述标准骨骼层级关系表征所述标准骨架的各标准骨骼之间的层级关系;
将所述第一骨骼层级关系和所述标准骨骼层级关系进行映射处理,得到所述各第一骨骼和所述各标准骨骼之间的第一映射关系;
将所述第二骨骼层级关系和所述标准骨骼层级关系进行映射处理,得到所述各第二骨骼和所述各标准骨骼之间的第二映射关系;
根据所述第一映射关系和所述第一映射关系,将所述各第一骨骼和所述各第二骨骼进行匹配处理,得到所述各第一骨骼和所述各第二骨骼之间的匹配关系。
7.根据权利要求1所述的方法,其特征在于,所述对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置,包括:
根据所述多个碰撞点各自的碰撞发生位置进行碰撞检测,得到所述多个碰撞点之间的碰撞深度和碰撞法向量;
根据各所述碰撞发生位置、所述碰撞深度和所述碰撞法向量进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置。
8.根据权利要求7所述的方法,其特征在于,所述根据各所述碰撞发生位置、所述碰撞深度和所述碰撞法向量进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置,包括:
获取所述多个局部几何体各自对应的权重参数;
针对每个所述碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、所述碰撞深度和所述碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的多个部位各自的关节旋转信息进行校正,包括:
根据各所述碰撞发生位置和各所述碰撞规避位置进行姿态偏移预测,得到所述多个局部几何体之间的姿态偏移信息;
基于所述姿态偏移信息对所述对象几何体的多个部位各自的关节旋转信息进行校正。
10.根据权利要求9所述的方法,其特征在于,所述根据各所述碰撞发生位置和各所述碰撞规避位置进行姿态偏移预测,得到所述多个局部几何体之间的姿态偏移信息,包括:
获取初始偏移信息,根据所述初始偏移信息对所述对象几何体的对象轨迹信息包括的多个部位各自的关节旋转信息进行预校正,得到预校正轨迹信息;所述预校正轨迹信息包括所述多个碰撞点各自对应的预测规避位置;
确定各所述预测规避位置和相应的碰撞规避位置之间的距离,基于所述距离调整所述初始偏移信息,得到更新后的偏移信息;
进入下一次迭代,将所述更新后的偏移信息作为下一次迭代中的初始偏移信息,返回所述根据所述初始偏移信息对所述对象几何体的对象轨迹信息包括的多个部位各自的关节旋转信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一对象的多个第一肢部各自的第一姿态信息,以及所述第二对象的多个第二肢部各自的第二姿态信息;
针对每个所述第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息;
所述基于所述关节链交互约束信息对所述多个第一肢部各自的肢部轨迹信息进行校正,包括:
针对每个所述第一肢部,基于所述关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正。
12.一种轨迹信息处理装置,其特征在于,所述装置包括:
生成模块,用于获取第一对象的体型特征,基于所述体型特征分别生成包围所述第一对象的多个部位的局部几何体,获得各所述局部几何体形成的对象几何体;
迁移模块,用于获取第二对象的对象轨迹信息,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息;所述第二对象的对象轨迹信息包括所述第二对象的多个第二肢部各自的肢部轨迹信息,以及所述多个部位各自的关节旋转信息;所述对象几何体的对象轨迹信息包括所述第一对象的多个第一肢部各自的肢部轨迹信息,以及所述多个部位各自的关节旋转信息;
关节链确定模块,用于确定所述多个第一肢部之间的第一交互信息和所述多个第二肢部之间的第二交互信息;根据所述第一交互信息和所述第二交互信息,生成所述第一对象与所述第二对象之间的关节链交互约束信息;所述关节链交互约束信息表征对肢部轨迹迁移中具有交互的多个肢部之间的交互关系的约束;
确定模块,用于确定所述对象几何体的各所述部位在交互时发生碰撞的多个局部几何体,获取所述多个局部几何体发生碰撞的多个碰撞点各自对应的碰撞发生位置;
调整模块,用于对多个所述碰撞发生位置进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置;各所述碰撞规避位置用于规避所述多个局部几何体在交互时发生碰撞;
校正模块,用于基于所述关节链交互约束信息对所述多个第一肢部各自的肢部轨迹信息进行校正,以及,根据各所述碰撞发生位置和各所述碰撞规避位置,对所述对象几何体的多个部位各自的关节旋转信息进行校正,获得所述第一对象的对象轨迹信息。
13.根据权利要求12所述的装置,其特征在于,所述体型特征通过所述第一对象的蒙皮关键点表征;所述生成模块,还用于获取所述第一对象的多个蒙皮关键点各自对应的蒙皮权重,基于所述蒙皮权重筛选出满足权重约束条件的蒙皮关键点;对筛选出的蒙皮关键点进行主成分分析处理,获得所述第一对象的多个部位各自对应的几何轴;针对所述多个部位中的每个部位,按照所针对部位对应的几何轴,生成包围所针对部位的局部几何体,获得各所述局部几何体形成的对象几何体。
14.根据权利要求12所述的装置,其特征在于,所述生成模块,还用于获取每次迭代的候选几何特征,针对每次迭代,基于所述体型特征和所针对迭代的候选几何特征,分别生成包围所述第一对象的多个部位的局部几何体,获得所针对迭代中各所述局部几何体形成的候选几何体;确定每次迭代的候选几何体各自对应的体积,从各所述体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
15.根据权利要求14所述的装置,其特征在于,所述生成模块,还用于从每次迭代获得的候选几何体中,筛选出满足关键点约束条件的候选几何体;确定满足关键点约束条件的每个候选几何体分别对应的体积,从各所述体积中筛选出满足体积约束条件的体积所对应的候选几何体作为对象几何体。
16.根据权利要求12所述的装置,其特征在于,所述迁移模块,还用于获取所述第一对象的第一骨骼层级关系和所述第二对象的第二骨骼层级关系;所述第一骨骼层级关系表征所述第一对象的各第一骨骼之间的层级关系,所述第二骨骼层级关系表征所述第二对象的各第二骨骼之间的层级关系;将所述第一骨骼层级关系和所述第二骨骼层级关系进行匹配处理,得到所述各第一骨骼和所述各第二骨骼之间的匹配关系;按照所述匹配关系,将所述第二对象的对象轨迹信息迁移到所述对象几何体,获得所述对象几何体的对象轨迹信息。
17.根据权利要求16所述的装置,其特征在于,所述迁移模块,还用于获取标准骨架的标准骨骼层级关系,所述标准骨骼层级关系表征所述标准骨架的各标准骨骼之间的层级关系;将所述第一骨骼层级关系和所述标准骨骼层级关系进行映射处理,得到所述各第一骨骼和所述各标准骨骼之间的第一映射关系;
将所述第二骨骼层级关系和所述标准骨骼层级关系进行映射处理,得到所述各第二骨骼和所述各标准骨骼之间的第二映射关系;根据所述第一映射关系和所述第一映射关系,将所述各第一骨骼和所述各第二骨骼进行匹配处理,得到所述各第一骨骼和所述各第二骨骼之间的匹配关系。
18.根据权利要求12所述的装置,其特征在于,所述调整模块,还用于根据所述多个碰撞点各自的碰撞发生位置进行碰撞检测,得到所述多个碰撞点之间的碰撞深度和碰撞法向量;根据各所述碰撞发生位置、所述碰撞深度和所述碰撞法向量进行位置调整,得到所述多个碰撞点各自对应的碰撞规避位置。
19.根据权利要求18所述的装置,其特征在于,所述调整模块,还用于获取所述多个局部几何体各自对应的权重参数;针对每个所述碰撞点,根据所针对碰撞点的碰撞发生位置、所针对碰撞点所属的局部几何体对应的权重参数、所述碰撞深度和所述碰撞法向量进行位置调整,得到所针对碰撞点对应的碰撞规避位置。
20.根据权利要求12至19中任一项所述的装置,其特征在于,所述校正模块,还用于根据各所述碰撞发生位置和各所述碰撞规避位置进行姿态偏移预测,得到所述多个局部几何体之间的姿态偏移信息;基于所述姿态偏移信息对所述对象几何体的多个部位各自的关节旋转信息进行校正。
21.根据权利要求20所述的装置,其特征在于,所述校正模块,还用于获取初始偏移信息,根据所述初始偏移信息对所述对象几何体的对象轨迹信息包括的多个部位各自的关节旋转信息进行预校正,得到预校正轨迹信息;所述预校正轨迹信息包括所述多个碰撞点各自对应的预测规避位置;确定各所述预测规避位置和相应的碰撞规避位置之间的距离,基于所述距离调整所述初始偏移信息,得到更新后的偏移信息;进入下一次迭代,将所述更新后的偏移信息作为下一次迭代中的初始偏移信息,返回所述根据所述初始偏移信息对所述对象几何体的对象轨迹信息包括的多个部位各自的关节旋转信息进行预校正的步骤并继续执行,直至满足迭代停止条件时获得姿态偏移信息。
22.根据权利要求12所述的装置,其特征在于,所述关节链确定模块,还用于获取所述第一对象的多个第一肢部各自的第一姿态信息,以及所述第二对象的多个第二肢部各自的第二姿态信息;针对每个所述第一肢部,根据所针对的第一肢部的第一姿态信息和相应的第二肢部的第二姿态信息,生成所针对的第一肢部与相应的第二肢部之间的单关节链约束信息;
所述校正模块,还用于针对每个所述第一肢部,基于所述关节链交互约束信息和所针对的第一肢部对应的单关节链约束信息,对相应的第一肢部的肢部轨迹信息进行校正。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501883.3A CN116206026B (zh) | 2023-05-06 | 2023-05-06 | 轨迹信息处理方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501883.3A CN116206026B (zh) | 2023-05-06 | 2023-05-06 | 轨迹信息处理方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116206026A CN116206026A (zh) | 2023-06-02 |
CN116206026B true CN116206026B (zh) | 2023-07-18 |
Family
ID=86515101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310501883.3A Active CN116206026B (zh) | 2023-05-06 | 2023-05-06 | 轨迹信息处理方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116206026B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160129A (zh) * | 2021-03-08 | 2021-07-23 | 南京理工大学 | 组合式精简点云数据的快速配准方法 |
CN114225413A (zh) * | 2021-12-22 | 2022-03-25 | 上海完美时空软件有限公司 | 碰撞检测方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106960459B (zh) * | 2016-12-26 | 2019-07-26 | 北京航空航天大学 | 角色动画中基于扩展位置动力学的蒙皮技术及权重重定位的方法 |
CN109920057B (zh) * | 2019-03-06 | 2022-12-09 | 珠海金山数字网络科技有限公司 | 一种视点变换方法及装置、计算设备及存储介质 |
CN113313794B (zh) * | 2021-05-19 | 2022-11-08 | 深圳市慧鲤科技有限公司 | 动画迁移方法和装置、设备及存储介质 |
US12033261B2 (en) * | 2021-07-26 | 2024-07-09 | Adobe Inc. | Contact-aware retargeting of motion |
CN113888680A (zh) * | 2021-09-29 | 2022-01-04 | 广州虎牙科技有限公司 | 一种三维模型穿插修复的方法、装置及设备 |
CN114742926A (zh) * | 2022-04-18 | 2022-07-12 | 网易(杭州)网络有限公司 | 一种动画重定向方法、装置、计算机设备及存储介质 |
-
2023
- 2023-05-06 CN CN202310501883.3A patent/CN116206026B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160129A (zh) * | 2021-03-08 | 2021-07-23 | 南京理工大学 | 组合式精简点云数据的快速配准方法 |
CN114225413A (zh) * | 2021-12-22 | 2022-03-25 | 上海完美时空软件有限公司 | 碰撞检测方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116206026A (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022121640A1 (zh) | 机器人重定位方法、装置、机器人和可读存储介质 | |
US9449416B2 (en) | Animation processing of linked object parts | |
CN107590708B (zh) | 一种生成用户特定体形模型的方法和装置 | |
EP3341919A1 (en) | Image regularization and retargeting system | |
CN113313794B (zh) | 动画迁移方法和装置、设备及存储介质 | |
US11315313B2 (en) | Methods, devices and computer program products for generating 3D models | |
CN111223168B (zh) | 目标对象控制方法、装置、存储介质和计算机设备 | |
CN112233222A (zh) | 基于神经网络关节点估计的人体参数化三维模型变形方法 | |
CN113096249A (zh) | 训练顶点重建模型的方法、图像重建方法及电子设备 | |
US9652879B2 (en) | Animation of a virtual object | |
CN113034691A (zh) | 人体模型的骨骼绑定方法、装置及电子设备 | |
Huang et al. | Multi‐variate gaussian‐based inverse kinematics | |
WO2024169276A1 (zh) | 轨迹信息处理方法、装置、计算机设备和可读存储介质 | |
US10410393B2 (en) | Animating a virtual object in a virtual world | |
WO2024198737A1 (zh) | 动画重定向方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
Chen et al. | Circle: Convolutional implicit reconstruction and completion for large-scale indoor scene | |
CN116206026B (zh) | 轨迹信息处理方法、装置、计算机设备和可读存储介质 | |
CN113095134A (zh) | 人脸表情提取模型生成、人脸图像生成方法及装置 | |
CN112233223A (zh) | 基于三维点云的人体参数化模型自动变形方法和装置 | |
Comport et al. | Kinematic sets for real-time robust articulated object tracking | |
CN115972202B (zh) | 控制机械臂操作的方法、机器人、设备、介质和产品 | |
Yu et al. | Joint 3d human shape recovery and pose estimation from a single image with bilayer graph | |
CN117710468B (zh) | 基于关节网格形变的姿态重定向方法、装置、设备及介质 | |
CN114782646B (zh) | 房屋模型的建模方法、装置、电子设备和可读存储介质 | |
CN115049767B (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: 40087296 Country of ref document: HK |