CN117292021A - 动画数据的处理方法、装置、电子设备及可读存储介质 - Google Patents
动画数据的处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117292021A CN117292021A CN202311091212.0A CN202311091212A CN117292021A CN 117292021 A CN117292021 A CN 117292021A CN 202311091212 A CN202311091212 A CN 202311091212A CN 117292021 A CN117292021 A CN 117292021A
- Authority
- CN
- China
- Prior art keywords
- controller
- spline
- controllers
- constraint
- position constraint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000009466 transformation Effects 0.000 claims abstract description 30
- 238000006073 displacement reaction Methods 0.000 claims abstract description 19
- 210000000988 bone and bone Anatomy 0.000 description 62
- 238000010586 diagram Methods 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000006740 morphological transformation Effects 0.000 description 7
- 230000004660 morphological change Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 241000270295 Serpentes Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 240000006829 Ficus sundaica Species 0.000 description 1
- 241000251539 Vertebrata <Metazoa> Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation 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
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002572 peristaltic effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种动画数据的处理方法、装置、电子设备及可读存储介质,该方法包括:获取与线性骨骼链具有绑定关系的样条线,样条线上排布着多个第一控制器;在样条线上创建至少两个第二控制器,以及在相邻两个第二控制器之间创建第三控制器;控制第二控制器和第三控制器建立父子约束关系,以及控制第一控制器与第二控制器和/或第三控制器建立位置约束关系;对第二控制器的运动控制参数进行调整,来变换样条线的形态,以使线性骨骼链跟随样条线进行形态变换,运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。这大大减少了对于控制器的调整工作量、降低操作门槛,进而极大提高了线性物体的动画数据的处理效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种动画数据的处理方法、装置、电子设备及计算机可读存储介质。
背景技术
在模拟现实世界的虚拟场景中,要模拟如蛇、龙、链条、尾巴等线性物体以及其多样的形态变化。一般,通过制作线性模型,并控制该线性模型进行形变来模拟线性物体的形态变化。
在现有技术中,通常使用三维动画软件为线性物体创建一条由多节骨骼连接构成的骨骼链和一条样条线,并在样条线上设置多个控制器;将骨骼链的两端骨骼分别与样条线的起始控制器进行绑定,随后将其他骨骼与样条线的其他控制器依次进行绑定。通过设定各个控制器的位置和曲率等参数来改变样条线的曲线形态,于此同时骨骼链跟随样条线进行形态变化,以呈现多样的形态变化。
然而,现有技术中由于样条线中包括大量的控制器,且各控制器之间的控制相对独立,要实现样条线进行某种形态变化,则需要人工对样条线上的控制器一一进行参数调整,工作量较大操作难度大,导致线性物体的动画数据的处理效率低。
发明内容
本申请提供一种动画数据的处理方法、装置、电子设备及计算机可读存储介质,以提高线性物体的动画数据的处理效率。
第一方面,本申请实施例提供一种动画数据的处理方法,所述方法包括:
获取与线性骨骼链具有绑定关系的样条线,所述样条线上排布着多个第一控制器;
在所述样条线上创建至少两个第二控制器,以及在相邻两个所述第二控制器之间创建第三控制器;
控制所述第二控制器和所述第三控制器建立父子约束关系,以及控制所述第一控制器与所述第二控制器和/或所述第三控制器建立位置约束关系,所述父子约束关系用于指示所述第三控制器受所述第二控制器的缩放、旋转或位置约束,所述位置约束关系用于指示所述第一控制器受所述第二控制器和/或所述第三控制器的位置约束;
对所述第二控制器的运动控制参数进行调整,来变换所述样条线的形态,以使所述线性骨骼链跟随所述样条线进行形态变换,所述运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。
第二方面,本申请实施例提供一种动画数据的处理装置,所述装置包括:
获取模块,用于获取与线性骨骼链具有绑定关系的样条线,所述样条线上排布着多个第一控制器;
创建模块,用于在所述样条线上创建至少两个第二控制器,以及在相邻两个所述第二控制器之间创建第三控制器;
控制模块,用于控制所述第二控制器和所述第三控制器建立父子约束关系,以及控制所述第一控制器与所述第二控制器和/或所述第三控制器建立位置约束关系,所述父子约束关系用于指示所述第三控制器受所述第二控制器的缩放、旋转或位置约束,所述位置约束关系用于指示所述第一控制器受所述第二控制器和/或所述第三控制器的位置约束;
处理模块,用于对所述第二控制器的运动控制参数进行调整,来变换所述样条线的形态,以使所述线性骨骼链跟随所述样条线进行形态变换,所述运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括:
存储器和处理器、所述存储器和所述处理器耦合;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令,以实现上述第一方面任一项所述的动画数据的处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现上述第一方面任一项所述的动画数据的处理方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项所述的动画数据的处理方法。
与现有技术相比,本申请具有以下优点:
本申请提供的动画数据的处理方法,获取与线性骨骼链具有绑定关系的样条线,样条线上排布着多个第一控制器。在样条线上创建至少两个第二控制器,以及在相邻两个第二控制器之间创建第三控制器。控制第二控制器和第三控制器建立父子约束关系,以及控制第一控制器与第二控制器和/或第三控制器建立位置约束关系。这样第二控制器的缩放、位移、旋转等变换转移到第三控制器,即第三控制器的缩放-位移-旋转将随第二控制器的缩放、位移、旋转等变换而进行相应变换。同时,第二控制器和第三控制器的位置变换,转移到第一控制器,即第一控制器的位置将随第二控制器和第三控制器的位置的变换而相应变换。在本申请中,只对第二控制器的运动控制参数进行调整,就可以使整条样条线进行相应的形态变换,以使线性骨骼链跟随样条线进行形态变换。因此,这样只需要对少量的第二控制器进行运动参数调整,避免了因需人工对样条线上的所有第一控制器一一进行运动控制参数调整,所导致的工作量较大操作难度大的问题,这大大减少了对于控制器的调整工作量、降低操作门槛,进而极大提高了线性物体的动画数据的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中为骨骼链绑定的样条线以及在样条线上设置的控制器的示意图;
图2为本申请第一实施例提供的动画数据的处理方法的流程示意图;
图3为本申请第一实施例提供的样条线上控制器的分布示意图;
图4为本申请第一实施例提供的样条线形态的示意图之一;
图5为本申请第一实施例提供的样条线形态的示意图之二;
图6为本申请第一实施例提供的第二控制器和第三控制器之间父子约束关系的示意图;
图7为本申请第一实施例提供的第一控制器与第二控制器和第三控制器之间位置约束关系的示意图;
图8为本申请第一实施例提供的对第一控制器进行调整对应的样条线形态变换示意图;
图9为本申请第一实施例提供的对第三控制器进行调整对应的样条线形态变换示意图;
图10为本申请第一实施例提供的线性骨骼链的旋转扭曲示意图;
图11为本申请第一实施例提供的线性骨骼链的拉伸示意图;
图12为本申请第二实施例提供的动画数据的处理装置的结构示意图;
图13为本申请第三实施例提供的电子设备的硬件结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、优点和特征更加清楚,以下结合附图和具体实施方式对本申请进行清楚、完整地描述。在下面的描述中,阐述了很多具体细节以便于充分理解本申请。但是,所描述的实施例是本申请一部分实施例,而不是全部的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性,以及特定的顺序或先后次序。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,术语“多个”是指两个或两个以上。术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。术语“包括”和“具有”以及他们的任何变形,旨在覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解本申请的技术方案,首先对本申请所涉及的相关概念进行介绍。
在3D动画制作中,通过为模型设置骨骼系统,来实现为模型赋予动态的形变和运动能力。骨骼系统在3D动画制作中起到至关重要的作用,其能够模拟人体或物体的骨架结构,并使模型能够进行自然、流畅的动作,从而实现更真实和逼真的角色动画效果。
为模型设置骨骼系统,具体地实现步骤:通过将骨骼与对象模型的顶点进行绑定,以将骨骼的变换应用于模型的顶点,从而使模型跟随骨骼的形态变换而进行形态变换。例如,可以通过调整骨骼的位置、旋转和缩放来实现模型的形变控制,如弯曲、伸展、扭转等。骨骼系统还提供了约束功能,可以限制骨骼的运动范围、角度和速度,以确保模型的动作符合特定的物理规定或设计需求。
在3D动画设计软件中,运动学系统分为正向运动学(Forward Kinematics,FK)和逆向运动学(Inverse Kinematics,IK)。对于有层级结构的骨骼系统来说,正向运动学是指以父骨骼的位置和变换,来推导子骨骼的位置和变换;相反,逆向运动学是以子骨骼的位置和变换,来反推父骨骼的位置和变换。也就是说,逆向运动学是一种多骨骼反向控制器。
作为逆向运动学的一种变体,线性逆向运动学(后文简称线性IK)主要用于处理直线路径上的骨骼约束问题。在线性IK中,通常定义一个目标点或目标位置,并通过调整骨骼链中的各个关节来使骨骼末端达到该目标点或目标位置。与传统的逆向运动学方法不同的是,线性逆向运动学不仅考虑了骨骼末端的位置,还考虑了骨骼末端的方向和速度。需要说明的,多个骨骼通过关节连接形成骨骼链。关节可以看作是骨骼链中的特殊顶点,用于定义骨骼之间的连接关系。每个关节通常具有位移、旋转和缩放等属性,允许骨骼之间进行旋转和变形。
下面,对本申请所涉及的现有技术以及现有技术存在的问题进行简要说明:
在现有技术中,通常基于3Dmax软件的SplineIK Solver来实现蛇、龙、链条、尾巴等柔性线性物体的动画效果。其中,SplineIK Solver是一种在3D动画和游戏开发中常用的线性逆向运动学求解器,用户可以通过创建样条线,并向样条线添加或编辑各个控制器的位置以及曲率等运动控制参数,来控制样条线的形状和路径,从而基于样条线控制骨骼链的曲线走向。通过SplineIK Solver,利用样条线的易用性和灵活性可实现美观形状和为骨骼链提供可预测性以及良好的综合控制。
通过SplineIK Solver实现动画效果的具体步骤如下:编辑生成由顶点和线段构成的样条线;在样条线上设置控制器,通过调整控制器来控制样条线进行形变。图1为现有技术中为骨骼链绑定的样条线以及在样条线上设置的控制器的示意图,如图1所示,长度为30节骨骼的骨骼链,与该骨骼链绑定的样条线通常设置有12个控制器。动画师制作骨骼链进行线性形变的动画效果的过程中,需要对该12个控制器一一进行运动控制参数调整(包括位移、旋转等),才能实现样条线呈现所期望的线性形态,以使骨骼链跟随该样条线呈现前述所期望的线性形态。因此,在每次对样条线进行较大形态调整的情况下,由于各控制器之间相对独立,要实现样条线要呈现某一形态(如C形态或S形态),则均需要分别对该12个控制器进行依次调整,才能使样条线的整体形态呈现所期望的形态,这对于动画师的基本功要求非常高,且带来的工作量巨大,费时又费力,导致线性物体的动画数据的处理效率低。
基于上述存在的问题,为了提高线性物体的动画数据的处理效率,本申请提供了一种动画数据的处理方法、与该方法相对应的一种动画数据的处理装置,可实施该动画数据的处理方法的电子设备以及计算机可读存储介质。以下提供实施例对上述方法、装置、电子设备以及计算机可读存储介质进行详细说明。
为了使本申请的目的、技术方案更加清楚直观,下面将结合附图及实施例,对本申请实施例提供的方法进行详细说明。应理解的是,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。可以理解的是,下面几个实施例可以单独存在,以及在本申请提供的各实施例之间不冲突的情况下下述的实施例及实施例中的特征可以相互组合,对于相同或相似的内容,在不同的实施例中不再重复说明。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定,在某些情况下,可以以不同于此的顺序执行所示出或描述的步骤。
本申请提供了一种动画数据的处理方法、装置、电子设备及计算机存储介质。具体地,本申请其中一实施例的动画数据的处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
下面,结合图2,对本申请第一实施例提供的动画数据的处理方法进行说明,图2为本申请第一实施例提供的动画数据的处理方法的流程示意图。
如图2所示,该方法包括如下步骤S201-S204:
S201、获取与线性骨骼链具有绑定关系的样条线,样条线上排布着多个第一控制器。
在本申请实施例中,线性骨骼链为线性对象对应的骨骼链。线性对象可以为蛇、龙、尾巴、链条、绳索等柔性线性物体。
需要说明的是,在动画制作过程中,通常会针对线性对象制作蒙皮骨骼和动画骨骼,本申请实施例中的线性骨骼链是指线性对象对应的动画骨骼。其中,蒙皮骨骼是指用于线性对象模型的网格表面连接到骨骼系统的骨骼,其定义了线性对象模型的外观和形状。动画骨骼是指用于控制线性对象模型进行形变的骨骼,其定义了线性对象模型的形态和动作。动画骨骼可以包含位移、旋转、缩放等属性,用于描述骨骼链的变形。蒙皮骨骼和动画骨骼之间通过位置约束和方向约束进行连接,动画骨骼的运动会影响蒙皮骨骼的变形,进而影响线性对象模型的外观和动画效果。
在本申请实施例中,与线性骨骼链具有绑定关系的样条线,可以是采用3DMax中使用Spline IK Control创建一条与线性骨骼链长度相同的样条线,将该样条线与线性骨骼链进行绑定,以约束线性骨骼链呈现与样条线相同的曲线形态。获取到的样条线上排布着多个第一控制器。其中,Spline IK Control是一种在3D动画制作中常用的技术,是指利用Spline IK技术,在样条线路径上创建第一控制器,可以通过操纵这些第一控制器来控制样条线的形态和变换动作,进而线性骨骼链跟随样条线进行形态和变换动作,从而实现更自然、灵活的动画效果。
其中,样条线上第一控制器的数量越多,则通过调整各第一控制器可实现的动画效果越细腻。获取到的样条线可以参考如图3中最上面所示的样条线,在样条线上等间隔均匀分布着多个第一控制器,图3为本申请第一实施例提供的样条线上控制器的分布示意图。
S202、在样条线上创建至少两个第二控制器,以及在相邻两个第二控制器之间创建第三控制器。
S203、控制第二控制器和第三控制器建立父子约束关系,以及控制第一控制器与第二控制器和/或第三控制器建立位置约束关系。
下面,对步骤S202-S203进行说明。
在本申请实施例中,在样条线上创建至少两个第二控制器,以及在相邻两个第二控制器之间创建第三控制器。
可选地,在样条线上的两端和中点处各创建一个第二控制器,以及在相邻两个第二控制器之间创建两个第三控制器。以图3中所示的第一条样条线为例,在样条线上的两端和中点处各创建一个第二控制器,以及在相邻两个第二控制器之间创建两个第三控制器,得到的样条线参考如图3中所示的添加第二控制器和第三控制器后的样条线。
在3D动画制作中,父子约束是一种将不同控制器连接起来的技术,这种约束关系允许控制器之间传递动作和属性。具体来说,在一个控制器与另一个控制器之间建立父子约束,意味着将该两个控制器之间它们之间建立起一种从属关系,其中父控制器控制子控制器,而子控制器受父控制器的影响而变化。这样可以将多个控制器组合在一起,从而可实现更为复杂的动作或者变形效果。
在本申请实施例中,将第三控制器作为子控制器,在第三控制器和第二控制器之间建立父子约束关系。其中,父子约束关系用于指示第三控制器受第二控制器的缩放、旋转和/或位置约束。具体地,包括如下多种情况:第三控制器的缩放将受到其对应的第二控制器的缩放的变化而变化;第三控制器的旋转将受到其对应的第二控制器的旋转的变化而变化;第三控制器的位置将受到其对应的第二控制器的位移的变化而变化;第三控制器的位置、缩放将受到其对应的第二控制器的位移、缩放的变化而变化;第三控制器的位置、旋转将受到其对应的第二控制器的位移、旋转的变化而变化;第三控制器的旋转、缩放将受到其对应的第二控制器的旋转、缩放的变化而变化;第三控制器的旋转、缩放、位置将同时受到其对应的第二控制器的旋转、缩放位移的变化而变化。
在本申请实施例中,将第一控制器作为受约束控制器,在第一控制器和第二控制器和/或第三控制器之间建立位置约束关系。其中,位置约束关系用于指示第一控制器受第二控制器和/或第三控制器的位置约束。具体地,第一控制器的位置将受到其对应的位置约束控制器的位置变化的影响,包括如下多种情况:例如,在第一控制器和第二控制器之间建立位置约束关系,则第一控制器受该第二控制器的位置约束;在第一控制器和第三控制器之间建立位置约束关系,则第一控制器受该第三控制器的位置约束;在第一控制器和第二控制器和第三控制器之间建立位置约束关系,则第一控制器同时受与其存在位置约束的第二控制器和第三控制器的位置约束。
其中,为第一控制器添加位置约束,是指将一个第一控制器与另一个控制器(即第二控制器和/或第三控制器)之间建立起一种从属关系,其中第一控制器将受到另一个控制器的位置变化的影响而移动。具体来说,当为第一控制器添加位置约束后,该第一控制器的位置将会与另一个控制器保持一定的相对位置关系。当另一个控制器移动时,第一控制器会随之进行相应的移动,并保持相对位置不变。
需要说明的是,在控制器具有多个父位置约束控制器时,该控制器的位置移动会同时受到多个父控制器的影响,并且该控制器的位置最终受该多个父控制器的平均位移的影响。
考虑到现有技术中样条线包括大量的控制器,且各控制器之间的控制相对独立,要实现样条线进行某种形态变化,则需要人工对样条线上的控制器一一进行参数调整,工作量较大操作难度大。在本申请实施例中考虑设置少量的第二控制器和第三控制器,并在第二控制器和第三控制器之间建立父子约束关系,以及在第一控制器与第二控制器和/或第三控制器之间建立位置约束关系。这样在要实现样条线进行某种形态变化的情况下,无需对每个第一控制器进行调整,只需要第二控制器进行运动参数调整,以带动第三控制器和第一控制器进行同步调整,就可以使样条线呈现某种形态。
其中,第二控制器用于控制样条线做出各种各样的变换形态,如S型或C型。第三控制器用于控制样条线实现更多的局部形变细节。
S204、对第二控制器的运动控制参数进行调整,来变换样条线的形态,以使线性骨骼链跟随样条线进行形态变换。
在本申请实施例中,运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。
可选地,将第二控制器设置在样条线上的两端和中点处,以及第三控制器设置在相邻的两个第二控制器之间。首先,针对第二控制器设置在样条线上的两端和中点处这样的设置,将样条线以中点为界分为两部分进行控制(即左部和右部)。其次,针对在相邻两个第二控制器之间创建至少两个第三控制器这样的设置,也就是说,在样条线的左部和右部上分别分布着至少两个第三控制器。同时,由于第二控制器和第三控制器之间存在父子约束关系,以及第一控制器与第二控制器和/或第三控制器之间存在位置约束关系,这样只要对第二控制器进行运动参数调整,就可以带动第三控制器和第一控制器进行相应的变换,这使得样条线的左部和右部上的第一控制器跟随第二控制器和第三控制器的变换进行相应的变换。需要说明的是,样条线的左部和右部上分布的第一控制器和第三控制器的数量越多,则样条线的左部和右部的样条形态变化会更加细腻,愈能够呈现所期望的样条形态。
因此,在本申请实施例中,通过将第二控制器设置在样条线上的两端和中点处,以及第三控制器设置在相邻的两个第二控制器之间。对第二控制器的运动控制参数进行调整,就可以实现对样条线的整体形态进行调整,以使线性骨骼链跟随样条线进行形态变换,即线性骨骼链呈现出样条线对应的形态。例如,对样条线中点处的第二控制器进行位置移动,控制该第二控制器沿Y轴正方向位移K个单位,得到的样条线的画面可以如图4所示,即整条样条线的形态呈现C的形状。又例如,对样条线中点处的第二控制器进行旋转控制,控制该第二控制器沿逆时针方向旋转15°,得到的样条线的画面可以如图5所示,即整条样条线的形态呈现S的形状。其中,图4为本申请第一实施例提供的样条线形态的示意图之一,图5为本申请第一实施例提供的样条线形态的示意图之二。
本申请实施例提供的动画数据的处理方法,获取与线性骨骼链具有绑定关系的样条线,样条线上排布着多个第一控制器。在样条线上创建至少2个第二控制器,以及在相邻两个第二控制器之间创建第三控制器。控制第二控制器和第三控制器建立父子约束关系,以及控制第一控制器与第二控制器和/或第三控制器建立位置约束关系。这样第二控制器的缩放-位移-旋转转移到第三控制器,即第三控制器的缩放-位移-旋转将随第二控制器的缩放-位移-旋转的变换而相应变换。同时,第二控制器和第三控制器的位置变换,转移到第一控制器,即第一控制器的位置将随第二控制器和第三控制器的位置的变换而相应变换。在本申请中,只对第二控制器的运动控制参数进行调整,就可以使整条样条线进行相应的形态变换,以使线性骨骼链跟随样条线进行形态变换。因此,这样只需要对少量的第二控制器进行运动参数调整,避免了因需人工对样条线上的所有第一控制器一一进行运动控制参数调整,所导致的工作量较大操作难度大的问题,这大大减少了对于控制器的调整工作量、降低操作门槛,进而极大提高了线性物体的动画数据的处理效率。
在上述实施例的基础上,对本申请实施例提供的动画数据的处理方法进一步说明。
可选地,步骤S203中“控制第二控制器和第三控制器建立父子约束关系”的具体实现方式包括如下步骤S2031:
S2031、针对每个第三控制器,将距离第三控制器最近的第二控制器设置为第三控制器对应的父控制器,在父控制器和第三控制器之间建立父子约束关系,第三控制器受父控制器的缩放、旋转和位置约束。
在本申请实施例中,将第三控制器父子约束给距离该第三控制器最近的第二控制器,这可以使得形态变换更加自然。其中,这样第三控制器与对应的第二控制器建立了父子约束关系。这意味着,第三控制器的(缩放、位移、旋转)变换将受到其对应的父第二控制器(缩放、位移、旋转)的约束。
以图3中的添加第二控制器和第三控制器后的样条线为例,对第二控制器和第三控制器之间的父子约束关系进行示例性说明,如图6所示,图6为本申请第一实施例提供的第二控制器和第三控制器之间父子约束关系的示意图。
可选地,步骤S203中“控制第一控制器与第二控制器和/或第三控制器建立位置约束关系”的具体实现方式包括如下步骤S2032:
S2032、针对每个第一控制器,将第二控制器和第三控制器中,距离第一控制器最近的多个控制器,确定为第一控制器对应的位置约束控制器,并设置第一控制器受对应的位置约束控制器的位置约束的约束权重,第一控制器受位置约束控制器的位置约束。
在本申请实施例中,为了使样条线的形态过程呈现自然的变换效果,考虑将第一控制器附近的多个第二控制器和第三控制器作为该第一控制器的对应的位置约束控制器,且设置第一控制器受对应的位置约束控制器的位置约束的约束权重。因此,第一控制器的位置变换受该第一控制器对应的位置约束控制的位置变换而进行相应变换。
以图3中的添加第二控制器和第三控制器后的样条线为例,对第一控制器与第二控制器和第三控制器之间的位置约束关系进行示例性说明,在图7中针对各第一控制器,在第二控制器和第三控制器中,将距离第一控制器最近的三个控制器,确定为第一控制器对应的位置约束控制器。如图7所示,图7为本申请第一实施例提供的第一控制器与第二控制器和第三控制器之间位置约束关系的示意图。需要说明的是,为了便于看清楚第一控制器对应的位置约束,在图7中仅针对部分第一控制器标示其与对应的位置约束控制之间的位置约束关系。即仅针对第一控制器1-5,示意出其与对应的位置约束控制之间的位置约束关系。
可选地,若存在两个与第一控制器距离相同的控制器(如两个第三控制器,或,一个第二控制器和一个第三控制器,又或者,一个两个第二控制器),现需要从中挑选一个作为第一控制器对应的位置约束控制器,一种可能的实现方式是,通过根据第一控制器与该两个控制器之间控制器的数量,来确定将哪个控制器,确定为第一控制器对应的位置约束控制器。具体地,当该第一控制器与该两个控制器之间控制器的数量不相同的情况下,将与第一控制器之间存在控制器的数量较少的控制器,确定为第一控制器对应的位置约束控制器;当该第一控制器与该两个控制器之间控制器的数量相同的情况下,该2个控制器中随机选择一个作为第一控制器对应的位置约束控制器。
当该第一控制器与该两个控制器之间控制器的数量相同的情况下,从该2个控制器中随机选择一个作为第一控制器对应的位置约束控制器。
可选地,步骤“设置第一控制器受对应的位置约束控制器的位置约束的约束权重”的具体实现方式包括如下步骤S2032-1:
S2032-1、基于第一控制器与对应的位置约束控制器的距离,确定第一控制器受位置约束控制器的位置约束的约束权重,距离的大小与约束权重的大小呈负相关。
在本申请实施例中,根据第一控制器与对应的位置约束控制器的距离,确定第一控制器受位置约束控制器的位置约束的约束权重。其中,距离的大小与约束权重的大小呈负相关,即距离越大,位置权重越大,该位置约束控制器对第一控制器的位置约束越大;相反,距离越小,位置权重越小,该位置约束控制器对第一控制器的位置约束越小。
一种可能的实现方式,根据第一对应关系和第一控制器与对应的位置约束控制器的距离,确定第一控制器受位置约束控制器的位置约束的约束权重。其中,第一对应关系用于展示不同距离范围对应的位置权重,可以参考表1所示。通过从第一对应关系中,查找第一控制器与对应的位置约束控制器的距离所属的距离范围,将该距离范围对应的位置权重,确定为该第一控制器受位置约束控制器的位置约束的约束权重。针对同一第一控制器,根据第一控制器与不同的位置约束控制器之间的距离不同,第一控制器受不同位置约束控制器的位置约束的约束权重也是不同的。
表1
距离范围 | 约束权重 |
距离范围1 | 约束权重1 |
距离范围2 | 约束权重2 |
… | … |
距离范围N | 约束权重N |
需要说明的是,第一对应关系中的多个距离范围之间无任何交集。
可选地,获取与线性骨骼链具有绑定关系的样条线,样条线上等间隔排布着奇数个第一控制器,在样条线上位于中间位置的第一控制器的左右两边对称设置有其他第一控制器。这样第一控制器等间隔均匀分布在样条线上,且在样条线的中点为中心,其他的第一控制器对称分布在样条线的左右两边,这使得在仅对第二控制器进行运动参数调整的情况,对于第三控制器和第一控制器的约束也是对称的,进而使得样条线形态变换后的形态也是以样条线中心而对称,即样条线呈现对称曲线的形态。
可选地,为了对样条线实现更为细节上的形变,可以直接通过对第一控制器和/或第三控制器的运动控制参数直接进行调整,来对样条线的形态进行调整,以使线性骨骼链跟随样条线进行形态调整。
结合图8,对第一控制器进行调整进行示例性说明,图8为本申请第一实施例提供的对第一控制器进行调整对应的样条线形态变换示意图。
如图8所示,对样条线中的第一控制器进行运动参数调整,以改变样条线的形态。以两个第一控制器(即第一控制器1和第一控制器2)为例,对两个第一控制器分别进行不同的运动参数调整,来观察样条线的形态变化。针对第一控制器1,控制第一控制器1沿Y轴正半轴向上位移k个单位;针对第一控制器2沿逆时针方向旋转15°。对第三控制器1-2调整后的样条线如图8所示。
结合图9,对第三控制器进行调整进行示例性说明,图9为本申请第一实施例提供的对第三控制器进行调整对应的样条线形态变换示意图。
如图9所示,对样条线中的第三控制器进行运动参数调整,以改变样条线的形态。以两个第三控制器(即第三控制器1和第三控制器2)为例,对两个第三控制器分别进行不同的运动参数调整,来观察样条线的形态变化。针对第三控制器1,控制第三控制器1沿Y轴正半轴向上位移k个单位;针对第三控制器2沿逆时针方向旋转15°。对第三控制器1-2调整后的样条线如图8所示。
需要强调说明的是,结合图8和图9,对第三控制器调整时,位置受第三控制器约束的第一控制器的位置也要跟随进行位置变化,而对第一控制器进行调整时,只有该第一控制器发生调整,其并不会引起其他控制进行跟随调整。
可选地,本申请实施例提供的动画数据的处理方法还包括如下步骤A1-A2:
A1、获取旋转扭曲控制参数,旋转扭曲控制参数包括控制进行旋转扭曲的幅度、速度、方向中的一种或多种。
A2、根据旋转扭曲控制参数,控制线性骨骼链进行旋转扭曲形变。
在本申请实施例中,通过在SplineIK Solver的Twist End Angle来控制骨骼链末端旋转扭曲角度,通过设置旋转扭曲表达式来实现旋转扭曲功能。具体地,可以根据具体需求编写旋转扭曲表达式,来计算旋转扭曲的角度。其中,Twist End Angle是SplineIKSolver(样条线逆向运动学解算器)中的一个属性,用于控制样条线末端的旋转扭曲角度。具体地,对设置表达是来实现旋转扭曲功能的具体实现方式进行详细说明,包括如下步骤1.1-1.5:
步骤1.1、选中SplineIK Solver控制器,在属性编辑器中找到Twist End Angle属性。
步骤1.2、在Twist End Angle属性上右键点击,选择"Assign Controller"(分配控制器),然后选择"Expression"(表达式)。
步骤1.3、弹出表达式编辑器,在其中编写表达式来定义旋转扭曲的行为。表达式可以使用MAXScript或其他支持的脚本语言编写。
步骤1.4、根据实际需要,在表达式中使用变量、函数和运算符来计算Twist EndAngle的值。可以根据时间、骨骼的位置、曲线路径的属性等来确定旋转扭曲的角度。
步骤1.5、编写完表达式后,点击确认按钮应用表达式,然后测试动画效果,调整表达式以达到所需的旋转扭曲效果。
通过上述步骤1.1-1.5,对线性骨骼链进行旋转扭曲,旋转扭曲后的骨骼链的示意图如图10所示,图10为本申请第一实施例提供的线性骨骼链的旋转扭曲示意图。
可选地,本申请实施例提供的动画数据的处理方法还包括如下步骤B1-B2:
B1、获取拉伸控制参数,拉伸控制参数包括控制进行拉伸的幅度、速度、方向中的一种或多种;
B2、根据拉伸控制参数,控制线性骨骼链进行拉伸形变。
在本申请实施例中,拉伸功能是全局拉伸,即骨骼链上的每段骨骼之间都拉开一段间隙,且间隙相等。
下面,以3DMAX软件为例,通过编写脚本表达式,对在线性骨骼链的Z轴上来实现拉伸功能的一种可能的实现方式进行简要说明,包括如下步骤2.1-2.5:
步骤2.1、选中需要进行拉伸的线性骨骼链。
步骤2.2、打开脚本编辑器(Script Editor)或MAXScript窗口。
步骤2.3、在脚本编辑器中编写表达式来控制线性骨骼链的Z轴。例如,可以使用MAXScript中的scale函数来改变线性骨骼链的尺寸。
示例表达式:$BoneName.scale.z=scaleFactor;
其中,$BoneName是要进行拉伸的骨骼的名称,scaleFactor是一个变量,用于控制拉伸的比例。
步骤2.4、根据具体需求,可以在表达式中使用其他函数、变量和运算符来计算拉伸的值。例如,可以根据时间、动画师输入的参数或其他属性来确定拉伸的程度。
步骤2.5、编写完表达式后,点击运行按钮或执行相应的MAXScript命令来应用表达式。
通过在线性骨骼链的Z轴上编写脚本表达式,可以实现对线性骨骼链进行拉伸的效果。通过改变Z轴上的尺寸,可以使线性骨骼链在该方向上变长或缩短,从而实现拉伸的效果。根据具体的需求和表达式的计算方式,可以实现不同类型的拉伸效果,如线性拉伸、非线性拉伸等。
进一步地,实现局部拉伸,可以通过对第一控制器的运动参数进行调整,以进行局部细节调整。
通过上述步骤2.1-2.5,对线性骨骼链进行旋转扭曲,旋转扭曲后的骨骼链的示意图如图11所示,图11为本申请第一实施例提供的线性骨骼链的拉伸示意图。
在本申请实施例中,通过对线性骨骼链进行旋转扭曲和拉伸,在动画效果上可以更好地实现蛇、龙等生物的蠕动扭曲的效果。
可选地,在步骤S201之前,还可以包括如下步骤C1-C2。
C1、根据蒙皮骨骼,创建动画骨骼,并将蒙皮骨骼和动画骨骼进行位置约束和方向约束。
在本申请实施例中,动画骨骼就是步骤S201中的线性骨骼链。蒙皮骨骼与动画骨骼通过位置约束和方向约束的方式进行连接,以使动画骨骼的运动带动蒙皮骨骼的变形。
针对动画骨骼,创建与动画骨骼链长度相同的样条线。
C2、为样条线创建第一控制器,并在样条线上设置第二控制器和第三控制器。
在本申请实施例中,采用SplineIK Solver创建样条线,并在样条线上设置第一控制器,一般情况下可通过操纵这些第一控制器来控制线性骨骼链的形状和姿态,从而实现更自然、灵活的动画效果,因此,样条线的设置特别适用于模拟脊椎、尾巴、触须等柔然或弯曲的部分。
在使用Spline IK Control时,首先会创建一个样条线,并将该样条线与该线性骨骼链中的骨骼进行绑定。之后,在样条线上放置第一控制器,这些第一控制器可以被操作进行移动、旋转、缩放,从而调整样条线进行形态变换,以带动线性骨骼链进行相应的形状变换。通过移动第一控制器,可以改变样条线的曲线形状,进而影响第一控制器对应的骨骼的位置和方向。
可选地,为线性骨骼链绑定样条线的具体实施步骤包括D1-D3:
D1、选定线性骨骼链末端的骨骼,从属性的骨骼约束标签中,为该末端骨骼添加Spline IK约束。
例如,以3DMAX为例,执行如下步骤:打开“动画”菜单、点击“IK解算器”、点击“样条线IK解算器”。在软件窗口中,将光标移动到线性骨骼链的末端骨骼处并单击该末端骨骼。然后将光标移动到样条线的一顶点处并单击它。通过Spline IK Control在样条线上生成第一控制器,以使通过操控该第一控制器进而操控该末端骨骼。样条线的第一控制器的数量越多,则可实现的动画效果越细腻。
D2、设置链长,设置线性骨骼链上受样条线影响的骨骼数量。
D3、从预设的多条曲线中,选定一条曲线作样条线的曲线形状。
下面对本申请提供的动画数据的处理装置进行描述,下文描述的动画数据的处理装置与上文描述的动画数据的处理方法可相互对应参照。
图12为本申请第二实施例提供的动画数据的处理装置的结构示意图。如图12所示,该动画数据的处理装置包括:获取模块1201、创建模块1202、控制模块1203,以及处理模块1204。
获取模块,用于获取与线性骨骼链具有绑定关系的样条线,所述样条线上排布着多个第一控制器;
创建模块,用于在所述样条线上创建至少两个第二控制器,以及在相邻两个所述第二控制器之间创建第三控制器;
控制模块,用于控制所述第二控制器和所述第三控制器建立父子约束关系,以及控制所述第一控制器与所述第二控制器和/或所述第三控制器建立位置约束关系,所述父子约束关系用于指示所述第三控制器受所述第二控制器的缩放、旋转或位置约束,所述位置约束关系用于指示所述第一控制器受所述第二控制器和/或所述第三控制器的位置约束;
处理模块,用于对所述第二控制器的运动控制参数进行调整,来变换所述样条线的形态,以使所述线性骨骼链跟随所述样条线进行形态变换,所述运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。
可选地,所述控制模块具体用于:
针对每个所述第三控制器,将距离所述第三控制器最近的第二控制器设置为所述第三控制器对应的父控制器,在所述父控制器和所述第三控制器之间建立父子约束关系,所述第三控制器受所述父控制器的缩放、旋转和位置约束。
可选地,所述控制模块具体用于:
针对每个所述第一控制器,将所述第二控制器和所述第三控制器中,距离所述第一控制器最近的多个控制器,确定为所述第一控制器对应的位置约束控制器,并设置所述第一控制器受对应的位置约束控制器的位置约束的约束权重,所述第一控制器受所述位置约束控制器的位置约束。
可选地,所述控制模块具体用于:
基于所述第一控制器与对应的所述位置约束控制器的距离,确定所述第一控制器受所述位置约束控制器的位置约束的约束权重,所述距离的大小与所述约束权重的大小呈负相关。
可选地,所述样条线上等间隔排布着奇数个所述第一控制器,在所述样条线上位于中间位置的所述第一控制器的左右两边对称设置有其他所述第一控制器。
可选地,所述装置还包括调整模块,所述调整模块具体用于:
对所述第一控制器和/或所述第三控制器的运动控制参数进行调整,来对所述样条线的形态进行调整,以使所述线性骨骼链跟随所述样条线进行形态调整。
可选地,所述处理模块还用于:
获取旋转扭曲控制参数,所述旋转扭曲控制参数包括控制进行旋转扭曲的幅度、速度、方向中的一种或多种;
根据所述旋转扭曲控制参数,控制所述线性骨骼链进行旋转扭曲形变。
可选地,所述处理模块还用于:
获取拉伸控制参数,所述拉伸控制参数包括控制进行拉伸的幅度、速度、方向中的一种或多种;
根据所述拉伸控制参数,控制所述线性骨骼链进行拉伸形变。
本实施例提供的动画数据的处理装置,可用于执行上述动画数据的处理方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图13为本申请第三实施例提供的电子设备的硬件结构示意图,如图13所示,本实施例的电子设备1300包括:处理器1301以及存储器1302;其中
存储器1302,用于存储计算机执行指令;
处理器1301,用于执行存储器存储的计算机执行指令,以实现上述实施例中动画数据的处理方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器1302既可以是独立的,也可以跟处理器1301集成在一起。
当存储器1302独立设置时,该电子设备还包括总线1303,用于连接所述存储器1302和处理器1301。
本申请第四实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上电子设备所执行的上述任一实施例中动画数据的处理方法对应的技术方案。
本申请第五实施例还提供一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例中动画数据的处理方法对应的技术方案。
需要说明的是,对于本申请第二非实施例、第三实施例、第四实施例,以及第五实施例提供的装置、电子设备及计算机可读存储介质、计算机程序产品的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理模块(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种动画数据的处理方法,其特征在于,所述方法包括:
获取与线性骨骼链具有绑定关系的样条线,所述样条线上排布着多个第一控制器;
在所述样条线上创建至少两个第二控制器,以及在相邻两个所述第二控制器之间创建第三控制器;
控制所述第二控制器和所述第三控制器建立父子约束关系,以及控制所述第一控制器与所述第二控制器和/或所述第三控制器建立位置约束关系,所述父子约束关系用于指示所述第三控制器受所述第二控制器的缩放、旋转或位置约束,所述位置约束关系用于指示所述第一控制器受所述第二控制器和/或所述第三控制器的位置约束;
对所述第二控制器的运动控制参数进行调整,来变换所述样条线的形态,以使所述线性骨骼链跟随所述样条线进行形态变换,所述运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。
2.根据权利要求1所述的方法,其特征在于,所述控制所述第二控制器和所述第三控制器建立父子约束关系,包括:
针对每个所述第三控制器,将距离所述第三控制器最近的第二控制器设置为所述第三控制器对应的父控制器,在所述父控制器和所述第三控制器之间建立父子约束关系,所述第三控制器受所述父控制器的缩放、旋转和位置约束。
3.根据权利要求1所述的方法,其特征在于,所述控制所述第一控制器与所述第二控制器和/或所述第三控制器建立位置约束关系,包括:
针对每个所述第一控制器,将所述第二控制器和所述第三控制器中,距离所述第一控制器最近的多个控制器,确定为所述第一控制器对应的位置约束控制器,并设置所述第一控制器受对应的位置约束控制器的位置约束的约束权重,所述第一控制器受所述位置约束控制器的位置约束。
4.根据权利要求3所述的方法,其特征在于,所述设置所述第一控制器受对应的位置约束控制器的位置约束的约束权重,包括:
基于所述第一控制器与对应的所述位置约束控制器的距离,确定所述第一控制器受所述位置约束控制器的位置约束的约束权重,所述距离的大小与所述约束权重的大小呈负相关。
5.根据权利要求1所述的方法,其特征在于,所述样条线上等间隔排布着奇数个所述第一控制器,在所述样条线上位于中间位置的所述第一控制器的左右两边对称设置有其他所述第一控制器。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第一控制器和/或所述第三控制器的运动控制参数进行调整,来对所述样条线的形态进行调整,以使所述线性骨骼链跟随所述样条线进行形态调整。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取旋转扭曲控制参数,所述旋转扭曲控制参数包括控制进行旋转扭曲的幅度、速度、方向中的一种或多种;
根据所述旋转扭曲控制参数,控制所述线性骨骼链进行旋转扭曲形变。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取拉伸控制参数,所述拉伸控制参数包括控制进行拉伸的幅度、速度、方向中的一种或多种;
根据所述拉伸控制参数,控制所述线性骨骼链进行拉伸形变。
9.一种动画数据的处理装置,其特征在于,所述装置包括:
获取模块,用于获取与线性骨骼链具有绑定关系的样条线,所述样条线上排布着多个第一控制器;
创建模块,用于在所述样条线上创建至少两个第二控制器,以及在相邻两个所述第二控制器之间创建第三控制器;
控制模块,用于控制所述第二控制器和所述第三控制器建立父子约束关系,以及控制所述第一控制器与所述第二控制器和/或所述第三控制器建立位置约束关系,所述父子约束关系用于指示所述第三控制器受所述第二控制器的缩放、旋转或位置约束,所述位置约束关系用于指示所述第一控制器受所述第二控制器和/或所述第三控制器的位置约束;
处理模块,用于对所述第二控制器的运动控制参数进行调整,来变换所述样条线的形态,以使所述线性骨骼链跟随所述样条线进行形态变换,所述运动控制参数包括缩放参数、旋转参数和位移参数中的一种或多种。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如权利要求1-8中任一项所述的动画数据的处理方法。
11.一种计算机可读存储介质,其特征在于,存储有数据处理程序,该程序被处理器运行,执行如权利要求1-8中任一项所述的动画数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311091212.0A CN117292021A (zh) | 2023-08-28 | 2023-08-28 | 动画数据的处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311091212.0A CN117292021A (zh) | 2023-08-28 | 2023-08-28 | 动画数据的处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117292021A true CN117292021A (zh) | 2023-12-26 |
Family
ID=89256171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311091212.0A Pending CN117292021A (zh) | 2023-08-28 | 2023-08-28 | 动画数据的处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117292021A (zh) |
-
2023
- 2023-08-28 CN CN202311091212.0A patent/CN117292021A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kavan et al. | Geometric skinning with approximate dual quaternion blending | |
Zurdo et al. | Animating wrinkles by example on non-skinned cloth | |
CN110766776B (zh) | 生成表情动画的方法及装置 | |
US8698810B2 (en) | Reorienting properties in hair dynamics | |
EP3454302A1 (en) | Approximating mesh deformation for character rigs | |
EP2880636B1 (en) | Constraint evaluation in directed acyclic graphs | |
CN111292402B (zh) | 数据处理的方法、装置、设备及计算机可读存储介质 | |
US11631209B2 (en) | Systems and methods for computer animation using an order of operations deformation engine | |
US8665261B1 (en) | Automatic spatial correspondence disambiguation | |
Iwamoto et al. | Multi‐layer Lattice Model for Real‐Time Dynamic Character Deformation | |
US7333112B2 (en) | Rig baking | |
Vilanova et al. | VirEn: A virtual endoscopy system | |
CN113763518A (zh) | 基于虚拟数字人的多模态无限表情合成方法及装置 | |
CN115908664B (zh) | 人机交互的动画生成方法、装置、计算机设备、存储介质 | |
CN117292021A (zh) | 动画数据的处理方法、装置、电子设备及可读存储介质 | |
Vasilakis et al. | GPU rigid skinning based on a refined skeletonization method | |
US8077183B1 (en) | Stepmode animation visualization | |
Toothman | Expressive Skinning Methods for 3D Character Animation | |
Chen et al. | Interactive authoring of bending and twisting motions of short plants using hand gestures | |
US20240257470A1 (en) | Avatar personalization using image generation | |
US11941739B1 (en) | Object deformation network system and method | |
CN116309966A (zh) | 虚拟对象的变形处理方法、装置、存储介质与电子设备 | |
Viktoriia | Generative AI for 2.5 D Content Creation with Depth-Guided Object Placement | |
WO2024163083A1 (en) | Avatar personalization using image generation | |
Skjermo | Generation, Renderingand Animation of Polygon Tree Models |
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 |