CN115601478A - 动画生成方法、装置、终端设备及存储介质 - Google Patents
动画生成方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN115601478A CN115601478A CN202211152507.XA CN202211152507A CN115601478A CN 115601478 A CN115601478 A CN 115601478A CN 202211152507 A CN202211152507 A CN 202211152507A CN 115601478 A CN115601478 A CN 115601478A
- Authority
- CN
- China
- Prior art keywords
- data
- determining
- motion
- animation
- object model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开提出一种动画生成方法、装置、终端设备及存储介质,该方法包括:获取第一对象模型的顶点颜色数据和运动数据;确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到;根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据;根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画。当将该动画生成方法应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。
Description
技术领域
本公开涉及动画技术领域,尤其涉及一种动画生成方法、装置、终端设备及存储介质。
背景技术
随着计算机渲染技术的发展,数字人在电影、游戏、客服、等领域运用越来越广。由于近些年计算机硬件性能和渲染技术的提升,在离线渲染领域通过复杂的计算能够获得较好的发丝渲染效果。发丝渲染发展相对较为成熟,并且被广泛应用于电影和动漫。
相关技术中,在实时渲染领域,是通过骨骼蒙皮动画的方式和布料模拟的方式进行动态的模拟。
这些方式下,在动画生成过程中,基于骨骼蒙皮动画的方式,需要架设大量的骨骼对发丝进行蒙皮,控制骨骼动画从而驱动发丝顶点进行位置变化,发丝渲染效果不佳。而基于布料模拟的方式,通过对发丝进行物理模拟,以进行动力学模拟,发丝渲染计算量较大,发丝渲染性能和效率不高。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的目的在于提出一种动画生成方法、装置、终端设备及存储介质,当将该动画生成方法应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。
本公开第一方面实施例提出的动画生成方法,包括:获取第一对象模型的顶点颜色数据和运动数据;确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到;根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据;根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画。
本公开第一方面实施例提出的动画生成方法,通过获取第一对象模型的顶点颜色数据和运动数据,并确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到,根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,以及根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画,当将该动画生成方法应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。
本公开第二方面实施例提出的动画生成装置,包括:获取模块,用于获取第一对象模型的顶点颜色数据和运动数据;第一确定模块,用于确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到;第二确定模块,用于根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据;生成模块,用于根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画。
本公开第二方面实施例提出的动画生成装置,通过获取第一对象模型的顶点颜色数据和运动数据,并确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到,根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,以及根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画,当将该动画生成装置应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。
根据本公开第三方面,提供了一种终端设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开第一方面实施例的动画生成方法。
根据本公开第四方面,提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本公开第一方面实施例的动画生成方法。
根据本公开第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开第一方面实施例的动画生成方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本公开一实施例提出的动画生成方法的流程示意图;
图2是本公开实施例中第一对象模型示意图;
图3是本公开实施例中第二对象的目标位置数据的示意图;
图4是本公开另一实施例提出的动画生成方法的流程示意图;
图5是本公开另一实施例提出的动画生成方法的流程示意图;
图6是本公开实施例中动画生成方法的应用流程示意图;
图7是本公开一实施例提出的动画生成装置的结构示意图;
图8是本公开另一实施例提出的动画生成装置的结构示意图;
图9示出了适于用来实现本公开实施方式的示例性终端设备的框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本公开一实施例提出的动画生成方法的流程示意图。
其中,需要说明的是,本实施例的动画生成方法的执行主体为动画生成装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在终端设备中。
本实施例中的动画生成方法可以应用于终端设备,终端设备,是一种经由通信设施向其他设备发送数据或接收其他设备数据的设备,也即是说,该终端设备可以例如为能够进行网络通信连接的智能手机、智能手表、便携式计算机等,对此不做限制。
如图1所示,该动画生成方法,包括:
S101:获取第一对象模型的顶点颜色数据和运动数据。
本公开实施例中的动画生成方法可以应用于发丝渲染中,也即是说,可以在动画生成方法中对动画中所包含对象(例如人物、动物等)的发丝进行动画渲染,其中,该对象,可以被称为第一对象,相应的,对象(例如人物、动物等)的发丝可以被称为第二对象,当然,第二对象还可以是第一对象中其他待渲染的,且与发丝具有类似飘动特征的对象,例如动物的毛发、人物的衣服后摆等,对此不做限制。
其中,第一对象模型可以是对象的三维空间、或者二维平面模型。
本公开实施例中,以第一对象为动画中人物头部,第二对象为人物头部发丝进行示例,如图2所示,图2是本公开实施例中第一对象模型示意图。则第一对象模型可以具体例如人物头部模型,该第一对象模型可以是对人物头部进行三维空间建模得到。
相应的,在动画生成场景中,随着时间推移、动画帧加载,则相应的第一对象模型在不同动画帧中会产生运动,且第一对象模型在动画帧中会对应一个个的网格,每个网格具有相应的顶点,该顶点会具有相应的颜色属性,该顶点所具有相应的颜色属性数据,可以被称为顶点颜色数据,而用于描述第一对象模型在动画帧中所产生运动的数据,可以被称为运动数据,对此不做限制。
该第一对象模型的顶点颜色数据和运动数据,可以被用于后续辅助对人物头部模型中第二对象(发丝)进行动画渲染模拟,具体可以参见后续实施例。
其中,运动数据,可以例如为第一对象模型的空间位移,以及空间位移持续时长等,对此不做限制。
其中,顶点颜色数据,可以具体用于进一步细致的定义发丝运动衰减范围,该顶点颜色数据可以用RGB三原色的取值范围进行标记,取值范围为0-1,顶点颜色数据还可以用于控制xyz三个轴向上的发丝运动范围衰减。
S102:确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到。
其中,第二对象相对于第一对象模型的位置数据,可以被称为目标位置数据。
目标位置数据可以例如,发丝A在人物头部模型中的空间位置坐标,该目标位置数据可以用三维空间位置坐标表示、或者用二维空间位置坐标表示。
可选地,一些实施例中,可以针对第二对象配置参考点,其中,确定第一对象模型中第二对象的目标位置数据,可以是获取第二对象相对于第一对象模型的初始位置数据,并将初始位置数据映射至位置坐标系中,以得到待处理位置数据,根据待处理位置数据,确定参考点的参考位置数据,以及根据参考位置数据对待处理位置数据进行调整处理,得到目标位置数据,能够实现对第一对象模型中第二对象的位置进行标定,在第二对象的数量较多的情况下,便于对多簇第二对象的位置数据进行有效识别和管理,保障后续针对多簇第二对象的动画渲染数据生成的准确性。
其中,初始位置数据,可以是第二对象相对于第一对象模型的三维空间位置坐标表示,而参考点,可以例如是第二对象的顶点(发根点),位置坐标系可以是二维坐标系,将初始位置数据映射至位置坐标系中,以得到待处理位置数据,即将三维空间位置坐标表示映射至二维坐标系中,以得到二维平面位置坐标表示。
其中,从二维平面位置坐标表示中确定参考点的位置坐标表示,可以被称为参考位置数据。
其中,根据参考位置数据,可以对多簇第二对象的二维平面位置坐标表示进行对齐处理,所得对齐处理的位置数据,可以被称为目标位置数据。
如图3所示,图3是本公开实施例中第二对象的目标位置数据的示意图,其中,图3所示为第二对象模型,即发丝模型UV,其中UV可以用于描述目标位置数据(该UV可以例如是二维坐标系中发丝模型的位置坐标),图3中将第二对象模型映射至二维坐标系,纵向阴影竖条为一簇簇的第二对象,发丝模型UV方向按照竖向统一排列,其中,发根点(即参考点)的目标位置数据UV靠上对齐,沿Y轴方向进行排列,该第二对象模型的设计可以为后续发丝运动范围衰减和光照计算提供准确的数据基础。
当然,也可以采用其他任意可能的方式对第一对象模型中的第二对象进行位置数据建模,以确定第一对象模型中第二对象的目标位置数据,例如,可以基于人工智能的建模方式,基于机器学习模型建模方式等,对此不做限制。
S103:根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据。
上述确定第一对象模型的顶点颜色数据和运动数据,并确定第一对象模型中第二对象的目标位置数据之后,可以根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,而后,在对第二对象进行动画渲染时,可以参考该动画渲染数据进行相应的渲染。
其中,用于对第一对象模型中的第二对象进行动画渲染的参数数据,可以被称为动画渲染数据,动画渲染数据可以例如为运动衰减因子、模拟播风数据,以及跟随运动数据,还可以为其他任意可能被用于渲染发丝动画效果的数据,对此不做限制。
一些实施例中,在根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,可以将顶点颜色数据、运动数据,以及目标位置数据输入至动画渲染模型中,以基于动画渲染模型确定第二对象的动画渲染数据,对此不做限制。
另一些实施例中,在根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,可以获取动画渲染配置脚本文件,基于该配置脚本文件对顶点颜色数据、运动数据,以及目标位置数据进行编码处理,以确定第二对象的动画渲染数据,对此不做限制。
当然,也可以采用其他任意可能的方式实现根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,比如,数学计算的方式、人工智能方式等,对此不做限制。
S104:根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画。
上述在根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据之后,可以根据动画渲染数据对第一对象模型中的第二对象进行动态渲染,并根据渲染后第一对象模型生成相应动画帧,而后合并多帧渲染所得动画帧,以得到目标动画。
本实施例中,通过获取第一对象模型的顶点颜色数据和运动数据,并确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到,根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,以及根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画,当将该动画生成方法应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。
图4是本公开另一实施例提出的动画生成方法的流程示意图。
如图4所示,该动画生成方法,包括:
S401:获取第一对象模型的顶点颜色数据和运动数据。
S402:确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到。
针对S401-S402的描述说明可以具体参见上述实施例,在此不再赘述。
S403:根据顶点颜色数据和目标位置数据,确定第二对象的运动衰减因子。
其中,运动衰减因子可以用于描述第二对象随着第一对象模型的运动而运动的衰减变化量(即发根到发尾的衰减情况),该运动衰减因子,可以用于后续发丝从发根到发尾的运动衰减的变化计算。
也即是说,由于顶点颜色数据,可以具体用于进一步细致的定义发丝运动衰减范围,且目标位置数据是第二对象(发丝)相对于第一对象模型(人物头部模型)的位置数据,则可以参考顶点颜色数据和目标位置数据,确定第二对象的运动衰减因子,以用于发丝从发根到发尾的运动衰减的变化计算。
举例而言,随着人物头部模型的动态运动,则人物头部的发丝也会随着飘动,在飘动过程中,发根和发尾的运动幅度会不相同,则可以确定发丝随着人物头部模型的运动而运动的衰减变化量(即发根到发尾的衰减情况)。
因此,当基于发丝随着人物头部模型的运动而运动的衰减变化量(即发根到发尾的衰减情况)来对发丝进行动画渲染时,能够使得发丝的动画渲染效果更为真实,更能模拟出真实发丝的飘动效果,较大程度提升动画渲染效果。
一些实施例中,根据顶点颜色数据和目标位置数据,确定第二对象的运动衰减因子时,可以是将顶点颜色数据和目标位置数据输入至衰减因子确定模型中,以获得衰减因子确定模型所输出的运动衰减因子,对此不做限制。
另一些实施例中,还可以基于顶点颜色数据和目标位置数据对发丝进行建模,得到发丝运动模型,并对发丝运动模型进行一些数学运算处理,得到运动衰减因子,对此不做限制。
而本公开实施例中,在根据顶点颜色数据和目标位置数据,确定第二对象的运动衰减因子时,可以确定目标位置数据基于空间坐标系中目标坐标轴的初始衰减因子,并根据顶点颜色数据和初始衰减因子,确定运动衰减因子,能够实现快速准确地确定出运动衰减因子,有效提升发丝飘动效果的渲染效率。
其中,确定目标位置数据基于空间坐标系中目标坐标轴的衰减因子,可以被称为初始衰减因子,初始衰减因子可以用UV.y表示,其中,y表示世界坐标系中的y坐标轴,该y坐标轴即可以被称为目标坐标轴,目标位置数据可以用UV表示,则可以将目标位置数据UV映射至世界坐标系(即空间坐标系)中y坐标轴上,并将所映射结果值UV.y作为初始衰减因子UV.y。
本公开实施例在确定初始衰减因子UV.y之后,可以根据顶点颜色数据和初始衰减因子,确定运动衰减因子,由此,实现联合顶点颜色数据和初始衰减因子来确定运动衰减因子,使得运动衰减因子更为准确,有效提升所得运动衰减因子的参考价值。
举例而言,运动衰减因子D=UV.y*Vcol;
其中,目标运动数据UV取y轴方向的衰减,得到初始衰减因子UV.y,Vcol表示顶点颜色数据,运动衰减因子D可以是初始衰减因子UV.y和顶点颜色数据Vcol的乘积结果值。
S404:根据运动数据,确定第二对象的风向偏移数据。
其中,由于第一对象模型在多个动画帧之间产生运动的情况,对第一对象模型中的第二对象所带入近似于模拟风效果,则用于描述该模拟风效果相关的方向维度的偏移数据,可以被称为风向偏移数据。
也即是说,当基于第一对象模型的运动数据来反推第二对象的风向偏移数据后,所得风向偏移数据可以被用于模拟动画的模拟风效果,能够使得所得发丝动画渲染效果更为逼真、顺滑和柔软,即多方位地提升发丝的动画渲染效果。
一些实施例中,可以将第一对象模型的运动数据输入至风向偏移计算模型中,以基于该风向偏移计算模型模拟出第二对象的风向偏移数据,对此不做限制。
另一些实施例中,还可以基于第一对象模型的运动数据对模拟风进行建模,得到模拟风模型,并对模拟风模型进行一些数学运算处理,得到第二对象的风向偏移数据,对此不做限制。
可选地,一些实施例中,根据运动数据,确定第二对象的风向偏移数据,可以是确定动画的累计播放时长,并根据运动数据,确定第二对象的模拟风数据,以及根据累计播放时长、运动数据,以及模拟风数据确定第二对象的风向偏移数据,由此,能够准确建模出第一对象模型在多个动画帧之间产生运动的情况,对第一对象模型中的第二对象所带入的模拟风,能够有效提升发丝的动画渲染模拟效果,使得发丝渲染效果更为真实。
其中,由于第一对象模型在多个动画帧之间产生运动的情况,对第一对象模型中的第二对象所带入的模拟风,可能会受到累计时间的影响,比如持续10分钟的模拟风对物体的影响,通常会大于持续5分钟的模拟风对物体的影响,并且,该模拟风自身的一些参数数据也可以对物体产生相应的影响,从而本公开实施例中,可以联合动画的累计播放时长(可以基于该动画累计播放时长来近似于模拟风作用的时长)、第一对象模型的运动数据,以及模拟风数据来建模第二对象的风向偏移数据。
其中,模拟风数据包括以下多项:模拟风的波长;模拟风的波速;模拟风的风向,对此不做限制。
本公开实施例中,可以以第一对象模型的运动数据,是第一对象模型所对应模型网格的多个顶点中,与发丝顶点所对应模型网格顶点的坐标变化数据进行示例,假设第一对象模型中与发丝顶点所对应模型网格顶点的坐标可以以P表示(相应的,上述目标位置数据UV是指图2中所示二维坐标系中发丝模型的位置坐标),则风向偏移数据的建模过程可以举例如下:在第一对象模型的空间下,对发丝顶点进行X轴和Y轴上的偏移,即水平方向上的位移。
Poffset=sin((P·W)+T*S)*V;
其中,Poffset代表第二对象的风向偏移数据,P可以例如用于描述第一对象模型中与发丝顶点所对应模型网格顶点的坐标,W代表模拟风的波长,S代表模拟风的波速,T代表动画的累计播放时长,V代表模拟风的风向,也即发丝飘动方向,“*”表示做乘积运算,“·”表示做乘积运算。
S405:根据运动数据,确定第二对象的跟随偏移数据。
其中,由于第一对象模型的运动,则第一对象模型中第二对象会尾随第一对象产生跟随动作,第二对象的跟随动作相对于第一对象模型的运动会存在一定的延迟变化,则用于描述跟随延迟变化的数据,可以被称为跟随偏移数据。
由此,本公开实施例中,通过基于第一对象模型的运动数据来对第二对象的跟随动作进行建模运算,得出第二对象的跟随偏移数据,并基于第二对象的跟随偏移数据指导第二对象的动画渲染效果,当将该动画生成方法应用于发丝的动画渲染,能够进一步提升发丝的动画渲染效果,使得发丝的动画渲染效果更为灵动。
一些实施例中,可以将第一对象模型的运动数据输入跟随偏移计算模型中,以基于该跟随偏移计算模型模拟出第二对象的跟随偏移数据,对此不做限制。
另一些实施例中,还可以基于第一对象模型的运动数据对第二对象的跟随动作进行建模,得到第二对象的跟随动作模型,并对第二对象的跟随动作模型进行一些数学运算处理,得到第二对象的跟随偏移数据,对此不做限制。
可选地,一些实施例中,在根据运动数据,确定第二对象的跟随偏移数据时,可以是确定第一对象模型的运动变换矩阵,其中,运动变换矩阵中矩阵元素描述第一对象模型中相应位置点的当前位置变化量,并确定第一对象模型的参考变换矩阵,其中,参考变换矩阵中矩阵元素描述第一对象模型中相应位置点的历史位置变化量,以及根据运动数据、运动变换矩阵,以及参考变换矩阵确定第二对象的跟随偏移数据,实现联合第一对象模型中相应位置点的历史位置变化量和当前位置变化量,对第二对象的跟随延迟变化的情况进行预测,能够扩展确定第二对象的动画渲染数据所需参数的维度,有效丰富数据获取来源,提升跟随偏移数据预测的准确性和预测效果。
一并参见上述图2,第一对象模型中可以包括多个模型网格,每个模型网格可以具有对应的模型网格顶点,则模型网格顶点可以被视为一个位置点,或者,位置点也可以是图2所示第一对象模型中任意位置点,对此不做限制。
而第一对象模型中相应位置点的当前位置变化量,可以用于描述相应位置点在当前时刻与上一时刻之间的位置偏移量,相应位置点的历史位置变化量,可以用于描述相应位置点在历史时刻与历史时刻的上一时刻间的位置偏移量。
也即是说,本公开实施例中支持联合第一对象模型中的当前位置变化量和历史位置变化量来预测第二对象的跟随偏移数据。
举例而言,在计算发丝的跟随偏移数据时,可以实时记录第一对象模型的上个时间间隔T0(历史时刻与历史时刻的上一时刻之间的间隔)的参考变换矩阵M0,并求得跟随偏移数据P’offset:
P’offset=(M0*P-M*P)*R;
其中,M为第一对象模型的运动变换矩阵,M0是第一对象模型的上个时间间隔T0(历史时刻与历史时刻的上一时刻之间的间隔)的参考变换矩阵。M0会尾随人物头部模型(第一对象模型)产生跟随动作和跟随延迟变化,从而产生发丝跟随的效果,P可以例如用于描述第一对象模型中与发丝顶点所对应模型网格顶点的坐标,R为发丝运动范围限制因子,R可以自定义设置。
本公开实施例中,考虑到发丝在跟随动作过程中,通常会受到空气阻尼的影响,因此发丝飘动效果可能会有一定的弹性效果,为了准确地表征出空气阻尼对发丝飘动效果的影响,还可以使用弹性运动算法刷新参考变换矩阵M0,以使得发丝有跟随后摇晃的效果,弹性运动算法如下所示:
待计算的第一对象模型的运动姿态T0,T为第一对象模型基于运动数据进行相应的运动后所停留的姿态,Elasticity为弹性系数,而后,将第一对象模型的运动姿态T0转换成矩阵,并基于所转换矩阵刷新参考变换矩阵M0中矩阵元素的数值:
T0=T0+Eelasticity*(T-T0);
当基于刷新后参考变换矩阵M0计算跟随偏移数据P’offset时,能够使得发丝产生跟随后摇晃的效果。
S406:根据运动衰减因子、模拟播风数据,以及跟随运动数据确定第二对象的动画渲染数据。
上述在获得运动衰减因子、模拟播风数据,以及跟随运动数据之后,可以将运动衰减因子、模拟播风数据,以及跟随运动数据输入至渲染数据生成模型中,以得到渲染数据生成模型输出的动画渲染数据。
其中,该动画渲染数据可以具体例如为第二对象在第一对象模型中的优化后位置数据,则可以基于该优化后位置数据调整第二对象在第一对象模型中的目标位置数据进行相应的动态更新,以形成动画渲染效果,或者,该动画渲染数据还可以具体例如为第二对象相对于第一对象模型的飘动方向、偏移幅度、弹回方向、弹回幅度等等,或者,该动画渲染数据,还可以具体例如为第二对象在跟随偏移的过程中所产生的阴影数据等,对此不做限制。
可选地,一些实施例中,在根据运动衰减因子、模拟播风数据,以及跟随运动数据确定第二对象的动画渲染数据,可以是根据运动衰减因子、模拟播风数据,以及跟随运动数据确定与网格位置数据对应的位置调整数据,其中,网格位置数据是第二对象在模型网格中的位置数据,模型网格是与第一对象模型对应的网格,并将位置调整数据作为动画渲染数据,由此,所得位置调整数据可以被用于快速地对当前的动画帧中的对象进行相应的位置调整,便于快速地生成目标动画。
其中,网格位置数据,即可以例如是上述第一对象模型中与发丝顶点(第二对象)所对应模型网格顶点的坐标,该模型网格可以是对第一对象模型网格化处理所得,该模型网格可以包括多个网格,相应的,第一对象模型中的第二对象会相应映射于该模型网格中,则第二对象在模型网格中所映射网格的顶点的坐标,即可以被称为网格位置数据。
其中,位置调整数据,即可以是用于对第一对象模型所对应模型网格中发丝顶点的位置坐标进行位置调整的数据,例如可以是位置坐标偏移方向和位置坐标偏移量,或者位置调整数据还可以是所确定的较优的网格位置数据,而后可以支持基于位置调整数据对第一对象模型所对应模型网格中发丝顶点的位置坐标进行动态调整。
一些实施例中,在根据运动衰减因子、模拟播风数据,以及跟随运动数据确定与网格位置数据对应的位置调整数据时,可以根据顶点位置变换算法确定位置调整数据,顶点位置变换算法如下所示:
P’=P+(Poffset+P’offset)*D;
其中,Poffset代表第二对象的风向偏移数据,P’offset是第二对象的跟随偏移数据,网格位置数据P可以例如用于描述第一对象模型中与发丝顶点(第二对象)所对应模型网格顶点的坐标,D是第二对象的运动衰减因子,则相应的,位置调整数据可以例如是(Poffset+P’offset)*D,即对P进行调整的量,或者,位置调整数据也可以是在P基础上调整后的P’,对此不做限制。
S407:根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画。
针对S407的描述说明可以具体参见上述实施例,在此不再赘述。
本实施例中,当将该动画生成方法应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。当基于发丝随着人物头部模型的运动而运动的衰减变化量(即发根到发尾的衰减情况)来对发丝进行动画渲染时,能够使得发丝的动画渲染效果更为真实,更能模拟出真实发丝的飘动效果,较大程度提升动画渲染效果。还能够准确建模出第一对象模型在多个动画帧之间产生运动的情况,对第一对象模型中的第二对象所带入的模拟风,能够有效提升发丝的动画渲染模拟效果,使得发丝渲染效果更为真实。通过基于第一对象模型的运动数据来对第二对象的跟随动作进行建模运算,得出第二对象的跟随偏移数据,并基于第二对象的跟随偏移数据指导第二对象的动画渲染效果,当将该动画生成方法应用于发丝的动画渲染,能够进一步提升发丝的动画渲染效果,使得发丝的动画渲染效果更为灵动。实现联合第一对象模型中相应位置点的历史位置变化量和当前位置变化量,对第二对象的跟随延迟变化的情况进行预测,能够扩展确定第二对象的动画渲染数据所需参数的维度,有效丰富数据获取来源,提升跟随偏移数据预测的准确性和预测效果。
图5是本公开另一实施例提出的动画生成方法的流程示意图。
如图5所示,该动画生成方法,包括:
S501:获取第一对象模型的顶点颜色数据和运动数据。
S502:确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到。
S503:根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据。
针对S501-S503的描述说明可以具体参见上述实施例,在此不再赘述。
S504:根据动画渲染数据渲染第一对象模型中的第二对象的目标位置数据,得到所渲染的对象模型。
可以一并参见图6,图6是本公开实施例中动画生成方法的应用流程示意图,包括:顶点着色器、片元着色器,该顶点着色器和片元着色器可以具体与图形处理器(GraphicsProcessing Unit,GPU)相连接,顶点着色器可以用于主要用于对三维模型每个顶点数据顶进行空间变换的一组指令代码。当渲染一个顶点时,应用程序编程接口会执行在顶点着色器中所写的指令。实现控制每个顶点,包括渲染,确定位置,是否显示在屏幕上。GPU会为每一个顶点会开辟一个计算指令。
本公开实施例中,可以由顶点着色器基于所获取模型数据(例如上述运动数据、顶点颜色数据、目标位置数据等)实现风向模拟、跟随计算、以及飘动衰减,而后,基于风向模拟、跟随计算、以及飘动衰减生成相应的动画渲染数据,而后,可以执行该动画渲染数据,以基于根据动画渲染数据渲染第一对象模型中的第二对象,得到所渲染的对象模型,而后可以触发后续步骤。
S505:对所渲染的对象模型进行目标处理,得到目标动画。
一并参见图6,可以对所渲染的对象模型进行光栅化处理,而后将光栅化处理的结果提供至片元着色器中,基于片元着色器对光栅化处理的结果进行光照计算,而后触发后续动画绘制,以得到目标动画。
其中,目标处理,可以例如为光栅化处理、片元着色处理、光照计算,以及动画绘制,对此不做限制。
本实施例中,当将该动画生成方法应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。通过根据动画渲染数据渲染第一对象模型中的第二对象的目标位置数据,得到所渲染的对象模型,对所渲染的对象模型进行目标处理,得到目标动画,能够有效提升动画生成效率和动画生成效果。
图7是本公开一实施例提出的动画生成装置的结构示意图。
如图7所示,该动画生成装置70,包括:
获取模块701,用于获取第一对象模型的顶点颜色数据和运动数据;
第一确定模块702,用于确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到;
第二确定模块703,用于根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据;
生成模块704,用于根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画。
在本公开的一些实施例中,如图8所示,图8是本公开另一实施例提出的动画生成装置的结构示意图,第二确定模块703,包括:
第一确定子模块7031,用于根据顶点颜色数据和目标位置数据,确定第二对象的运动衰减因子;
第二确定子模块7032,用于根据运动数据,确定第二对象的风向偏移数据;
第三确定子模块7033,用于根据运动数据,确定第二对象的跟随偏移数据;
第四确定子模块7034,用于根据运动衰减因子、模拟播风数据,以及跟随运动数据确定第二对象的动画渲染数据。
在本公开的一些实施例中,如图8所示,第二确定子模块7032,具体用于:
确定动画的累计播放时长;
根据运动数据,确定第二对象的模拟风数据;
根据累计播放时长、运动数据,以及模拟风数据确定第二对象的风向偏移数据。
在本公开的一些实施例中,如图8所示,模拟风数据包括以下多项:
模拟风的波长;
模拟风的波速;
模拟风的风向。
在本公开的一些实施例中,如图8所示,第三确定子模块7033,具体用于:
确定第一对象模型的运动变换矩阵,其中,运动变换矩阵中矩阵元素描述第一对象模型中相应位置点的当前位置变化量;
确定第一对象模型的参考变换矩阵,其中,参考变换矩阵中矩阵元素描述第一对象模型中相应位置点的历史位置变化量;
根据运动数据、运动变换矩阵,以及参考变换矩阵确定第二对象的跟随偏移数据。
在本公开的一些实施例中,如图8所示,第二对象包括:参考点,其中,第一确定模块702,具体用于:
获取第二对象相对于第一对象模型的初始位置数据;
将初始位置数据映射至位置坐标系中,以得到待处理位置数据;
根据待处理位置数据,确定参考点的参考位置数据;
根据参考位置数据对待处理位置数据进行调整处理,得到目标位置数据。
在本公开的一些实施例中,如图8所示,第一确定子模块7031,具体用于:
确定目标位置数据基于空间坐标系中目标坐标轴的初始衰减因子;
根据顶点颜色数据和初始衰减因子,确定运动衰减因子。
在本公开的一些实施例中,如图8所示,第四确定子模块7034,具体用于:
根据运动衰减因子、模拟播风数据,以及跟随运动数据确定与网格位置数据对应的位置调整数据,其中,网格位置数据是第二对象在模型网格中的位置数据,模型网格是与第一对象模型对应的网格;
将位置调整数据作为动画渲染数据。
在本公开的一些实施例中,如图8所示,生成模块704,包括:
渲染子模块7041,用于根据动画渲染数据渲染第一对象模型中的第二对象,得到所渲染的对象模型;
处理子模块7042,用于对所渲染的对象模型进行目标处理,得到目标动画。
与上述图1至图6实施例提供的动画生成方法相对应,本公开还提供一种动画生成装置,由于本公开实施例提供的动画生成装置与上述图1至图6实施例提供的动画生成方法相对应,因此在动画生成方法的实施方式也适用于本公开实施例提供的动画生成装置,在本公开实施例中不再详细描述。
本实施例中,通过获取第一对象模型的顶点颜色数据和运动数据,并确定第一对象模型中第二对象的目标位置数据,其中,第二对象属于第一对象,第一对象模型是对第一对象建模得到,根据顶点颜色数据、运动数据,以及目标位置数据确定第二对象的动画渲染数据,以及根据动画渲染数据渲染第一对象模型中的第二对象,以生成与第一对象模型对应的目标动画,当将该动画生成装置应用于发丝渲染中,能够有效提升发丝渲染效果,降低发丝渲染的计算量,有效提升发丝渲染的效率和发丝渲染性能。
为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述实施例提出的动画生成方法。
为了实现上述实施例,本公开还提出一种终端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本公开前述实施例提出的动画生成方法。
为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的动画生成方法。
图9示出了适于用来实现本公开实施方式的示例性终端设备的框图。图9显示的终端设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,终端设备12以通用计算设备的形式表现。终端设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture;以下简称:ISA)总线,微通道体系结构(MicroChannel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(VideoElectronics Standards Association;以下简称:VESA)局域总线以及外围组件互连(Peripheral Component Interconnection;以下简称:PCI)总线。
终端设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。终端设备12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。
尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
终端设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端设备12交互的设备通信,和/或与使得该终端设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端设备12的其他模块通信。应当明白,尽管图中未示出,可以结合终端设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的动画生成方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (20)
1.一种动画生成方法,其特征在于,包括:
获取第一对象模型的顶点颜色数据和运动数据;
确定所述第一对象模型中第二对象的目标位置数据,其中,所述第二对象属于第一对象,所述第一对象模型是对所述第一对象建模得到;
根据所述顶点颜色数据、所述运动数据,以及所述目标位置数据确定所述第二对象的动画渲染数据;
根据所述动画渲染数据渲染所述第一对象模型中的所述第二对象,以生成与所述第一对象模型对应的目标动画。
2.如权利要求1所述的方法,其特征在于,所述根据所述顶点颜色数据、所述运动数据,以及所述目标位置数据确定所述第二对象的动画渲染数据,包括:
根据所述顶点颜色数据和所述目标位置数据,确定所述第二对象的运动衰减因子;
根据所述运动数据,确定所述第二对象的风向偏移数据;
根据所述运动数据,确定所述第二对象的跟随偏移数据;
根据所述运动衰减因子、所述模拟播风数据,以及所述跟随运动数据确定所述第二对象的动画渲染数据。
3.如权利要求2所述的方法,其特征在于,所述根据所述运动数据,确定所述第二对象的风向偏移数据,包括:
确定动画的累计播放时长;
根据所述运动数据,确定所述第二对象的模拟风数据;
根据所述累计播放时长、所述运动数据,以及所述模拟风数据确定所述第二对象的风向偏移数据。
4.如权利要求3所述的方法,其特征在于,所述模拟风数据包括以下多项:
模拟风的波长;
模拟风的波速;
模拟风的风向。
5.如权利要求2所述的方法,其特征在于,所述根据所述运动数据,确定所述第二对象的跟随偏移数据,包括:
确定所述第一对象模型的运动变换矩阵,其中,所述运动变换矩阵中矩阵元素描述所述第一对象模型中相应位置点的当前位置变化量;
确定所述第一对象模型的参考变换矩阵,其中,所述参考变换矩阵中矩阵元素描述所述第一对象模型中相应位置点的历史位置变化量;
根据所述运动数据、所述运动变换矩阵,以及所述参考变换矩阵确定所述第二对象的跟随偏移数据。
6.如权利要求1所述的方法,其特征在于,所述第二对象包括:参考点,其中,所述确定所述第一对象模型中第二对象的目标位置数据,包括:
获取所述第二对象相对于所述第一对象模型的初始位置数据;
将所述初始位置数据映射至位置坐标系中,以得到待处理位置数据;
根据所述待处理位置数据,确定所述参考点的参考位置数据;
根据所述参考位置数据对所述待处理位置数据进行调整处理,得到所述目标位置数据。
7.如权利要求2所述的方法,其特征在于,所述根据所述顶点颜色数据和所述目标位置数据,确定所述第二对象的运动衰减因子,包括:
确定所述目标位置数据基于空间坐标系中目标坐标轴的初始衰减因子;
根据所述顶点颜色数据和所述初始衰减因子,确定所述运动衰减因子。
8.如权利要求2所述的方法,其特征在于,所述根据所述运动衰减因子、所述模拟播风数据,以及所述跟随运动数据确定所述第二对象的动画渲染数据,包括:
根据所述运动衰减因子、所述模拟播风数据,以及所述跟随运动数据确定与网格位置数据对应的位置调整数据,其中,所述网格位置数据是第二对象在模型网格中的位置数据,所述模型网格是与第一对象模型对应的网格;
将所述位置调整数据作为所述动画渲染数据。
9.如权利要求1-8任一项所述的方法,其特征在于,所述根据所述动画渲染数据渲染所述第一对象模型中的所述第二对象,以生成与所述第一对象模型对应的目标动画,包括:
根据所述动画渲染数据渲染所述第一对象模型中的所述第二对象,得到所渲染的对象模型;
对所述所渲染的对象模型进行目标处理,得到所述目标动画。
10.一种动画生成装置,其特征在于,包括:
获取模块,用于获取第一对象模型的顶点颜色数据和运动数据;
第一确定模块,用于确定所述第一对象模型中第二对象的目标位置数据,其中,所述第二对象属于第一对象,所述第一对象模型是对所述第一对象建模得到;
第二确定模块,用于根据所述顶点颜色数据、所述运动数据,以及所述目标位置数据确定所述第二对象的动画渲染数据;
生成模块,用于根据所述动画渲染数据渲染所述第一对象模型中的所述第二对象,以生成与所述第一对象模型对应的目标动画。
11.如权利要求10所述的装置,其特征在于,所述第二确定模块,包括:
第一确定子模块,用于根据所述顶点颜色数据和所述目标位置数据,确定所述第二对象的运动衰减因子;
第二确定子模块,用于根据所述运动数据,确定所述第二对象的风向偏移数据;
第三确定子模块,用于根据所述运动数据,确定所述第二对象的跟随偏移数据;
第四确定子模块,用于根据所述运动衰减因子、所述模拟播风数据,以及所述跟随运动数据确定所述第二对象的动画渲染数据。
12.如权利要求11所述的装置,其特征在于,所述第二确定子模块,具体用于:
确定动画的累计播放时长;
根据所述运动数据,确定所述第二对象的模拟风数据;
根据所述累计播放时长、所述运动数据,以及所述模拟风数据确定所述第二对象的风向偏移数据。
13.如权利要求12所述的装置,其特征在于,所述模拟风数据包括以下多项:
模拟风的波长;
模拟风的波速;
模拟风的风向。
14.如权利要求11所述的装置,其特征在于,所述第三确定子模块,具体用于:
确定所述第一对象模型的运动变换矩阵,其中,所述运动变换矩阵中矩阵元素描述所述第一对象模型中相应位置点的当前位置变化量;
确定所述第一对象模型的参考变换矩阵,其中,所述参考变换矩阵中矩阵元素描述所述第一对象模型中相应位置点的历史位置变化量;
根据所述运动数据、所述运动变换矩阵,以及所述参考变换矩阵确定所述第二对象的跟随偏移数据。
15.如权利要求10所述的装置,其特征在于,所述第二对象包括:参考点,其中,所述第一确定模块,具体用于:
获取所述第二对象相对于所述第一对象模型的初始位置数据;
将所述初始位置数据映射至位置坐标系中,以得到待处理位置数据;
根据所述待处理位置数据,确定所述参考点的参考位置数据;
根据所述参考位置数据对所述待处理位置数据进行调整处理,得到所述目标位置数据。
16.如权利要求11所述的装置,其特征在于,所述第一确定子模块,具体用于:
确定所述目标位置数据基于空间坐标系中目标坐标轴的初始衰减因子;
根据所述顶点颜色数据和所述初始衰减因子,确定所述运动衰减因子。
17.如权利要求11所述的装置,其特征在于,所述第四确定子模块,具体用于:
根据所述运动衰减因子、所述模拟播风数据,以及所述跟随运动数据确定与网格位置数据对应的位置调整数据,其中,所述网格位置数据是第二对象在模型网格中的位置数据,所述模型网格是与第一对象模型对应的网格;
将所述位置调整数据作为所述动画渲染数据。
18.如权利要求10-17任一项所述的装置,其特征在于,所述生成模块,包括:
渲染子模块,用于根据所述动画渲染数据渲染所述第一对象模型中的所述第二对象,得到所渲染的对象模型;
处理子模块,用于对所述所渲染的对象模型进行目标处理,得到所述目标动画。
19.一种终端设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的动画生成方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的动画生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211152507.XA CN115601478A (zh) | 2022-09-21 | 2022-09-21 | 动画生成方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211152507.XA CN115601478A (zh) | 2022-09-21 | 2022-09-21 | 动画生成方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115601478A true CN115601478A (zh) | 2023-01-13 |
Family
ID=84845524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211152507.XA Pending CN115601478A (zh) | 2022-09-21 | 2022-09-21 | 动画生成方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115601478A (zh) |
-
2022
- 2022-09-21 CN CN202211152507.XA patent/CN115601478A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10685152B2 (en) | Systems and methods for fast simulation and visualization of sparse fluids | |
CN112652044B (zh) | 粒子特效渲染方法、装置、设备及存储介质 | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
US7859538B2 (en) | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine | |
CN109448137B (zh) | 交互方法、交互装置、电子设备及存储介质 | |
CN104200506A (zh) | 三维gis海量矢量数据渲染方法及装置 | |
CN110163945B (zh) | 一种实时渲染中的水面仿真方法 | |
CN116977522A (zh) | 三维模型的渲染方法、装置、计算机设备和存储介质 | |
WO2023160054A1 (zh) | 一种图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN111773688B (zh) | 柔性对象的渲染方法和装置、存储介质、电子装置 | |
CN114998490B (zh) | 一种虚拟对象生成方法、装置、设备及存储介质 | |
US20080129738A1 (en) | Method and apparatus for rendering efficient real-time wrinkled skin in character animation | |
JP2000242811A (ja) | 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体 | |
CN109448123B (zh) | 模型的控制方法及装置、存储介质、电子设备 | |
CN116228951B (zh) | 一种数字虚拟对象的表情数据处理方法和装置 | |
JP2009020874A (ja) | 髪シミュレーション方法およびその装置 | |
CN115601478A (zh) | 动画生成方法、装置、终端设备及存储介质 | |
CN115970275A (zh) | 虚拟对象的投影处理方法、装置、存储介质与电子设备 | |
CN113838170A (zh) | 目标虚拟对象的处理方法、装置、存储介质和电子装置 | |
US20220008826A1 (en) | Strand Simulation in Multiple Levels | |
US10878610B1 (en) | Generating an animation feature from line deformations | |
US10636210B2 (en) | Dynamic contour volume deformation | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
CN116152405B (zh) | 一种业务处理方法、装置及计算机设备、存储介质 | |
Galea et al. | Gpu-based selective sparse sampling for interactive high-fidelity rendering |
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 |