CN111798545A - 骨骼动画的播放方法、装置、电子设备和可读存储介质 - Google Patents
骨骼动画的播放方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111798545A CN111798545A CN201911072135.8A CN201911072135A CN111798545A CN 111798545 A CN111798545 A CN 111798545A CN 201911072135 A CN201911072135 A CN 201911072135A CN 111798545 A CN111798545 A CN 111798545A
- Authority
- CN
- China
- Prior art keywords
- animation
- frame
- playing
- animation data
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000009877 rendering Methods 0.000 claims abstract description 37
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 5
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种骨骼动画的播放方法、装置、电子设备和可读存储介质,涉及图形处理技术领域。该骨骼动画的播放方法包括:接收到针对骨骼动画中目标帧动画的播放指令,生成针对所述目标帧动画的动画数据的渲染指令;根据所述渲染指令,通过GPU从预设的数据库中获取与所述目标帧动画对应的动画数据,并对所述动画数据进行渲染,生成所述目标帧动画以进行播放;其中,所述数据库中预存有与多帧动画分别对应的动画数据。本申请实施例可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
Description
技术领域
本申请涉及图形处理技术领域,具体而言,本申请涉及一种骨骼动画的播放方法、装置、电子设备和可读存储介质。
背景技术
骨骼动画是模型动画中的一种,当前有两种模型动画的方式:顶点动画和骨骼动画。在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。在骨骼动画中,动画师画出动作关键帧,然后对关键帧进行插值,得到关键帧之间的插值动画。
通常在播放骨骼动画时,是CPU(Central Processing Unit,中央处理器)实时对关键帧进行插值计算,生成骨骼动画数据,再将骨骼动画数据发送给GPU(GraphicsProcessing Unit,图形处理器),GPU对骨骼动画数据渲染生成插值动画进行播放,但由于CPU的计算量较大,容易造成播放不流畅的情况。
申请内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是访问描述信息的效率低下的技术缺陷。
第一方面,提供了一种骨骼动画的播放方法,该方法包括:
接收到针对骨骼动画中目标帧动画的播放指令,生成针对目标帧动画的动画数据的渲染指令;
根据渲染指令,通过GPU从预设的数据库中获取与目标帧动画对应的动画数据,并对动画数据进行渲染,生成目标帧动画以进行播放;
其中,数据库中预存有与多帧动画分别对应的动画数据。
在第一方面的可选实施例中,接收到针对骨骼动画中目标帧动画的播放指令之前,还包括:
获取至少两帧关键帧动画,基于预设的插值算法计算所获取的关键帧动画之间的预设帧数的动画数据,并将动画数据存储至数据库中。
在第一方面的可选实施例中,动画数据包括关键帧动画的第一动画数据;
接收到针对骨骼动画中目标帧动画的播放指令之前,还包括:
获取至少两帧关键帧动画的第一动画数据,将第一动画数据存储至数据库中。
在第一方面的可选实施例中,动画数据还包括插值帧动画的第二动画数据;
接收到针对骨骼动画中目标帧动画的播放指令之前,还包括:
基于预设的插值算法和第一动画数据,计算预设帧数的所述插值帧动画的第二动画数据;所述插值帧动画设置于所获取的所述关键帧动画之间;将第二动画数据存储至数据库中。
在第一方面的可选实施例中,基于预设帧数的所述插值帧动画的第二动画数据之前,还包括:
获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于总播放帧数和第一帧数计算预设帧数。
在第一方面的可选实施例中,将第二动画数据存储至数据库中,包括:
获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于总播放帧数和第一帧数计算待播放的插值帧动画的第二帧数;
从预设帧数的第二动画数据中选取第二帧数的第二动画数据,将选取的第二帧数的第二动画数据存储至数据库中。
第二方面,提供了一种骨骼动画的播放装置,该装置包括:
接收模块,用于接收到针对骨骼动画中目标帧动画的播放指令,生成针对目标帧动画的动画数据的渲染指令;
渲染模块,用于根据渲染指令,通过GPU从预设的数据库中获取与目标帧动画对应的动画数据,并对动画数据进行渲染,生成目标帧动画以进行播放;
其中,数据库中预存有与多帧动画分别对应的动画数据。
在第二方面的可选实施例中,动画数据包括关键帧动画的第一动画数据;骨骼动画的播放装置还包括:
第一存储模块,用于获取至少两帧关键帧动画的第一动画数据,将第一动画数据存储至数据库中。
在第二方面的可选实施例中,动画数据还包括插值帧动画的第二动画数据;
骨骼动画的播放装置还包括:
第二存储模块,用于基于预设的插值算法和第一动画数据,计算预设帧数的所述插值帧动画的第二动画数据;所述插值帧动画设置于所获取的所述关键帧动画之间;将第二动画数据存储至数据库中。
在第二方面的可选实施例中,该装置还包括帧数确定模块,用于:
获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于总播放帧数和第一帧数计算预设帧数。
在第二方面的可选实施例中,第二存储模块在将第二动画数据存储至数据库中时,具体用于:
获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于总播放帧数和第一帧数计算待播放的插值帧动画的第二帧数;
从预设帧数的第二动画数据中选取第二帧数的第二动画数据,将选取的第二帧数的第二动画数据存储至数据库中。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行实现本申请第一方面所示的骨骼动画的播放方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现本申请第一方面所示的骨骼动画的播放方法。
本申请提供的技术方案带来的有益效果是:
在本公开实施例的方案中,通过在数据库中预存与多帧动画分别对应的动画数据,当接收到针对骨骼动画中目标帧动画的播放指令时,不需要再进行插值动画的计算,而是直接通过GPU从数据库中获取与所述目标帧动画对应的动画数据,并对所述动画数据进行渲染,生成所述目标帧动画以进行播放,可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种骨骼动画的播放方法的应用环境图;
图2为本申请实施例提供的一种骨骼动画的播放方法的流程示意图;
图3为本申请实施例提供的一种骨骼动画的播放方法的流程示意图;
图4为本申请实施例提供的示例中的骨骼动画的播放方法的时序图;
图5为本申请实施例提供的一种骨骼动画的播放装置的结构示意图;
图6为本申请实施例提供的一种描述信息的播放装置的结构示意图;
图7为本申请实施例提供的一种骨骼动画的播放的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的骨骼动画的播放方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请提供的感兴趣区域的检测方法,可以应用于如图1所示的应用环境中。具体的,终端10中设置有数据库101,CPU获取与多帧动画分别对应的动画数据,并存储于数据库101中,当终端10的CPU接收到针对骨骼动画中目标帧动画的播放指令,生成针对目标帧动画的动画数据的渲染指令,将渲染指令发送到GPU;GPU从预设的数据库101中获取与目标帧动画对应的动画数据,并对动画数据进行渲染,生成目标帧动画,将目标帧动画发送到显示屏102进行播放。
本技术领域技术人员可以理解,这里所使用的“终端”可以是手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile Internet Device,移动互联网设备)等。
本申请实施例中提供了一种可能的实现方式,如图2所示,提供了一种骨骼动画的播放方法,以该方法应用于图1中的终端为例进行说明,可以包括以下步骤:
步骤S201,接收到针对骨骼动画中目标帧动画的播放指令,生成针对目标帧动画的动画数据的渲染指令。
具体的,用户可以输入针对骨骼动画的播放指令,即生成依次对骨骼动画中每一帧动画的播放指令。
在具体实施过程中,可以通过CPU接收针对目标帧动画的播放指令,CPU将针对目标帧动画的动画数据的渲染指令发送到GPU,从而使GPU根据渲染指令执行渲染操作。
步骤S202,根据渲染指令,通过GPU从预设的数据库中获取与目标帧动画对应的动画数据,并对动画数据进行渲染,生成目标帧动画以进行播放。
具体的,数据库中可以预存有与多帧动画分别对应的动画数据,动画数据用于渲染生成骨骼动画。
具体的,数据库中预存有多帧动画的动画数据,多帧动画可以包括至少两帧关键帧动画,多帧动画还可以包括关键帧动画之间的插值帧动画,从数据库中获取目标帧动画,即从关键帧动画或插值帧动画中选取目标帧动画。
在具体实施过程中,可以在接收到播放指令之前,可以预先设置关键帧动画之间的插值帧动画的预设帧数。
例如,骨骼动画中有2帧关键帧动画,设置在这2帧关键帧动画中插入10帧的插值帧动画,则CPU可以预先计算2帧关键帧动画之间的10帧插值帧动画的动画数据,将计算得到的动画数据预存入数据库中,目标帧动画可以从2帧关键帧动画中获取,也可以从10帧插值帧动画中获取。
上述实施例中,通过在数据库中预存与多帧动画分别对应的动画数据,当接收到针对骨骼动画中目标帧动画的播放指令时,不需要再进行插值动画的计算,而是直接通过GPU从数据库中获取与目标帧动画对应的动画数据,并对动画数据进行渲染,生成目标帧动画以进行播放,可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
本申请实施例中提供了一种可能的实现方式,动画数据包括关键帧动画的第一动画数据;步骤S201的接收到针对骨骼动画中目标帧动画的播放指令之前,还包括:
获取至少两帧关键帧动画的第一动画数据,将第一动画数据存储至数据库中。
具体的,关键帧动画的第一动画数据是由用户直接绘画得到的,数据库中可以预存有多个关键帧动画的第一动画数据,在播放骨骼动画时,直接从数据库中获取第一动画数据进行渲染以播放。
本申请实施例中提供了一种可能的实现方式,动画数据还包括插值帧动画的第二动画数据;如图3所示,步骤S201的接收到针对骨骼动画中目标帧动画的播放指令之前,还可以包括:
步骤S200,基于预设的插值算法和第一动画数据,计算预设帧数的所述插值帧动画的第二动画数据;所述插值帧动画设置于所获取的所述关键帧动画之间;将第二动画数据存储至数据库中。
具体的,每一帧骨骼动画中的每一块骨骼都有自己的局部变换,局部变换可以包括位置、旋转和缩放,所采用的数据结构可以包括向量或四元数;通常情况下,一般采用两个三维向量,如位移和缩放,以及一个四元数,如旋转。
在生成骨骼动画贴图的时候,即生成插值帧动画的第二动画数据时,需要将局部变换转换为世界变换,再与Inverse bindpose matrix(IBM,骨骼模型绑定姿势的逆变换矩阵)相乘,最终得到一帧骨骼动画贴图,即得到插值帧动画的第二动画数据。
在具体实施过程中,在接收到播放指令前,将关键帧动画的第一动画数据存储于贴图中,然后CPU预先计算出插值帧动画的第二动画数据预存于贴图中,在播放过程中无需CPU再实时进行插值计算,可以有效避免播放过程中由于插值计算而造成的播放不流畅。
本申请实施例中提供了一种可能的实现方式,步骤S200的基于预设的插值算法和第一动画数据,计算预设帧数的插值帧动画的第二动画数据之前,还可以包括:
(1)获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
(2)基于总播放帧数和第一帧数计算预设帧数。
在一种实施过程中,可以根据要播放的骨骼动画的总播放帧数和关键帧动画的第一帧数确定插值动画的预设帧数。
例如,要播放的骨骼动画的总播放帧数为50帧,已经获取关键帧动画的第一帧数为2帧,则需要在这2帧关键帧动画之间插值生成第2-49帧插值帧动画,即需要插值生成48帧插值帧动画。
本申请实施例中提供了一种可能的实现方式,步骤S200的将第二动画数据存储至数据库中,可以包括:
(1)获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
(2)基于总播放帧数和第一帧数计算待播放的插值帧动画的第二帧数;
(3)从预设帧数的第二动画数据中选取第二帧数的第二动画数据,将选取的第二帧数的第二动画数据存储至数据库中。
在另一种实施过程中,还可以直接设置一个预设帧数,生成预设帧数的插值帧动画的第二动画数据,然后获取需要播放的插值帧动画的第二帧数,从预设帧数的第二动画数据中选取第二帧数的第二帧数的第二动画数据进行渲染以播放。
可以理解的是,预设帧数不小于需要播放的第二帧数。
例如,可以预先生成48帧插值帧动画的第二动画数据,但总播放帧数为25帧,设置有2帧关键帧动画,则需要播放的插值帧动画的第二帧数为23帧,可以从48帧中选择23帧的第二动画数据,将选择的第二动画数据预存入贴图中,在播放时从贴图中选择第二动画数据进行渲染以播放。
为了更好地理解上述骨骼动画的播放方法,如图4所示,以下详细阐述一个本申请的骨骼动画的播放方法的示例:
步骤S401,CPU获取插值帧动画的预设帧数;
步骤S402,CPU基于预设的插值算法和关键帧动画的第一动画数据,计算预设帧数的插值帧动画的第二动画数据;
步骤S403,CPU将第一动画数据存储于贴图中;
步骤S404,CPU将第二动画数据存储于贴图中;
步骤S405,CPU接收到针对骨骼动画中目标帧动画的播放指令;
步骤S406,CPU生成针对目标帧动画的动画数据的渲染指令;
步骤S407,CPU将渲染指令发送到GPU;
步骤S408,GPU从贴图中获取与目标帧动画对应的动画数据;
步骤S409,GPU对动画数据进行渲染,生成目标帧动画以进行播放。
可以理解的是,上述步骤并不是必然按照标号的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。
上述示例中,CPU根据插值帧动画的预设帧数,生成关键帧动画的第一动画数据之间的预设帧数的插值帧动画的第二数据,并将关键帧动画的第一动画数据和插值帧动画的第二动画数据存储于贴图中,当接收到播放指令时,CPU发送渲染指令到GPU,GPU响应于渲染指令从贴图中获取目标帧动画的动画数据,进行渲染以播放,可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
本申请实施例提供了一种骨骼动画的播放装置,如图5所示,该骨骼动画的播放装置50可以包括接收模块501和渲染模块502,其中:
接收模块501,用于接收到针对骨骼动画中目标帧动画的播放指令,生成针对目标帧动画的动画数据的渲染指令;
渲染模块502,用于根据渲染指令,通过GPU从预设的数据库中获取与目标帧动画对应的动画数据,并对动画数据进行渲染,生成目标帧动画以进行播放;
其中,数据库中预存有与多帧动画分别对应的动画数据。
本申请实施例中提供了一种可能的实现方式,如图6所示,动画数据包括关键帧动画的第一动画数据;骨骼动画的播放装置50还包括:
第一存储模块500a,用于获取至少两帧关键帧动画的第一动画数据,将第一动画数据存储至数据库中。
在第二方面的可选实施例中,动画数据还包括插值帧动画的第二动画数据;
骨骼动画的播放装置50还包括:
第二存储模块500b,用于基于预设的插值算法和第一动画数据,计算预设帧数的插值帧动画的第二动画数据;插值帧动画设置于所获取的关键帧动画之间;将第二动画数据存储至数据库中。
在第二方面的可选实施例中,骨骼动画的播放装置50还包括帧数确定模块,用于:
获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于总播放帧数和第一帧数计算预设帧数。
在第二方面的可选实施例中,第二存储模块502在将第二动画数据存储至数据库中时,具体用于:
获取骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于总播放帧数和第一帧数计算待播放的插值帧动画的第二帧数;
从预设帧数的第二动画数据中选取第二帧数的第二动画数据,将选取的第二帧数的第二动画数据存储至数据库中。
上述的骨骼动画的播放装置,通过在数据库中预存与多帧动画分别对应的动画数据,当接收到针对骨骼动画中目标帧动画的播放指令时,不需要再进行插值动画的计算,而是直接通过GPU从数据库中获取与所述目标帧动画对应的动画数据,并对所述动画数据进行渲染,生成所述目标帧动画以进行播放,可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
本公开实施例的图片的骨骼动画的播放装置可执行本公开的实施例所提供的一种图片的骨骼动画的播放方法,其实现原理相类似,本公开各实施例中的图片的骨骼动画的播放装置中的各模块所执行的动作是与本公开各实施例中的图片的骨骼动画的播放方法中的步骤相对应的,对于图片的骨骼动画的播放装置的各模块的详细功能描述具体可以参见前文中所示的对应的图片的骨骼动画的播放方法中的描述,此处不再赘述。
基于与本公开的实施例中所示的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的方法。与现有技术相比,本申请中的电子设备可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请提供的计算机可读存储介质可以避免出现播放时计算量过大而造成的卡帧,从而有效提高动画播放的流畅度。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收模块还可以被描述为“接收播放指令的模块”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种骨骼动画的播放方法,其特征在于,包括:
接收到针对骨骼动画中目标帧动画的播放指令,生成针对所述目标帧动画的动画数据渲染指令;
根据所述渲染指令,通过GPU从预设的数据库中获取与所述目标帧动画对应的所述动画数据,并对所述动画数据进行渲染,生成所述目标帧动画以进行播放;
其中,所述数据库中预存有与多帧动画分别对应的动画数据。
2.根据权利要求1所述的骨骼动画的播放方法,其特征在于,所述动画数据包括关键帧动画的第一动画数据;
所述接收到针对骨骼动画中目标帧动画的播放指令之前,还包括:
获取至少两帧关键帧动画的第一动画数据,将所述第一动画数据存储至所述数据库中。
3.根据权利要求2所述的骨骼动画的播放方法,其特征在于,所述动画数据还包括插值帧动画的第二动画数据;
所述接收到针对骨骼动画中目标帧动画的播放指令之前,还包括:
基于预设的插值算法和所述第一动画数据,计算预设帧数的所述插值帧动画的第二动画数据;所述插值帧动画设置于所获取的所述关键帧动画之间;将所述第二动画数据存储至所述数据库中。
4.根据权利要求3所述的骨骼动画的播放方法,其特征在于,所述基于预设的插值算法和所述第一动画数据,计算预设帧数的所述插值帧动画的第二动画数据之前,还包括:
获取所述骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于所述总播放帧数和所述第一帧数计算所述预设帧数。
5.根据权利要求3所述的骨骼动画的播放方法,其特征在于,所述将所述第二动画数据存储至所述数据库中,包括:
获取所述骨骼动画的总播放帧数,并确定关键帧动画的第一帧数;
基于所述总播放帧数和所述第一帧数计算待播放的插值帧动画的第二帧数;
从所述预设帧数的第二动画数据中选取所述第二帧数的第二动画数据,将选取的所述第二帧数的第二动画数据存储至所述数据库中。
6.一种骨骼动画的播放装置,其特征在于,包括:
接收模块,用于接收到针对骨骼动画中目标帧动画的播放指令,生成针对所述目标帧动画的动画数据的渲染指令;
渲染模块,用于根据所述渲染指令,通过GPU从预设的数据库中获取与所述目标帧动画对应的所述动画数据,并对所述动画数据进行渲染,生成所述目标帧动画以进行播放;
其中,所述数据库中预存有与多帧动画分别对应的动画数据。
7.根据权利要求6所述的骨骼动画的播放装置,其特征在于,所述动画数据包括关键帧动画的第一动画数据;所述骨骼动画的播放装置还包括:
第一存储模块,用于获取至少两帧关键帧动画的第一动画数据,将所述第一动画数据存储至所述数据库中。
8.根据权利要求7所述的骨骼动画的播放装置,其特征在于,所述动画数据还包括插值帧动画的第二动画数据;
所述骨骼动画的播放装置还包括:
第二存储模块,用于基于预设的插值算法和所述第一动画数据,计算预设帧数的所述插值帧动画的第二动画数据;所述插值帧动画设置于所获取的所述关键帧动画之间;将所述第二动画数据存储至所述数据库中。
9.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1-5任一项所述的骨骼动画的播放方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5任一项所述的骨骼动画的播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072135.8A CN111798545A (zh) | 2019-11-05 | 2019-11-05 | 骨骼动画的播放方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072135.8A CN111798545A (zh) | 2019-11-05 | 2019-11-05 | 骨骼动画的播放方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111798545A true CN111798545A (zh) | 2020-10-20 |
Family
ID=72805438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911072135.8A Pending CN111798545A (zh) | 2019-11-05 | 2019-11-05 | 骨骼动画的播放方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111798545A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112274933A (zh) * | 2020-10-29 | 2021-01-29 | 完美世界(重庆)互动科技有限公司 | 动画数据处理方法及装置、存储介质、计算机设备 |
CN112435313A (zh) * | 2020-11-10 | 2021-03-02 | 北京百度网讯科技有限公司 | 播放帧动画的方法、装置、电子设备及可读存储介质 |
CN112700519A (zh) * | 2020-12-30 | 2021-04-23 | 广州方硅信息技术有限公司 | 动画展示方法、装置、电子设备及计算机可读存储介质 |
CN112839184A (zh) * | 2020-12-31 | 2021-05-25 | 深圳追一科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113888682A (zh) * | 2021-09-10 | 2022-01-04 | 北京三快在线科技有限公司 | 一种动画播放方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011106928A1 (en) * | 2010-03-02 | 2011-09-09 | Nokia Corporation | Methods and apparatuses for facilitating skeletal animation |
CN103500461A (zh) * | 2013-09-18 | 2014-01-08 | 珠海金山网络游戏科技有限公司 | 一种减少实时插值计算量的动画生成方法 |
CN103617643A (zh) * | 2013-11-29 | 2014-03-05 | 广州菲动软件科技有限公司 | 骨骼动画的渲染方法和系统 |
CN108010112A (zh) * | 2017-11-28 | 2018-05-08 | 腾讯数码(天津)有限公司 | 动画处理方法、装置及存储介质 |
-
2019
- 2019-11-05 CN CN201911072135.8A patent/CN111798545A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011106928A1 (en) * | 2010-03-02 | 2011-09-09 | Nokia Corporation | Methods and apparatuses for facilitating skeletal animation |
CN103500461A (zh) * | 2013-09-18 | 2014-01-08 | 珠海金山网络游戏科技有限公司 | 一种减少实时插值计算量的动画生成方法 |
CN103617643A (zh) * | 2013-11-29 | 2014-03-05 | 广州菲动软件科技有限公司 | 骨骼动画的渲染方法和系统 |
CN108010112A (zh) * | 2017-11-28 | 2018-05-08 | 腾讯数码(天津)有限公司 | 动画处理方法、装置及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112274933A (zh) * | 2020-10-29 | 2021-01-29 | 完美世界(重庆)互动科技有限公司 | 动画数据处理方法及装置、存储介质、计算机设备 |
CN112274933B (zh) * | 2020-10-29 | 2024-02-27 | 完美世界(重庆)互动科技有限公司 | 动画数据处理方法及装置、存储介质、计算机设备 |
CN112435313A (zh) * | 2020-11-10 | 2021-03-02 | 北京百度网讯科技有限公司 | 播放帧动画的方法、装置、电子设备及可读存储介质 |
CN112700519A (zh) * | 2020-12-30 | 2021-04-23 | 广州方硅信息技术有限公司 | 动画展示方法、装置、电子设备及计算机可读存储介质 |
CN112839184A (zh) * | 2020-12-31 | 2021-05-25 | 深圳追一科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112839184B (zh) * | 2020-12-31 | 2022-02-01 | 深圳追一科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113888682A (zh) * | 2021-09-10 | 2022-01-04 | 北京三快在线科技有限公司 | 一种动画播放方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111798545A (zh) | 骨骼动画的播放方法、装置、电子设备和可读存储介质 | |
US8619083B2 (en) | Multi-layer image composition with intermediate blending resolutions | |
CN110413812B (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN111325704B (zh) | 图像修复方法、装置、电子设备及计算机可读存储介质 | |
CN109754464B (zh) | 用于生成信息的方法和装置 | |
US8213512B2 (en) | Determining an intermediate image | |
CN111862352A (zh) | 定位模型优化方法、定位方法和定位设备 | |
CN110555798A (zh) | 图像变形方法、装置、电子设备及计算机可读存储介质 | |
CN111127603B (zh) | 动画生成方法、装置、电子设备及计算机可读存储介质 | |
CN114234984B (zh) | 基于差分矩阵的室内定位轨迹平滑方法、系统及设备 | |
CN111966473B (zh) | 一种线性回归任务的运行方法及装置、电子设备 | |
TW202219822A (zh) | 字元檢測方法、電子設備及電腦可讀儲存介質 | |
CN112700519A (zh) | 动画展示方法、装置、电子设备及计算机可读存储介质 | |
CN114067030A (zh) | 动态流体效果处理方法、装置、电子设备和可读介质 | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
CN110069195B (zh) | 图像拖拽变形方法和装置 | |
CN110619615A (zh) | 用于处理图像方法和装置 | |
CN114419298A (zh) | 虚拟物体的生成方法、装置、设备及存储介质 | |
CN110070479B (zh) | 图像变形拖拽点定位方法和装置 | |
CN113808238A (zh) | 动画的渲染方法、装置、可读介质和电子设备 | |
CN113706385A (zh) | 一种视频超分辨率方法、装置、电子设备及存储介质 | |
CN112348928A (zh) | 动画合成方法、动画合成装置、电子设备及介质 | |
CN109600558B (zh) | 用于生成信息的方法和装置 | |
CN111815749A (zh) | 粒子计算方法、装置、电子设备及计算机可读存储介质 | |
CN112837424B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |