CN117557699B - 动画数据生成方法、装置、计算机设备和存储介质 - Google Patents
动画数据生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117557699B CN117557699B CN202410041583.6A CN202410041583A CN117557699B CN 117557699 B CN117557699 B CN 117557699B CN 202410041583 A CN202410041583 A CN 202410041583A CN 117557699 B CN117557699 B CN 117557699B
- Authority
- CN
- China
- Prior art keywords
- target
- source
- character
- model
- vertex
- 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
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 238000005457 optimization Methods 0.000 claims description 42
- 210000000988 bone and bone Anatomy 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 18
- 238000009499 grossing Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 20
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 230000009471 action Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 14
- 238000013508 migration Methods 0.000 description 11
- 230000005012 migration Effects 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 9
- 210000000887 face Anatomy 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 210000004247 hand Anatomy 0.000 description 7
- 210000003128 head Anatomy 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000002372 labelling Methods 0.000 description 5
- 238000010219 correlation analysis Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 210000000707 wrist Anatomy 0.000 description 4
- 230000037237 body shape Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 210000003414 extremity Anatomy 0.000 description 3
- 210000001624 hip Anatomy 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 210000000629 knee joint Anatomy 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 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
- 210000003484 anatomy Anatomy 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000005010 torso Anatomy 0.000 description 1
- 238000013526 transfer learning Methods 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
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种动画数据生成方法、装置、计算机设备、存储介质和计算机程序产品。所述方法可应用于云技术、人工智能等领域,所述方法包括:获取源角色的用于表征角色姿态的源动画数据;基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态下的源接触信息;源接触信息包括源角色模型中存在接触的各第一目标顶点之间的距离,源角色模型与目标角色对应的目标角色模型具有相同的拓扑结构信息;基于拓扑结构信息,将源接触信息转换为目标角色模型处于角色姿态下的目标接触信息;基于目标接触信息和源动画数据,生成目标角色的用于表征角色姿态的目标动画数据。采用本方法能够提高目标动画数据的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种动画数据生成方法、装置、计算机设备和存储介质。
背景技术
目前,三维(Three-dimensional,3D)动画技术由于其精确性、真实性和可操作性,被广泛应用于医学、教育、娱乐等诸多领域。动画重定向(Animation Retargeting)是3D动画制作中常见的制作技术,即当出现新动画角色时,将已有动画角色的原始动画数据转移给新动画角色,得到新动画角色的新动画数据。
由于原始动画数据是为特定的已有动画角色而设计的,在进行动画重定向时,由于不同动画角色之间的体型和比例的差异,会导致原始动画中的接触动作(如拍手、叉腰等)在新动画角色上表现不自然或失真,也即新的动画数据准确性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高动画数据生成准确性的动画数据生成方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种动画数据生成方法。所述方法包括:
获取源角色的用于表征角色姿态的源动画数据;
基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离,所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息;
基于所述拓扑结构信息,将所述源接触信息转换为所述目标角色模型处于所述角色姿态下的目标接触信息;
基于所述目标接触信息和所述源动画数据,生成所述目标角色的用于表征所述角色姿态的目标动画数据。
第二方面,本申请还提供了一种动画数据生成装置。所述装置包括:
源动画数据获取模块,用于获取源角色的用于表征角色姿态的源动画数据;
源接触信息确定模块,用于基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离,所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息;
目标接触信息确定模块,用于基于所述拓扑结构信息,将所述源接触信息转换为所述目标角色模型处于所述角色姿态下的目标接触信息;
目标动画数据生成模块,用于基于所述目标接触信息和所述源动画数据,生成所述目标角色的用于表征所述角色姿态的目标动画数据。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取源角色的用于表征角色姿态的源动画数据;
基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离,所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息;
基于所述拓扑结构信息,将所述源接触信息转换为所述目标角色模型处于所述角色姿态下的目标接触信息;
基于所述目标接触信息和所述源动画数据,生成所述目标角色的用于表征所述角色姿态的目标动画数据。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取源角色的用于表征角色姿态的源动画数据;
基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离,所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息;
基于所述拓扑结构信息,将所述源接触信息转换为所述目标角色模型处于所述角色姿态下的目标接触信息;
基于所述目标接触信息和所述源动画数据,生成所述目标角色的用于表征所述角色姿态的目标动画数据。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取源角色的用于表征角色姿态的源动画数据;
基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离,所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息;
基于所述拓扑结构信息,将所述源接触信息转换为所述目标角色模型处于所述角色姿态下的目标接触信息;
基于所述目标接触信息和所述源动画数据,生成所述目标角色的用于表征所述角色姿态的目标动画数据。
上述对动画数据生成方法、装置、计算机设备、存储介质和计算机程序产品,当需要为目标角色创建动画数据时,通过获取源角色的用于表征角色姿态的源动画数据,并预先构建出具有相同拓扑结构信息的源角色模型和目标角色模型,在角色姿态存在接触动作时,通过将源动画数据应用到源角色模型,得到源角色模型处于角色姿态下的源接触信息,其中源接触信息包括源角色模型中存在接触的各第一目标顶点之间的距离,并基于拓扑结构信息可以准确地将源接触信息转换为适应于目标角色模型的、处于角色姿态下理想的目标接触信息,从而基于理想的目标接触信息和源动画数据,可以生成目标角色的用于表征角色姿态的目标动画数据,使得目标动画数据在目标角色上可以准确表征出源角色的角色姿态,即使角色姿态存在接触动作,通过目标动画数据也能够使得源角色上的接触动作在目标角色上能够以相同的效果呈现,提高了目标动画数据的准确性。
附图说明
图1为一个实施例中动画数据生成方法的应用环境图;
图2为一个实施例中自接触动作的示意图;
图3为一个实施例中动画数据生成方法的流程示意图;
图4为一个实施例中动画角色的网格模型示意图;
图5为一个实施例中骨骼蒙皮后的动画角色模型示意图;
图6为一个实施例中获取角色模型步骤的流程示意图;
图7为另一个实施例中动画角色网格模型的示意图;
图8 为一个实施例中模板网格模型的示意图;
图9为一个实施例中模板关键顶点的顶点标识示意图;
图10为一个实施例中源关键顶点的示意图;
图11为一个实施例中代理网格模型生成过程示意图;
图12为一个实施例中源角色模型的示意图;
图13为一个实施例中自接触检测的检测区域示意图;
图14为另一个实施例中动画数据生成方法的流程示意图;
图15为另一个实施例中动画数据生成方法的流程示意图;
图16为一个实施例中代理网格生成步骤的流程示意图;
图17为一个实施例中动画迁移效果示意图;
图18为另一个实施例中动画迁移效果示意图;
图19为一个实施例中动画数据生成装置的结构框图;
图20为另一个实施例中动画数据生成装置的结构框图;
图21为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的动画数据生成方法,涉及人工智能的机器学习、计算机视觉等技术,其中:
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟随和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。大模型技术为计算机视觉技术发展带来重要变革,swin-transformer,ViT,V-MOE,MAE等视觉领域的预训练模型经过微调(fine tune)可以快速、广泛适用于下游具体任务。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供的动画数据生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。该动画数据生成方法可以由终端102或服务器104单独执行,或者由终端102和服务器104协同执行。在一些实施例中,该对动画数据生成方法由终端102执行,为目标角色创建动画数据时,终端102获取源角色的用于表征角色姿态的源动画数据;基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态下的源接触信息;源接触信息包括源角色模型中存在接触的各第一目标顶点之间的距离;源角色模型与目标角色对应的目标角色模型具有相同的拓扑结构信息;基于拓扑结构信息,将源接触信息转换为目标角色模型处于角色姿态下的目标接触信息;基于目标接触信息和源动画数据,生成目标角色的用于表征角色姿态的目标动画数据。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面对本申请实施例中涉及的部分概念进行介绍。
骨骼动画:骨骼动画指用于驱动物体运动、实现动作效果背后的骨骼运动变换数据。
人体骨骼动画:人体骨骼动画需要依附于一个做了骨骼绑定(或称骨骼蒙皮)的人体模型。人体模型通常指由一系列顶点组成的网格体。而骨骼绑定指在网格体内设置一系列的关节点(或者叫骨骼点),这些关节点通常被放置在人体解剖学关节位置处,每个关节施加动画后会一定程度移动其附近的顶点,进而实现驱动人体模型的目的。
动画重定向: 指将一个角色的动画(即源动画)适配到其他角色。需要保留源动画内容(如弯曲角度、动作趋势等等),同时适应目标角色的特性,如骨架拓扑、骨架比例、模型形状(高矮胖瘦)等等。
自接触:自接触指人体模型身体部位间发生了接触,如摸头、拍手、叉腰等动作,如图2所示,其中图2中的(a)示意出了摸头的自接触动作、图2中的(b)示意出了拍手的自接触动作、图2中的(c)示意出了叉腰的自接触动作,图2中的(d)示意出了托肘部和托下巴的自接触动作。
在一个实施例中,如图3所示,提供了一种动画数据生成方法,该方法可以由计算机设备执行,该计算机设备例如可以是图1所示的终端102或服务器104。该方法可以包括以下步骤:
S302,获取源角色的用于表征角色姿态的源动画数据。
其中,源角色是指动画文件已经被创建和细化的动画角色,动画角色指的是在动画作品中出现的虚构人物或实体,这些角色可以根据创作者的想象来设计,涵盖从真实或现实风格的人类形象到完全虚构的生物,如动物、神话生物或抽象的图形。
动画文件包括一系列帧的动画数据,用于呈现动画作品的一部分或全部,一帧动画数据是动画序列中的一个单独图像,角色姿态是指动画角色在特定时刻所采取的肢体姿势,具体可以包括角色的身体各部分,如头部、手臂、躯干和腿部的位置和姿势,每一帧动画数据中都会定义角色的一个特定的角色姿态,动画数据包括表征相应角色姿态的骨骼关节姿态数据,骨骼关节姿态数据描述了角色的骨骼模型的每个关节在特定时刻的位置和方向,具体可以包括关节的位置和旋转角度。
也就是说,动画数据是创建动画角色和角色姿态的基础,一帧动画数据包含在特定时刻角色的具体姿态,连续帧的动画数据组合在一起,形成动画文件,可以展现动画角色的动态运动,动画文件聚合成完整的动画作品,讲述一个包含多个动画角色和场景的故事。需要说明的是,本申请实施例中所处理的源动画数据和所生成的目标动画数据可以是指一帧的动画数据。
具体的,当需要为目标角色创建动画数据时,可以根据目标角色的动画设计需求确定所要使用的源角色和源角色的源动画文件,并从源动画文件中抽取出目标帧的源动画数据,该目标帧的源动画数据即为用于表征某一角色姿态的源动画数据。
其中,目标角色是指需要被赋予新动画文件的动画角色,需要为目标角色创建动画数据具体可以是创作出了一个新角色,该新角色即为目标角色,因其以前没有出现过,因此需要为其创建新的动画数据;也可以是对某个已有角色的外形进行了更新,比如体型发生了变化,需要更新其动画数据以反映这些变化;还可以是对某个已有角色添加新的动画数据,比如为一个角色添加新的动作。
S304,基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态下的源接触信息。
其中,源角色模型与目标角色对应的目标角色模型具有相同的拓扑结构信息,源角色模型是指对源角色的网格模型施加了骨骼蒙皮后所得到的数字模型,源角色的网格模型是由构成角色形状的三维点(顶点)、边和面的集合,如图4所示为一个实施例中某个动画角色的网格模型的示意图;骨骼蒙皮是将网格模型与动画角色的骨骼结构关联的过程,动画角色的骨骼结构也可以称为骨架(Rig),骨骼结构是一系列骨骼或骨节(通常称为“骨骼”)的集合,它们构成了角色模型的内部支架,骨骼蒙皮将模型的网格(皮肤)与一个骨骼系统关联起来,这个过程使得网格能够根据骨骼的动作进行合理的变形,从而实现角色的动画,如图5所示为一个实施例中,施加了骨骼蒙皮后所得到的动画角色的角色模型,需要说明的是图5中虽然未将模型上的网格直接显示出来,但可以理解的是该模型是一个网格模型。
目标角色模型是指对目标角色的网格模型施加了骨骼蒙皮后所得到的数字模型,目标角色的网格模型是由构成角色形状的三维点(顶点)、边和面的集合。
拓扑结构信息是指一个网格模型的基本结构,包括模型的顶点、边和面的布局和连接方式,顶点是网格模型最基本的单元,是网格的角点,边是连接两个顶点的直线段,面是由边所界定的平面区域;目标角色模型和源角色模型具有相同的拓扑结构信息是指这两个模型的基本结构上是一致的,这种一致性主要体现在一系列的对应关系上,具体包括顶点对应、边对应和面对应,顶点对应是指在两个模型中,每一个顶点都有一个直接的对应顶点,例如,源角色模型中的第10个顶点对应于目标角色模型中的第10个顶点,边对应是指两个模型中顶点间的连接方式相同,例如源角色模型中第1个顶点和第2个顶点之间有一条边,那么在目标角色模型中第1个和第2个顶点之间也存在一条边,面对应是指由边界定的面(即构成模型表面的单元)在两个模型中保持一致,例如,源角色模型中由顶点1、顶点2、顶点3构成的一个面,在目标角色模型中也存在顶点1、顶点2、顶点3构成的一个面。
源接触信息是指源角色模型在执行特定的角色姿态时,模型不同部分之间发生自接触时的相关信息,比如包括源角色模型在特定的角色姿态下时,存在接触第一目标顶点之间的距离,例如,源角色模型在执行角色姿态时,存在叉腰的自接触动作,其中顶点15和顶点100发生了接触,则顶点15和顶点100即为第一目标顶点,源接触信息可以包括顶点15和顶点100之间的距离。
具体的,计算机设备在获得源角色的目标帧的动画数据和源角色的源角色模型之后,可以在相应的动画处理应用中加载源角色模型,并将目标帧的用于表征某一角色姿态的动画数据应用于所加载的源角色模型,得到处于该角色姿态下的源角色模型,并对处于该角色姿态下的源角色模型进行自接触检测,得到源角色模型处于角色姿态下的源接触信息。
S306,基于拓扑结构信息,将源接触信息转换为目标角色模型处于角色姿态下的目标接触信息。
其中,目标接触信息包括目标角色模型处于角色姿态时存在接触的第二目标顶点之间的目标距离,第二目标顶点是与源角色模型中存在接触的第一目标顶点相对应的顶点,例如源角色模型中顶点15和顶点100发生了接触,则目标角色模型中的顶点15和顶点100将被确定为存在接触第二目标顶点,目标距离是根据源角色模型中第一目标顶点之间的距离所确定的,例如源角色模型中顶点15和顶点100之间的距离为3cm,所确定的目标角色模型中的顶点15和顶点100之间的目标距离为2cm。
需要说明的是,目标距离可以理解为目标角色模型处于角色姿态时第二目标顶点之间的理想接触距离,理想接触距离是指在目标角色模型中,与源角色模型中相同动作或姿态相关的接触顶点之间应有的距离,该理想接触距离用于在生成目标角色的目标动画数据的过程中不断对所生成的动画数据进行优化,以使最终得到的目标动画数据更加准确。
具体的,计算机设备可以基于拓扑结构信息和源接触信息,确定出目标角色模型处于相应的角色姿态下时存在接触的第二目标顶点,并对源接触信息中第二目标顶点所对应的第一目标顶点之间的距离进行调整,得到第二目标顶点之间的目标距离。
S308,基于目标接触信息和源动画数据,生成目标角色的用于表征角色姿态的目标动画数据。
在一个实施例中,计算机设备可以通过求解最优化问题的方式来生成目标角色的目标动画数据,具体的,计算机设备可以根据源动画数据确定初始的目标动画数据,并按照预设的约束条件对初始的目标动画数据进行迭代优化,直至得到了满足优化目标的优化后目标动画数据,该满足优化目标的优化后目标动画数据即为最终所生成的目标角色的用于表征角色姿态的目标动画数据。
其中,根据源动画数据确定初始的目标动画数据具体可以直接将源动画数据确定为初始的目标动画数据,也可以根据相关的调整规则对源动画数据进行调整,并将所得到的调整结果确定为初始的目标动画数据。
优化目标是问题求解的主要目的,定义了应该达到的优化的标准,具体可以通过一个最小化的函数来进行表示。约束条件为优化问题设定了边界和限制,这些是在优化过程中必须遵守的规则或条件,具体可以是关节旋转的角度限制、特定接触顶点的距离保持、或者特定接触定顶点的相对位置限制等。
以约束条件可以是关节旋转的角度限制进行说明,在真实世界中,人的膝关节只能在一定范围内弯曲假设这个范围是0°(完全伸直)到120°(最大弯曲),这个范围是0°到120°即为针对膝关节的约束条件,在优化过程中,即调整动画数据的过程中,膝关节的旋转角度应遵守这个约束条件。
上述动画数据生成方法,当需要为目标角色创建动画数据时,通过获取源角色的用于表征角色姿态的源动画数据,并预先构建出具有相同拓扑结构信息的源角色模型和目标角色模型,在角色姿态存在接触动作时,通过将源动画数据应用到源角色模型,得到源角色模型处于角色姿态下的源接触信息,其中源接触信息包括源角色模型中存在接触的各第一目标顶点之间的距离,并基于拓扑结构信息可以准确地将源接触信息转换为适应于目标角色模型的、处于角色姿态下理想的目标接触信息,从而基于理想的目标接触信息和源动画数据,可以生成目标角色的用于表征角色姿态的目标动画数据,使得目标动画数据在目标角色上可以准确表征出源角色的角色姿态,即使角色姿态存在接触动作,通过目标动画数据也能够使得源角色上的接触动作在目标角色上能够以相同的效果呈现,提高了目标动画数据的准确性。
在一个实施例中,上述动画数据生成方法还包括获取相同拓扑结构的源角色模型和目标角色模型的过程,如图6所示,该过程包括以下步骤:
S602,获取源角色的源角色网格模型和目标角色的目标角色网格模型。
其中,源角色网格模型是源角色原始的网格模型,目标角色网格模型是目标角色原始的网格模型,原始的网格模型是由构成角色形状的三维点(顶点)、边和面的集合。
可以理解的是,原始的网格模型通常具有以下特点:1、顶点数量较大,通常在上万至几十万之间;2、包含多层网格结构,比如包含多层服装网格等;3网格形状复杂,包含较多躯体之外元素的网格,比如图7所示的模型示意图中矩形框中的服装的飘带、袖摆、挂饰等,若直接基于原始的网格模型进行基于自接触的动画数据迁移以得到目标动画数据,则会因为原始网格顶点数量大,网格结构层数多、以及将与自接触无关元素考虑在内,从而导致大量的计算,且影响生成的目标动画数据的准确率。本申请通过创建源角色和目标角色的简化的代理网格,基于代理网格进行基于自接触的动画数据迁移以得到目标动画数据,仅关注于关键的网格结构,可以有效降低处理的复杂性,且提高生成的目标动画数据的准确率。
具体的,计算设备可以获取源角色的角色模型文件,并将源角色模型文件导入到动画处理软件,通过动画处理软件加载角色模型文件,从而得到源角色的源角色网格模型,获取目标角色的角色模型文件,并将目标角色模型文件导入到动画处理软件,通过动画处理软件加载角色模型文件,从而得到目标角色的目标角色网格模型。
其中,角色模型文件是角色所有几何和视觉数据的电子文件,具体包括3D几何数据,3D几何数据具体包括顶点、边、面和网格拓扑,顶点是构成模型形状的3D点,边和面连接顶点,形成角色的表面,网格拓扑定义顶点、边和面之间的关系,决定了模型的结构和细节。
S604,基于源角色网格模型和目标角色网格模型分别对模板网格模型进行形变处理,得到源角色的源角色代理网格模型和目标角色的目标角色代理网格模型。
其中,模板网格模型是预先定义的、简化的3D网格结构,用作基础框架来变形得到其它角色的简化网格模型,其它角色的简化网格模型也可以称为是其它角色的代理网格模型。
形变处理是修改模板网格模型的形状,使其匹配特定角色的具体几何形状,其中修改模板网格模型的形状具体可以是修改模板网格模型的顶点的位置。
源角色代理网格模型是通过对模板网格模型进行形变处理得到的,用以代表源角色几何形状的简化网格结构,尽管简化,这种代理网格模型的形状被调整以匹配源角色的主要几何特征,如体型、比例和基本轮廓;目标角色代理网格模型是通过对模板网格模型进行形变处理得到的,用以代表目标角色几何形状的简化网格结构,尽管简化,这种代理网格模型的形状被调整以匹配目标角色的主要几何特征,如体型、比例和基本轮廓。
具体的,计算机设备可以构建出一个结构相对简单的模板网格模型,按照源角色网格模型的主要几何形状对模板网格模型进行形变处理,得到形变处理的模板网格模型,将该形变处理的模板网格模型确定为目标角色的目标角色代理网格模型;按照目标角色网格模型的主要几何形状对模板网格模型进行形变处理,得到形变处理的模板网格模型,将该形变处理的模板网格模型确定为目标角色的目标角色代理网格模型。
源角色代理网格模型和目标角色模型是基于同一个模板网格模型所得到的,因此表征相同角色的特征的顶点在源角色代理网格模型中、模板角色网格模型中和目标角色模型中可以有相同的顶点标识。
需要说明的是,计算机设备对模板网格模型进行形变处理得到源角色的源角色代理网格模型的步骤和对模板网格模型进行形变处理得到目标角色的目标角色代理网格模型的步骤可以并行执行,也可以串行执行。
在一个实施例中,S604具体包括以下步骤:确定构建的模板网格模型中表征角色特征的模板关键顶点;基于模板关键顶点所表征的角色特征,确定源角色网格模型中的源关键顶点和目标角色网格模型中的目标关键顶点;基于源关键顶点和模板关键顶点确定第一形变关系,并基于第一形变关系对模板网格模型进行形变处理,得到源角色的源角色代理网格模型;以及,基于目标关键顶点和模板关键顶点确定第二形变关系,并基于第二形变关系对模板网格模型进行形变处理,得到目标角色的目标角色代理网格模型。
其中,角色特征是指构成一个角色独特身体和外观特点的元素,本申请实施例中的角色特征具体是指解剖学上的特征,具体可以包括头部、躯干、四肢的形状和比例、眼睛、鼻子、嘴巴的位置和形状等相关特征。模板关键顶点是指模板网格模型的顶点中属于解剖关键点的顶点,解剖关键点是指分布于角色模型上的特定点,这些点在角色的解剖学和动画中起着关键作用,例如鼻尖、下巴尖属于面部的显著点,左腋下、左大臂上沿属于身体四肢的显著点,也就是说,模板关键顶点是在一个简化的模板网格模型上定义的一组顶点,这些顶点是为了捕捉和代表角色的关键特征而选择的,这些关键顶点位于模型的重要解剖位置,如图8所示的模板网格模型中第1198个顶点即为下巴尖对应的模板关键顶点,模板网格模型中第18个顶点即为左腋下对应的模板关键顶点,另外,图9示出了模板网格模型中的部分模板关键顶点的顶点标识,图10示出了源角色网格模型中的部分源关键顶点。
具体的,计算机设备可以获取预先构建的模板网格模型,确定构建的模板网格模型中表征角色特征的模板关键顶点,针对任意一个模板关键顶点,将该模板关键顶点的顶点标识、顶点位置和其所对应的特征属性进行存储,并基于各模板关键顶点所对应特征属性,从源角色网格模型的各顶点中选取表征相同特征属性的源关键顶点,以及从目标角色网格模型的各顶点中选取表征相同特征属性的目标关键顶点,在得到全部的源关键顶点之后,基于表征相同的特征属性的源关键顶点和模板关键顶点确定第一形变关系,基于第一形变关系对模板网格模型的各顶点的顶点位置进行调整实现形变处理,得到源角色的源角色代理网格模型;在得到全部的目标关键顶点之后,基于表征相同的特征属性的目标关键顶点和模板关键顶点确定第二形变关系,基于第二形变关系对模板网格模型的各顶点的顶点位置进行调整实现形变处理,得到目标角色的目标角色代理网格模型。
如图11所示,图11中的(a)为模板网格模型,图11中的(b)为源角色网格模型,图11中的(c)为源角色代理网格模型,基于的源角色网格模型终端的源关键顶点和模板网格模型中的模板关键顶点对模板网格模型进行形变处理,得到源角色的源角色代理网格模型。
在一个实施例中,确定构建的模板网格模型中表征角色特征的模板关键顶点的过程,具体可以通过人工对模板网格模型进行模板关键顶点标注的方式来实现,也可以通过以下步骤来实现:对模板网格模型的各个顶点进行形状特征相关性分析,得到相关性分析结果,并基于相关性分析结果从模板网格模型的各顶点中选取出表征角色特征的模板关键顶点。
其中,形状特征相关性分析用于确定各顶点对于角色形状的影响程度。
上述实施例中,计算机设备通过确定模板网格模型中表征角色特征的模板关键顶点,然后基于这些关键顶点确定源角色和目标角色的关键顶点,进而建立形变关系来创建代理网格模型,从而可以确保在形变过程中源角色和目标角色的关键特征可以被准确地捕捉,确保所得到的代理网格模型更加接近实际的源角色和目标角色,另外通过集中在关键顶点上,形变算法可以更加高效,从而提高了源角色和目标角色的代理网格模型的生成速度,进而提高了目标动画数据的生成速度和准确性。
在一个实施例中,计算机设备基于源关键顶点和模板关键顶点确定第一形变关系的过程包括以下步骤:确定源关键顶点和模板关键顶点之间的第一对应关系;基于第一对应关系、源关键顶点的第一位置和模板关键顶点的模板位置,确定第一形变关系;计算机设备基于目标关键顶点和模板关键顶点确定第二形变关系的过程包括以下步骤:确定目标关键顶点和模板关键顶点之间的第二对应关系;基于第二对应关系、目标关键顶点的第二位置和模板关键顶点的模板位置,确定第二形变关系。
其中,第一形变关系是在使用模板网格模型创建源角色代理网格模型时应用的几何转换规则;第二形变关系是在使用模板网格模型创建目标角色代理网格模型时应用的几何转换规则;几何转换规则具体可以包括针对模板网格模型中各顶点的位置偏移距离和偏移方向,位置偏移距离是指相应顶点所需要移动的相对距离,偏移方向是指相应顶点移动的具体方向。
具体的,计算机设备在确定出模板网格模型中的各个模板关键顶点、以及源角色网格模型中的源关键顶点之后,可以根据各模板关键顶点所表征的角色特征、各源关键顶点所表征的角色特征确定源关键顶点和模板关键顶点之间的第一对应关系,针对任意一组存在第一对应关系的源关键顶点和模板关键顶点,获取源关键顶点的第一位置和模板关键顶点的模板位置,并基于第一位置和模板位置确定该模板关键顶点对应的位置偏移距离和偏移方向,通过对每个模板关键顶点执行以上过程,可以确定出各模板关键顶点对应的位置偏移距离和偏移方向,关于模板网格模型中模板关键顶点之外的其它顶点,针对任意一个其它顶点,确定模板关键顶点与该其它顶点关联的目标模板关键顶点,并根据该其它顶点与目标模板关键顶点之间的位置关系,对目标模板关键顶点的位置偏移距离和偏移方向进行调整,得到该其它顶点的位置偏移距离和偏移方向,通过对模板网格模型中模板关键顶点之外的每个其它顶点执行以上过程,可以得到每个其它顶点对应的位置偏移距离和偏移方向。
通过以下示例,对基于关键模板顶点的位置偏移距离和偏移方向确定出相关联的其他顶点的位置偏移距离和偏移方向的过程进行举例说明:
例如,在调整一个人体模板网格模型的手臂部分,假设肘部顶点1是已经确定的模板关键顶点,其位置为M1,在源角色网格模型中有一个对应的肘部顶点,其位置为Y1,则可以根据M1和Y1确定出肘部顶点的位置偏移距离1和偏移方向2,手臂上存在非关键顶点2,该非关键顶点2为手腕附近的顶点,其位置为M2,则可以根据M1和M2确定出非关键顶点2相对于肘部顶点1的相对位置关系,并根据所确定的相对位置关系和肘部顶点的位置偏移距离1和偏移方向1,确定出非关键顶点2的位置偏移距离2和偏移方向2,比如,如果肘部向上移动了2单位,而手腕顶点与肘部在模型中的距离比较近,则手腕顶点可能也会向上移动,但移动的距离可能小于2单位,以保持手臂的比例和形态。
参考上述确定第一形变关系的过程,计算机设备在确定出模板网格模型中的各个模板关键顶点、以及目标角色网格模型中的目标关键顶点之后,可以采用与确定第一形变关系的过程类似的步骤来确定第二形变关系。
上述实施例中,通过确定源关键顶点和模板关键顶点之间的第一对应关系,以及目标关键顶点和模板关键顶点之间的第二对应关系,并基于这些关系确定形变关系,从而可以确保源角色和目标角色的关键特征在模板网格模型上可以得到精确映射,使得在形变过程中,源角色和目标角色的关键特征可以保留,确保所得到的代理网格模型更加接近实际的源角色和目标角色,进而提高了目标动画数据的准确性。
S606,对源角色代理网格模型和目标角色代理网格模型分别进行骨骼蒙皮,得到源角色对应的源角色模型和目标角色对应的目标角色模型。
具体的,计算机设备可以获取源角色的源角色网格模型对应的骨骼结构和目标角色的目标角色网格模型对应的骨骼结构,并基于源角色网格模型对应的骨骼结构对源角色代理网格模型进行骨骼蒙皮得到源角色对应的源角色模型, 基于目标角色网格模型对应的骨骼结构对目标角色代理网格模型进行骨骼蒙皮得到目标角色对应的目标角色模型。
在一个实施例中,S606具体可以包括以下步骤:获取源角色网格模型对应的源角色骨骼结构和目标角色网格模型对应的目标角色骨骼结构;基于源角色骨骼结构中各骨骼与源角色代理网格模型中各顶点之间的距离确定第一蒙皮权重,并根据第一蒙皮权重将源角色骨骼结构与源角色代理网格模型进行绑定,得到源角色对应的源角色模型;基于目标角色骨骼结构中各骨骼与目标角色代理网格模型中各顶点之间的距离确定第二蒙皮权重,并根据第二蒙皮权重将目标角色骨骼结构与目标角色代理网格模型进行绑定,得到目标角色对应的目标角色模型。
其中,源角色骨骼结构是指预先构建的针对源角色的一套骨架系统,目标角色骨骼结构是指预先构建的针对目标角色的一套骨架系统,骨架系统模拟了真实生物的骨架,由一系列的“骨骼”或“关节”构成,每个骨骼或关节代表了模型身体的一个部分;
第一蒙皮权重是指在将源角色代理网格模型与源角色骨骼结构绑定时,赋予源角色代理网格模型上每个顶点的权重;第二蒙皮权重是指在将目标角色代理网格模型与目标角色骨骼结构绑定时,赋予目标角色代理网格模型上每个顶点的权重,这些权重决定了源角色代理网格模型上每个顶点受周围骨骼运动影响的程度,权重的取值在0到1之间,表示顶点受关联骨骼控制的程度,可以理解的是一个顶点可以受到一个或多个骨骼的影响,其影响程度由权重决定,通过合理设置蒙皮权重,可以使网格在骨骼运动时产生自然的变形效果,如图12中的(A)所示为一个实施例中骨骼蒙皮后所得的源角色对应的源角色模型,图12中的(B)为对该源角色模型施加了动画数据后的源角色模型的姿态。
蒙皮权重可以是以矩阵的形式进行表示,权重矩阵中不同的行表示不同的骨骼,不同的列表示不同的顶点,权重矩阵的第i行第j列的元素代表第i个骨骼对第j个顶点的影响权重,影响权重决定了当第i个骨骼移动或旋转时,第j个顶点受到的影响程度。
具体的,计算机设备可以获取预构建的源角色骨骼结构,并将源角色骨骼结构与源角色代理网格模型对齐,针对对齐后的源角色代理网格模型中的任意一个顶点,确定其到某个骨骼或骨骼的特定部分(如骨骼节点)的距离,根据所确定的距离和预设的权重分配函数来确定,该骨骼对顶点的影响权重,通过对每个顶点分析每个骨骼与其之间的距离,从而可以得到第一蒙皮权重;获取预构建的目标角色骨骼结构,并将目标角色骨骼结构与目标角色代理网格模型对齐,针对对齐后的目标角色代理网格模型中的任意一个顶点,确定其到某个骨骼或骨骼的特定部分(如骨骼节点)的距离,根据所确定的距离和预设的权重分配函数来确定,该骨骼对顶点的影响权重,通过对每个顶点分析每个骨骼与其之间的距离,从而可以得到第二蒙皮权重。其中,对齐指的是确保骨骼结构在几何上正确地放置在网格模型内部。
需要说明的是,通过获取源角色和目标角色的骨骼结构,并基于这些骨骼结构与各自代理网格模型之间的距离来确定蒙皮权重,可以确保每个骨骼对网格的影响是精确的,然后将骨骼结构与代理网格模型绑定,以得到对应的角色模型,使得后续角色模型做执行的动作看起来自然和流畅。
上述实施例中,计算机设备获取源角色的源角色网格模型和目标角色的目标角色网格模型,基于源角色网格模型和目标角色网格模型分别对模板网格模型进行形变处理,得到源角色的源角色代理网格模型和目标角色的目标角色代理网格模型,对源角色代理网格模型和目标角色代理网格模型分别进行骨骼蒙皮,得到源角色对应的源角色模型和目标角色对应的目标角色模型,一方面代理网格模型比各角色原始的网格模型简化,拥有更少的顶点和更简单的网络结构,从而可以提高后续的计算量,提高了动画数据生成的效率;另一方面通过对同一模板网格模型进行形变处理,可以得到拓扑结构相同的源角色和目标角色的代理网格模型,从而可以准确地将源接触信息转换为适应于目标角色模型处于角色姿态下的理想的目标接触信息,以基于目标接触信息生成准确的目标动画数据,提高了目标动画数据的准确性。
在一个实施例中,计算机设备基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态下的源接触信息的过程包括以下步骤:基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态时源角色模型中各顶点的顶点位置;基于顶点位置进行接触检测,得到源角色模型处于角色姿态下的源接触信息。
具体的,计算机设备可以将源角色模型和定义角色姿态的源动画数据导入动画处理软件,并通过动画处理软件对动画数据进行解析得到每个骨骼对应的关节在相应时间点的位置和旋转角度,并根据解析所得到的关节在相应时点的位置和旋转角度对源角色模型中各骨骼对应关节的姿态进行调整,得到调整后各骨骼对应关节的姿态,并根据源角色模型所绑定的第一蒙皮权重和各骨骼对应关节的姿态,确定出源角色模型中各顶点的顶点位置,并采用确定源角色模型中顶点之间的接触距离,并根据所确定的接触距离确定两个顶点之间是否发生接触,得到源角色模型处于角色姿态下的源接触信息。
可以理解的是,在进行接触检测是可以遍历源角色模型中的所有顶点,以检查每个顶点与其它顶点之间的距离,也可以仅对源角色模型中特定区域的顶点进行遍历,特定区域具体可以是源角色模型容易发生接触的部分,例如手与脸、手与腿等。
上述实施例中,计算机设备基于源动画数据处理源角色模型以得到各顶点的顶点位置,通过分析每个顶点的位置,可以详细捕捉角色的动作,并进行接触检测以获得源角色模型在特定姿态下的源接触信息,自动化的接触检测减少了手动调整的工作量,所得到的精确的接触信息为动作迁移和重定向提供了可靠的基础,确保动作在不同角色间迁移时的连贯性和一致性。
在一个实施例中,计算机设备基于顶点位置进行接触检测,得到源角色模型处于角色姿态下的源接触信息的过程包括以下步骤:从源角色模型中各顶点的顶点位置中,选取出第一顶点位置和第二顶点位置;第一顶点位置是第一部位中的顶点的位置,第二顶点位置是第二部位中的顶点的位置;确定第一顶点位置和第二顶点位置之间的顶点距离;当顶点距离小于距离阈值时,将第一部位中的顶点和第二部位中的顶点,确定为源角色模型中存在接触的第一目标顶点;将顶点距离确定为第一目标顶点之间的距离。
其中,第一部位是源角色模型中一部分,第二部位是源角色模型中的另一部分,第一部位和第二部位之间的潜在接触,也就是说,第一部位和第二部位之间容易发生接触,例如针对拍手动作,第一部位可以是源角色模型的左手部分,第二部位可以是源角色模型的右手部分;针对叉腰动作,第一部位可以是源角色模型的左手部分和右手部分,第二部分可以是源角色模型的腰部;针对摸头动作,第一部位可以是源角色模型的头部,第二部分可以是源角色模型的头部。又例如,自接触动作通常发生在手部与身体其他部位之间,如图13中的(A)所示,针对左手所可能发生的接触动作,可以将框中的左手部分确定为第一部位,模型中除第一部位之外的其他身体部位作为第二部位,如图13中的(B)所示,针对右手所可能发生的接触动作,可以将框中的右手部分确定为第一部位,模型中除第一部位之外的其他身体部位作为第二部位。
具体的,计算机设备可以获取源角色的接触动作类型,并根据所获取的接触动作类型,确定与各接触类型匹配的待检测部分,待检测部分包括第一部分和第二部分,并从源角色模型中获取第一部分所对应的各顶点的第一顶点位置,以及从源角色模型中获取第二部分所对应的各顶点的第二顶点位置,针对第一部分中每个顶点的第一位置分别计算其与第二部分中每个顶点的第二位置之间的顶点距离,并将顶点距离小于距离阈值的第一位置和第二位置所对应的两个顶点确定为存在接触的第一目标顶点,并将这两个顶点之间的顶点距离确定为第一目标顶点之间的距离。
例如,为源角色所设计的动画作品中,源角色的自接触动作类型总共有摸头动作、叉腰动作、拍手动作三种接触动作类型,则计算机设备可以先进行关于拍手动作的自接触检测,具体可以从源角色模型的各顶点位置中选取左手部分中各顶点的第一位置,以及从各顶点位置中选取右手部分中各顶点的第二位置,根据第一位置和第二位置之间的顶点距离筛选出存在接触的第一目标顶点,以及得到第一目标顶点之间的距离;之后可以进行叉腰动作的自接触检测和拍手动作的自接触检测,在完成全部的自接触检测之后,可以得到源角色模型处于角色姿态下的完整的源接触信息。
上述实施例中,计算机设备通过从源角色模型中选取顶点位置,并基于这些位置确定顶点之间的距离以检测接触,能够准确识别并捕捉源角色模型中的源接触信息,且自动化的检测流程可以提高接触检测的效率,从而提高了动画数据的准确性和生成效率。
在一个实施例中,目标接触信息包括存在接触的第二目标顶点之间的目标距离,计算机设备基于拓扑结构信息,将源接触信息转换为目标角色模型处于角色姿态下的目标接触信息的过程包括以下步骤:基于拓扑结构信息确定源角色模型和目标角色模型之间的顶点对应关系;基于顶点对应关系和第一目标顶点,确定目标角色模型处于角色姿态时存在接触的第二目标顶点;对源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离。
在一个实施例中,源角色模型和目标角色模型是基于同一个模板网格模型所得到的,源角色模型对应的源角色代理网格模型和目标角色模型对应的目标角色模型是基于同一个模板网格模型所得到的,因此表征相同角色的特征的顶点在源角色代理网格模型中、模板角色网格模型中和目标角色模型中可以有相同的顶点标识,也就是说源角色模型和目标角色模型中具有相同顶点标识的顶点之间存在顶点对应关系,计算机设备可以直接获取源角色模型中各第一目标顶点的顶点标识,并基于第一目标顶点的顶点标识和顶点对应关系确定目标角色模型处于角色姿态时存在接触的第二目标顶点,并确定源角色模型映射到目标角色模型时的缩放比例,按照缩放比例对源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离。
上述实施例中,计算机设备基于拓扑结构信息确定源角色模型和目标角色模型之间的顶点对应关系,然后基于这些对应关系确定目标角色模型中的接触顶点,并对接触距离进行缩放以得到目标距离,通过调整接触距离,可以适应不同体型和比例的角色,从而可以基于目标距离生成更加准确的目标动画数据,提高了目标动画数据的准确性。
在一个实施例中,计算机设备对源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离的过程具体包括以下步骤:在源角色模型中,基于拓扑结构信息确定第一目标顶点的第一参考部位;在目标角色模型中,基于拓扑结构信息确定第二目标顶点的第二参考部位;基于第一参考部位的尺寸和第二参考部位的尺寸确定缩放比例;按照缩放比例对源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离。
其中,第一参考部位是源角色模型中涉及接触动作的关键区域,第二参考部分是目标角色模型中与源角色模型的第一参考部位在功能上或位置上对应的区域,例如接触动作为拍手动作,则选取源角色模型中的手部为第一参考部位,相应的目标角色模型中的手部为第二参考部位,将源角色模型中手部的整体长度与目标角色模型中的手部的整体长度的比值确定为缩放比例,手部的整体长度具体可以取手腕的开始到中指尖的距离;此外,针对全部的接触动作,也可以直接选取源角色模型的整体为第一参考部位,相应的目标角色模型的整体为第二参考部位,将源角色模型的身高和目标角色模型的身高的比值确定为缩放比例。
具体的,针对任意一对存在接触的第一目标顶点,计算机设备可以根据其所对应的动作类型和源角色模型的拓扑结构信息确定第一参考部位,在目标角色模型中,同样选择与源模型中第一参考部位在功能上或位置上对应的拓扑区域作为第二参考部位,并获取第一参考部位的尺寸和第二参考部位的尺寸,将第一参考部位的尺寸和第二参考部位的尺寸的比值确定为缩放比例,按照缩放比例对该对存在接触的第一目标顶点之间的距离进行缩放,得到相应的第二目标顶点之间的目标距离。
上述实施例中,计算机设备通过在源角色模型中确定第一参考部位和在目标角色模型中确定第二参考部位,然后基于这些参考部位的尺寸确定缩放比例,以便对接触距离进行缩放,可以适应不同体型和比例的角色,从而可以基于目标距离生成更加准确的目标动画数据,提高了目标动画数据的准确性。
在一个实施例中,计算机设备基于目标接触信息和源动画数据,生成目标角色的用于表征角色姿态的目标动画数据的过程包括以下步骤:确定待优化动画数据;基于目标接触信息和待优化动画数据确定接触损失;基于源动画数据和待优化动画数据确定动画数据差异损失;以最小化接触损失和动画数据差异损失为优化目标,对待优化动画数据进行迭代优化,得到目标角色的用于表征角色姿态的目标动画数据。
其中,待优化动画数据是优化过程开始时设置的目标角色的初始动画数据,具体可以直接将源动画数据确定为待优化动画数据,也可以是对源动画数据进行微调后,并将所得到的微调后源动画数据确定为待优化动画数据。
接触损失是指基于待优化动画数据所确定的实际接触信息与目标接触信息之间的差异,具体可以是实际的接触距离与目标距离之间的差异。
动画数据差异损失用于衡量待优化动画数据与源动画数据之间的差异横渡,在优化目标角色的动画数据时,动画数据差异损失帮助确保新生成的动画保持了源动画的核心特质,同时适应了目标角色的特点。
具体的,在第一轮优化时,计算机设备可以基于源动画数据确定待优化动画数据,并将待优化动画数据应用于目标角色模型,得到目标角色模型中各顶点的顶点位置,并从各顶点的顶点位置中选取第二目标顶点的顶点位置,并确定第二目标顶点之间的实际距离,基于第二目标顶点之间的实际距离和目标动画数据中第二目标顶点的目标距离确定接触损失,并将待优化动画数据和源动画数据进行比较,得到动画数据差异损失,并基于接触损失和动画数据差异损失确定优化损失,根据预设的数值优化方法优化损失进行处理,根据处理结果对待优化动画数据进行调整以减少优化损失,得到调整后动画数据,并将该调整后动画数据确定为下一轮优化时的待优化动画数据,直至满足停止条件,得到目标动画数据。
其中停止条件可以是得到的优化损失不再显著下降,或者达到预定的迭代优化次数。
在一个实施例中,优化目标可以是最小化损失函数的值,其中损失函数具体可以表征如下:
其中,x为当前帧的待优化动画数据,xsrc为当前帧的源动画数据,也可以称为正则项,用于最小化目标角色模型中各骨骼对应关节的姿态数据和源角色模型中各骨骼对应关节的姿态数据之间的差异,c.ai为顶点标识为c.ai的第二目标顶点,c.bi为顶点标识为c.bi的第二目标顶点,pm(x)为根据当前帧的待优化动画数据确定的目标角色模型的姿态,vert(pm(x),c.ai) 为目标角色模型处于相应姿态下,目标角色模型中顶点标识为c.ai第二目标顶点的顶点位置,vert(pm(x),c.bi) 为目标角色模型处于相应姿态下,目标角色模型中顶点标识为c.bi第二目标顶点的顶点位置,‖vert(pm(x),c.ai)-vert(pm(x),c.bi)‖为目标角色模型处于相应姿态下,目标角色模型中顶点标识为c.ai第二目标顶点与顶点标识为c.bi第二目标顶点之间的实际距离,c.dist为第二目标顶点c.ai和第二目标顶点c.bi之间的目标距离,大写C为所有的接触信息集合,小写c为接触信息,α为幅度系数,为自接触损失项。
上述实施例中,计算机设备通过确定待优化的动画数据,然后基于接触信息和动画数据差异进行迭代优化,以最小化接触损失和动画数据差异损失,确保动画中的自接触动作(如拍手、叉腰)在目标角色上表现得与源角色一致,从而保持动作的自然性和真实感,自动化的迭代优化减少了动画师在手动调整动画以适应新角色时的工作量,提高了目标动画数据的准确性和生成效率。
在一个实施例中,上述动画数据生成方法还包括以下步骤:获取所确定的前一帧的目标动画数据;基于前一帧的目标动画数据和待优化动画数据确定平滑损失;计算机设备以最小化接触损失和动画数据差异损失为优化目标,对待优化动画数据进行迭代优化的过程还包括以下步骤:以最小化接触损失、动画数据差异损失和平滑损失为优化目标,对待优化动画数据进行迭代优化。
其中,前一帧的目标动画数据是对源角色的前一帧的源动画数据执行上述动画数据生成方法所得到的,也就是说,目标角色的前一帧动画数据是由源角色的相应帧动画数据转换而来的。平滑损失用于量化和最小化动画中连续帧之间的过渡不连贯性。
具体的,计算机设备获取前一帧的解算出的目标动画数据,将待优化动画数据和前一帧的解算出的目标动画数据进行比较,得到平滑损失,并以最小化接触损失、动画数据差异损失和平滑损失为优化目标,对待优化动画数据进行迭代优化,得到目标动画数据。
在一个实施例中,优化目标可以是最小化损失函数的值,其中损失函数具体可以表征如下:
其中,x为当前帧的待优化动画数据,xsrc为当前帧的源动画数据,‖x-xsrc‖也可以称为正则项,用于最小化目标角色模型中各骨骼对应关节的姿态数据和源角色模型中各骨骼对应关节的姿态数据之间的差异,c.ai为顶点标识为c.ai的第二目标顶点,c.bi为顶点标识为c.bi的第二目标顶点,pm(x)为根据当前帧的待优化动画数据确定的目标角色模型的姿态,vert(pm(x),c.ai) 为目标角色模型处于相应姿态下,目标角色模型中顶点标识为c.ai第二目标顶点的顶点位置,vert(pm(x),c.bi) 为目标角色模型处于相应姿态下,目标角色模型中顶点标识为c.bi第二目标顶点的顶点位置,‖vert(pm(x),c.ai)-vert(pm(x),c.bi)‖为目标角色模型处于相应姿态下,目标角色模型中顶点标识为c.ai第二目标顶点与顶点标识为c.bi第二目标顶点之间的实际距离,c.dist为第二目标顶点c.ai和第二目标顶点c.bi之间的目标距离,大写C为所有的接触信息集合,小写c为接触信息,α为幅度系数,为自接触损失项;为平滑项,为此项的幅度系数,为前一帧的解算出的目标动画数据。
上述实施例中,计算机设备通过获取前一帧的目标动画数据,并基于此确定平滑损失,进而以最小化接触损失、动画数据差异损失和平滑损失为优化目标进行迭代优化,可以确保动画在连续帧之间的过渡自然,避免突兀的动作跳变,从而提高了目标动画数据的准确性。
在一个实施例中,如图14所示,还提供了一种动画数据生成方法,该方法可以由计算机设备执行,该计算机设备例如可以是图1所示的终端102或服务器104。该方法可以包括以下步骤:
S1402,获取源角色的源角色网格模型和目标角色的目标角色网格模型。
S1404,确定构建的模板网格模型中表征角色特征的模板关键顶点。
S1406,基于模板关键顶点所表征的角色特征,确定源角色网格模型中的源关键顶点和目标角色网格模型中的目标关键顶点。
S1408,基于源关键顶点和模板关键顶点确定第一形变关系,并基于第一形变关系对模板网格模型进行形变处理,得到源角色的源角色代理网格模型。
S1410,基于目标关键顶点和模板关键顶点确定第二形变关系,并基于第二形变关系对模板网格模型进行形变处理,得到目标角色的目标角色代理网格模型。
S1412,对源角色代理网格模型和目标角色代理网格模型分别进行骨骼蒙皮,得到源角色对应的源角色模型和目标角色对应的目标角色模型。
S1414,获取源角色的用于表征角色姿态的源动画数据。
S1416,基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态时源角色模型中各顶点的顶点位置。
S1418,基于顶点位置进行接触检测,得到源角色模型处于角色姿态下的源接触信息。
S1420,基于源角色模型与目标角色对应的目标角色模型所具有的相同的拓扑结构信息,将源接触信息转换为目标角色模型处于角色姿态下的目标接触信息。
S1422,根据源动画数据确定待优化动画数据。
S1424,基于目标接触信息和待优化动画数据确定接触损失。
S1426,基于源动画数据和待优化动画数据确定动画数据差异损失。
S1428,以最小化接触损失和动画数据差异损失为优化目标,对待优化动画数据进行迭代优化,得到目标角色的用于表征角色姿态的目标动画数据。
本申请还提供一种应用场景,该应用场景应用上述动画数据生成方法,参考图15,该动画数据生成方法包括以下步骤:
第一步为源角色的源角色网格模型和目标角色的目标角色网格模型分别构建代理网格模型,得到源角色代理网格模型和目标角色代理网格模型,代理网格可以近似地表征模型表面的形状;第二步为源角色代理网格模型和目标角色代理网格模型分别创建骨骼蒙皮这确保源角色代理网格模型和目标角色代理网格模型可以被骨骼所驱动;第三步应用源动画数据至源角色代理网格模型,并从中提取源动画数据中蕴含的源接触信息;第四步通过源接触信息计算出目标接触信息;第五步根据目标接触信息构建最小化问题求解目标动画。
其中,第一步中源角色的源角色网格模型和目标角色的目标角色网格模型分别构建代理网格模型的过程可参考图16所示步骤:先构建人体模板代理网格,针对模板代理网格标注稀疏解剖关键点,即模板关键顶点,针对源角色网格模型标注出与模板关键顶点对应的稀疏解剖关键点,即源关键顶点,针对目标角色网格模型标注出与模板关键顶点对应的稀疏解剖关键点,即目标关键顶点,基于源关键顶点和模板关键顶点对模板网格模型进行变形,从而得到源角色代理网格模型,基于目标关键顶点和模板关键顶点对模板网格模型进行变形,从而得到目标角色代理网格模型。
通过本申请提供的动画数据生成方法,可以在动画迁移时很好地将源角色的自接触动作迁移给目标角色,参考图17所示的一个实施例中的动画迁移效果示意图,图17中的(A)为源角色的特定姿态,在该特定姿态下源角色双手接触,图17中的(B)为采用传统动画迁移方案将源角色的特定姿态迁移给目标角色后的效果,目标角色的双手不能很好的接触,图17中的(C)为采用本申请提供的动画数据生成方法将源角色的特定姿态迁移给目标角色后的效果,目标角色手能够呈现出与源角色相同的双手接触效果;参考图18所示的一个实施例中的迁移效果示意图,图18中的(A)为源角色的特定姿态,在该特定姿态下源角色的左手摸头,图18中的(B)为采用传统动画迁移方案将源角色的特定姿态迁移给目标角色后的效果,目标角色的左手与头部不能很好的接触,图18中的(C)为采用本申请提供的动画数据生成方法将源角色的特定姿态迁移给目标角色后的效果,目标角色能够呈现出与源角色的相同的左手摸头效果。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的动画数据生成方法的动画数据生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个动画数据生成装置实施例中的具体限定可以参见上文中对于动画数据生成方法的限定,在此不再赘述。
在一个实施例中,如图19所示,提供了一种动画数据生成装置,包括:源动画数据获取模块1902、源接触信息确定模块1904、目标接触信息确定模块1906和目标动画数据生成模块1908,其中:
源动画数据获取模块1902,用于获取源角色的用于表征角色姿态的源动画数据。
源接触信息确定模块1904,用于基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态下的源接触信息;源接触信息包括源角色模型中存在接触的各第一目标顶点之间的距离,源角色模型与目标角色对应的目标角色模型具有相同的拓扑结构信息。
目标接触信息确定模块1906,用于基于拓扑结构信息,将源接触信息转换为目标角色模型处于角色姿态下的目标接触信息。
目标动画数据生成模块1908,用于基于目标接触信息和源动画数据,生成目标角色的用于表征角色姿态的目标动画数据。
上述实施例中,当需要为目标角色创建动画数据时,通过获取源角色的用于表征角色姿态的源动画数据,并预先构建出具有相同拓扑结构信息的源角色模型和目标角色模型,在角色姿态存在接触动作时,通过将源动画数据应用到源角色模型,得到源角色模型处于角色姿态下的源接触信息,其中源接触信息包括源角色模型中存在接触的各第一目标顶点之间的距离,并基于拓扑结构信息可以准确地将源接触信息转换为适应于目标角色模型的、处于角色姿态下理想的目标接触信息,从而基于理想的目标接触信息和源动画数据,可以生成目标角色的用于表征角色姿态的目标动画数据,使得目标动画数据在目标角色上可以准确表征出源角色的角色姿态,即使角色姿态存在接触动作,通过目标动画数据也能够使得源角色上的接触动作在目标角色上能够以相同的效果呈现,提高了目标动画数据的准确性。
在一个实施例中,如图20所示,装置还包括角色模型获取模块1910,用于:获取源角色的源角色网格模型和目标角色的目标角色网格模型;基于源角色网格模型和目标角色网格模型分别对模板网格模型进行形变处理,得到源角色的源角色代理网格模型和目标角色的目标角色代理网格模型;对源角色代理网格模型和目标角色代理网格模型分别进行骨骼蒙皮 ,得到源角色对应的源角色模型和目标角色对应的目标角色模型。
在一个实施例中,角色模型获取模块1910还用于:确定构建的模板网格模型中表征角色特征的模板关键顶点;基于模板关键顶点所表征的角色特征,确定源角色网格模型中的源关键顶点和目标角色网格模型中的目标关键顶点;基于源关键顶点和模板关键顶点确定第一形变关系,并基于第一形变关系对模板网格模型进行形变处理,得到源角色的源角色代理网格模型;以及,基于目标关键顶点和模板关键顶点确定第二形变关系,并基于第二形变关系对模板网格模型进行形变处理,得到目标角色的目标角色代理网格模型 。
在一个实施例中,角色模型获取模块1910还用于:确定源关键顶点和模板关键顶点之间的第一对应关系;基于第一对应关系、源关键顶点的第一位置和模板关键顶点的模板位置,确定第一形变关系;确定目标关键顶点和模板关键顶点之间的第二对应关系;基于第二对应关系、目标关键顶点的第二位置和模板关键顶点的模板位置,确定第二形变关系。
在一个实施例中,角色模型获取模块1910还用于:获取源角色网格模型对应的源角色骨骼结构和目标角色网格模型对应的目标角色骨骼结构;基于源角色骨骼结构中各骨骼与源角色代理网格模型中各顶点之间的距离确定第一蒙皮权重,并根据第一蒙皮权重将源角色骨骼结构与源角色代理网格模型进行绑定,得到源角色对应的源角色模型;基于目标角色骨骼结构中各骨骼与目标角色代理网格模型中各顶点之间的距离确定第二蒙皮权重,并根据第二蒙皮权重将目标角色骨骼结构与目标角色代理网格模型进行绑定,得到目标角色对应的目标角色模型。
在一个实施例中,源接触信息确定模块1904,还用于:基于源动画数据处理源角色对应的源角色模型,得到源角色模型处于角色姿态时源角色模型中各顶点的顶点位置;基于顶点位置进行接触检测,得到源角色模型处于角色姿态下的源接触信息。
在一个实施例中,源接触信息确定模块1904,还用于:从源角色模型中各顶点的顶点位置中,选取出第一顶点位置和第二顶点位置;第一顶点位置是第一部位中的顶点的位置,第二顶点位置是第二部位中的顶点的位置;确定第一顶点位置和第二顶点位置之间的顶点距离;当顶点距离小于距离阈值时,将第一部位中的顶点和第二部位中的顶点,确定为源角色模型中存在接触的第一目标顶点;将顶点距离确定为第一目标顶点之间的距离。
在一个实施例中,目标接触信息包括存在接触的第二目标顶点之间的目标距离;目标接触信息确定模块1906,用于:基于拓扑结构信息确定源角色模型和目标角色模型之间的顶点对应关系;基于顶点对应关系和第一目标顶点,确定目标角色模型处于角色姿态时存在接触的第二目标顶点;对源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离。
在一个实施例中,目标接触信息确定模块1906,还用于:在源角色模型中,基于拓扑结构信息确定第一目标顶点的第一参考部位;在目标角色模型中,基于拓扑结构信息确定第二目标顶点的第二参考部位;基于第一参考部位的尺寸和第二参考部位的尺寸确定缩放比例;按照缩放比例对源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离。
在一个实施例中,目标动画数据生成模块1908,还用于:确定待优化动画数据;基于目标接触信息和待优化动画数据确定接触损失;基于源动画数据和待优化动画数据确定动画数据差异损失;以最小化接触损失和动画数据差异损失为优化目标,对待优化动画数据进行迭代优化,得到目标角色的用于表征角色姿态的目标动画数据。
在一个实施例中,目标动画数据生成模块1908,还用于:获取所确定的前一帧的目标动画数据;基于前一帧的目标动画数据和待优化动画数据确定平滑损失;以最小化接触损失、动画数据差异损失和平滑损失为优化目标,对待优化动画数据进行迭代优化。
上述动画数据生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图21所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种动画数据生成方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图21中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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 Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种动画数据生成方法,其特征在于,所述方法包括:
获取源角色的用于表征角色姿态的源动画数据;
基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离;所述源角色模型是对源角色的网格模型施加了骨骼蒙皮后所得到的数字模型,目标角色模型是对目标角色的网格模型施加了骨骼蒙皮后所得到的数字模型;所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息,所述拓扑结构信息是所述网格模型的基本结构,所述网格模型是构成角色形状的顶点、边和面的集合;
基于所述拓扑结构信息确定所述源角色模型和所述目标角色模型之间的顶点对应关系;基于所述顶点对应关系和所述第一目标顶点,确定所述目标角色模型处于所述角色姿态时存在接触的第二目标顶点;对所述源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离;将所述第二目标顶点和所述目标距离确定为目标接触信息;
将所述源动画数据确定为待优化动画数据;基于所述目标接触信息和所述待优化动画数据确定接触损失;基于所述源动画数据和所述待优化动画数据确定动画数据差异损失;获取所确定的前一帧的目标动画数据;基于所述前一帧的目标动画数据和所述待优化动画数据确定平滑损失;以最小化所述接触损失、所述动画数据差异损失和所述平滑损失为优化目标,对所述待优化动画数据进行迭代优化,得到所述目标角色的用于表征所述角色姿态的目标动画数据;所述优化目标表征如下:
其中,x为所述待优化动画数据,xsrc为所述源动画数据,‖x-xsrc‖为所述动画数据差异损失,‖vert(pm(x),c.ai)-vert(pm(x),c.bi)‖为所述目标角色模型处于所述角色姿态下时所述目标角色模型中顶点标识为c.ai的第二目标顶点与顶点标识为c.bi的第二目标顶点之间的实际距离,c.dist为所述顶点标识为c.ai的第二目标顶点和所述顶点标识为c.bi第二目标顶点之间的目标距离, C为所有的接触信息集合, c为接触信息,α为幅度系数,为所述接触损失;为所述平滑损失,为幅度系数,为前一帧的解算出的目标动画数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述源角色的源角色网格模型和所述目标角色的目标角色网格模型;
基于所述源角色网格模型和所述目标角色网格模型分别对模板网格模型进行形变处理,得到所述源角色的源角色代理网格模型和所述目标角色的目标角色代理网格模型;
对所述源角色代理网格模型和所述目标角色代理网格模型分别进行骨骼蒙皮,得到所述源角色对应的源角色模型和所述目标角色对应的目标角色模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述源角色网格模型和所述目标角色网格模型分别对模板网格模型进行形变处理,得到所述源角色的源角色代理网格模型和所述目标角色的目标角色代理网格模型,包括:
确定构建的模板网格模型中表征角色特征的模板关键顶点;
基于所述模板关键顶点所表征的角色特征,确定所述源角色网格模型中的源关键顶点和所述目标角色网格模型中的目标关键顶点;
基于所述源关键顶点和所述模板关键顶点确定第一形变关系,并基于所述第一形变关系对所述模板网格模型进行形变处理,得到所述源角色的源角色代理网格模型;以及,
基于所述目标关键顶点和所述模板关键顶点确定第二形变关系,并基于所述第二形变关系对所述模板网格模型进行形变处理,得到所述目标角色的目标角色代理网格模型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述源关键顶点和所述模板关键顶点确定第一形变关系,包括:
确定所述源关键顶点和所述模板关键顶点之间的第一对应关系;
基于所述第一对应关系、所述源关键顶点的第一位置和所述模板关键顶点的模板位置,确定第一形变关系;
所述基于所述目标关键顶点和所述模板关键顶点确定第二形变关系,包括:
确定所述目标关键顶点和所述模板关键顶点之间的第二对应关系;
基于所述第二对应关系、所述目标关键顶点的第二位置和所述模板关键顶点的模板位置,确定第二形变关系。
5.根据权利要求2所述的方法,其特征在于,所述对所述源角色代理网格模型和所述目标角色代理网格模型分别进行骨骼蒙皮,得到所述源角色对应的源角色模型和所述目标角色对应的目标角色模型,包括:
获取所述源角色网格模型对应的源角色骨骼结构和所述目标角色网格模型对应的目标角色骨骼结构;
基于源角色骨骼结构中各骨骼与所述源角色代理网格模型中各顶点之间的距离确定第一蒙皮权重,并根据所述第一蒙皮权重将所述源角色骨骼结构与所述源角色代理网格模型进行绑定,得到所述源角色对应的源角色模型;
基于目标角色骨骼结构中各骨骼与所述目标角色代理网格模型中各顶点之间的距离确定第二蒙皮权重,并根据所述第二蒙皮权重将所述目标角色骨骼结构与所述目标角色代理网格模型进行绑定,得到所述目标角色对应的目标角色模型。
6.根据权利要求1所述的方法,其特征在于,所述基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息,包括:
基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态时所述源角色模型中各顶点的顶点位置;
基于所述顶点位置进行接触检测,得到所述源角色模型处于所述角色姿态下的源接触信息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述顶点位置进行接触检测,得到所述源角色模型处于所述角色姿态下的源接触信息,包括:
从所述源角色模型中各顶点的顶点位置中,选取出第一顶点位置和第二顶点位置;所述第一顶点位置是第一部位中的顶点的位置,所述第二顶点位置是第二部位中的顶点的位置;
确定所述第一顶点位置和所述第二顶点位置之间的顶点距离;
当所述顶点距离小于距离阈值时,将所述第一部位中的顶点和所述第二部位中的顶点,确定为所述源角色模型中存在接触的第一目标顶点;
将所述顶点距离确定为所述第一目标顶点之间的距离。
8.根据权利要求1所述的方法,其特征在于,所述对所述源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离,包括:
在所述源角色模型中,基于所述拓扑结构信息确定所述第一目标顶点的第一参考部位;
在所述目标角色模型中,基于所述拓扑结构信息确定所述第二目标顶点的第二参考部位;
基于所述第一参考部位的尺寸和所述第二参考部位的尺寸确定缩放比例;
按照所述缩放比例对所述源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离。
9.一种动画数据生成装置,其特征在于,所述装置包括:
源动画数据获取模块,用于获取源角色的用于表征角色姿态的源动画数据;
源接触信息确定模块,用于基于所述源动画数据处理所述源角色对应的源角色模型,得到所述源角色模型处于所述角色姿态下的源接触信息;所述源接触信息包括所述源角色模型中存在接触的各第一目标顶点之间的距离;所述源角色模型是对源角色的网格模型施加了骨骼蒙皮后所得到的数字模型,目标角色模型是对目标角色的网格模型施加了骨骼蒙皮后所得到的数字模型;所述源角色模型与所述目标角色对应的目标角色模型具有相同的拓扑结构信息,所述拓扑结构信息是所述网格模型的基本结构,所述网格模型是构成角色形状的顶点、边和面的集合;
目标接触信息确定模块,用于基于所述拓扑结构信息确定所述源角色模型和所述目标角色模型之间的顶点对应关系;基于所述顶点对应关系和所述第一目标顶点,确定所述目标角色模型处于所述角色姿态时存在接触的第二目标顶点;对所述源角色模型中存在接触的各第一目标顶点之间的距离进行缩放,得到目标距离;将所述第二目标顶点和所述目标距离确定为目标接触信息;
目标动画数据生成模块,用于将所述源动画数据确定为待优化动画数据;基于所述目标接触信息和所述待优化动画数据确定接触损失;基于所述源动画数据和所述待优化动画数据确定动画数据差异损失;获取所确定的前一帧的目标动画数据;基于所述前一帧的目标动画数据和所述待优化动画数据确定平滑损失;以最小化所述接触损失、所述动画数据差异损失和所述平滑损失为优化目标,对所述待优化动画数据进行迭代优化,得到所述目标角色的用于表征所述角色姿态的目标动画数据;所述优化目标表征如下:
其中,x为所述待优化动画数据,xsrc为所述源动画数据,‖x-xsrc‖为所述动画数据差异损失,‖vert(pm(x),c.ai)-vert(pm(x),c.bi)‖为所述目标角色模型处于所述角色姿态下时所述目标角色模型中顶点标识为c.ai的第二目标顶点与顶点标识为c.bi的第二目标顶点之间的实际距离,c.dist为所述顶点标识为c.ai的第二目标顶点和所述顶点标识为c.bi的第二目标顶点之间的目标距离,C为所有的接触信息集合,c为接触信息,α为幅度系数,为所述接触损失;为所述平滑损失,为幅度系数,为前一帧的解算出的目标动画数据。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410041583.6A CN117557699B (zh) | 2024-01-11 | 2024-01-11 | 动画数据生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410041583.6A CN117557699B (zh) | 2024-01-11 | 2024-01-11 | 动画数据生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117557699A CN117557699A (zh) | 2024-02-13 |
CN117557699B true CN117557699B (zh) | 2024-04-02 |
Family
ID=89815152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410041583.6A Active CN117557699B (zh) | 2024-01-11 | 2024-01-11 | 动画数据生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117557699B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609970A (zh) * | 2011-12-19 | 2012-07-25 | 中山大学 | 一种基于运动元素复用的二维动画合成方法 |
CN113592987A (zh) * | 2021-07-15 | 2021-11-02 | 深圳市慧鲤科技有限公司 | 骨骼映射方法和装置、设备、存储介质 |
CN114419210A (zh) * | 2021-12-28 | 2022-04-29 | 北京像素软件科技股份有限公司 | 角色动画共享方法及装置、计算机设备和可读存储介质 |
CN115496841A (zh) * | 2022-09-19 | 2022-12-20 | 清华大学 | 虚拟角色的动画生成方法、装置、电子设备及存储介质 |
CN115861498A (zh) * | 2022-12-19 | 2023-03-28 | 北京百度网讯科技有限公司 | 动作捕捉的重定向方法和装置 |
CN115880766A (zh) * | 2021-09-28 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 姿态迁移、姿态迁移模型训练方法、装置和存储介质 |
CN116433847A (zh) * | 2023-04-21 | 2023-07-14 | 北京百度网讯科技有限公司 | 姿态迁移方法及装置、电子设备和存储介质 |
CN116958336A (zh) * | 2023-02-21 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 虚拟角色的运动重定向方法和装置、存储介质及电子设备 |
CN116993773A (zh) * | 2022-11-09 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 运动信息的重定向方法、装置、设备、存储介质及产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050143174A1 (en) * | 2003-08-19 | 2005-06-30 | Goldman Daniel P. | Systems and methods for data mining via an on-line, interactive game |
-
2024
- 2024-01-11 CN CN202410041583.6A patent/CN117557699B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609970A (zh) * | 2011-12-19 | 2012-07-25 | 中山大学 | 一种基于运动元素复用的二维动画合成方法 |
CN113592987A (zh) * | 2021-07-15 | 2021-11-02 | 深圳市慧鲤科技有限公司 | 骨骼映射方法和装置、设备、存储介质 |
CN115880766A (zh) * | 2021-09-28 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 姿态迁移、姿态迁移模型训练方法、装置和存储介质 |
CN114419210A (zh) * | 2021-12-28 | 2022-04-29 | 北京像素软件科技股份有限公司 | 角色动画共享方法及装置、计算机设备和可读存储介质 |
CN115496841A (zh) * | 2022-09-19 | 2022-12-20 | 清华大学 | 虚拟角色的动画生成方法、装置、电子设备及存储介质 |
CN116993773A (zh) * | 2022-11-09 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 运动信息的重定向方法、装置、设备、存储介质及产品 |
CN115861498A (zh) * | 2022-12-19 | 2023-03-28 | 北京百度网讯科技有限公司 | 动作捕捉的重定向方法和装置 |
CN116958336A (zh) * | 2023-02-21 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 虚拟角色的运动重定向方法和装置、存储介质及电子设备 |
CN116433847A (zh) * | 2023-04-21 | 2023-07-14 | 北京百度网讯科技有限公司 | 姿态迁移方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117557699A (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113496507B (zh) | 一种人体三维模型重建方法 | |
CN111260764B (zh) | 一种制作动画的方法、装置及存储介质 | |
JP2022524891A (ja) | 画像処理方法及び装置、電子機器並びにコンピュータプログラム | |
CN109377544A (zh) | 一种人脸三维图像生成方法、装置和可读介质 | |
KR20220025023A (ko) | 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스 | |
CN112085835B (zh) | 三维卡通人脸生成方法、装置、电子设备及存储介质 | |
CN110399809A (zh) | 多特征融合的人脸关键点检测方法及装置 | |
CN112102480B (zh) | 图像数据处理方法、装置、设备以及介质 | |
CN110458924B (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
CN113593001A (zh) | 目标对象三维重建方法、装置、计算机设备和存储介质 | |
EP3855386B1 (en) | Method, apparatus, device and storage medium for transforming hairstyle and computer program product | |
WO2022179603A1 (zh) | 一种增强现实方法及其相关设备 | |
US20230342942A1 (en) | Image data processing method, method and apparatus for constructing digital virtual human, device, storage medium, and computer program product | |
CN113822965A (zh) | 图像渲染处理方法、装置和设备及计算机存储介质 | |
CN115578393A (zh) | 关键点检测方法、训练方法、装置、设备、介质及产品 | |
CN116012626B (zh) | 建筑立面图像的素材匹配方法、装置、设备和存储介质 | |
CN117218300A (zh) | 三维模型的构建方法、三维构建模型的训练方法及装置 | |
Chen et al. | Deep deformation detail synthesis for thin shell models | |
Feng et al. | [Retracted] Research and Application of Multifeature Gesture Recognition in Human‐Computer Interaction Based on Virtual Reality Technology | |
CN115908664B (zh) | 人机交互的动画生成方法、装置、计算机设备、存储介质 | |
CN115775300B (zh) | 人体模型的重建方法、人体重建模型的训练方法及装置 | |
Xu | Face reconstruction based on multiscale feature fusion and 3d animation design | |
CN117557699B (zh) | 动画数据生成方法、装置、计算机设备和存储介质 | |
CN115049764B (zh) | Smpl参数预测模型的训练方法、装置、设备及介质 | |
CN114638744B (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 |