CN104599306B - 一种生成循环动画的方法 - Google Patents
一种生成循环动画的方法 Download PDFInfo
- Publication number
- CN104599306B CN104599306B CN201510008662.8A CN201510008662A CN104599306B CN 104599306 B CN104599306 B CN 104599306B CN 201510008662 A CN201510008662 A CN 201510008662A CN 104599306 B CN104599306 B CN 104599306B
- Authority
- CN
- China
- Prior art keywords
- animation
- segment
- frame
- unit
- weight
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2213/00—Indexing scheme for animation
- G06T2213/12—Rule based animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种生成循环动画的方法,方法包括模拟生成一段动画D;从动画D中取两段长度相同的第一段动画、第二段动画;其中第一段动画的结尾帧必须与第二段动画的起始帧相同;为第一段动画设置权重W;为第二段动画设置权重W`,W和W`使用不同的计算方式得到;第一段动画和第二段动画按照每帧对应的权重值进行融合;以及去掉最后一帧。本发明有益效果在于可以在游戏中实现更加逼真的效果,提高游戏的真实感。将物理学和流体的动画效果引入到游戏中;优点在于在生成动画时,可以使用已有的各种物理学运算技术,可以使用已有的各种流体运算技术和渲染技术;可以使用已有的动态融合技术来生成循环动画,不破坏原始动画的效果。
Description
技术领域
本发明涉及一种动画处理方法,尤其涉及一种生成循环动画的方法。
背景技术
在游戏动画领域中,通常是通过插件调整顶点动画或者通过辅助软件调整序列帧动画生成循环动画的方法。对于顶点动画,使用抽帧和修复技术让动画循环,一般将动画的起始帧复制到动画的结束位置,对动画结束之前的最后几帧进行修改。这种方法需要手动调整单帧的动画细节,让动画播放起来是循环的,这样的制作方式效率较低。而对于序列帧动画,使用半透明混合技术让动画循环,一般将三维动画输出为二维动画序列帧,在生成序列帧后,通过半透明混合,得到新的动画。这种方法在生成动画后进行后期处理,将动画正序和倒序进行淡入和淡出混合,得到的混合效果较差。
原有的技术都会破坏原始动画来得到新的动画。
因此,需要一种技术,可以在不破坏原始动画的基础上,获得循环动画。
发明内容
为了克服现有技术中的上述缺陷,本发明提出一种生成循环动画的方法,该方法包括步骤:
11)模拟得到一段动画D,该动画的单位数量为N;
12)从动画D中取两段时间长度相同的动画,第一段动画和第二段动画;其中第一段动画的结尾帧必须与第二段动画的起始帧相同;
13)为第一段动画设置权重W,为第二段动画设置权重W`,其中W和W`分别为数组,数组长度为N,其中数组中的元素对应动画中的每个单位的权重值;每个单位的权重值在第一段动画的起始帧均为0,在结尾帧均为1;每个单位的权重值在第二段动画的起始帧均为1,在结尾帧均为0;在第一段动画和第二段动画对应的其他中间帧,权重不受限制,根据生成循环动画的整体效果进行设计;
14)第一段动画和第二段动画按照每帧对应的权重值进行融合;
15)去掉最后一帧。
这里需要说明一点:动画的单位,是指动画可划分的最小单元。以顶点动画为例,每个动画单位是指该顶点动画的每个顶点,而对于序列帧动画,每个动画单元则表示该序列帧动画的每个像素点。因此,单位数量是指对于每一帧,单位的数量;而时间的长度则表示帧数或其等同概念。
进一步,所述动画D的长度为Y,其中Y≧2X+1帧,X为欲生成的循环动画的长度;从动画D中取从第Z帧开始,到第Z+X帧的动画片段,得到第一段动画,其中Z≦Y-2X;从动画D中取第Z+X帧开始,到第Z+2X的动画片段,得到第二段动画。
进一步,所述动画D可以为两种类型,顶点动画和序列帧动画,两种类型的动画融合方法的原理相同。其中,顶点动画的融合方法是对每个顶点在第一段动画的位置和第二段动画的位置进行融合;序列帧动画的融合方法是对每个像素在第一段动画的颜色和第二段动画的颜色进行融合。
进一步地,所述权重W和W`的变化过程可以是线性的,也可以是其他合理形式的动态变化。由于W和W`分别为数组,因此这里的线性变化表示W和W`中的每个元素随着动画的帧数而线性变化。
在第一段动画和第二段动画的起始帧和结尾帧,每个单位的权重都为0或1;在第一段动画和第二段动画的每个中间帧中,每个单位的权重可以相同也可以不同。
优选地,步骤13)进一步包括:
61)正整数I表示每个单位的索引号,其中1≦I≦N;数组W和W`的长度为N;
62)G和G`为数组,数组中的元素对应每个单位的权重在每一帧的计算函数,数组的长度为N;
其中,第一段动画中第I个单位的权重值由W[I]记录,第二段动画中第I个单位的权重值由W`[I]记录;W[I]从0到1的变化过程使用函数G[I]计算得到;则第I个单位在第1帧的权重为G[I](1)=0,第M帧的权重为G[I](M),第X帧的权重为G[I](X)=1;W`[I]从0到1的变化过程使用函数G`[I]计算得到;则第I个单位在第1帧的权重为G`[I](1)=1,第M帧的权重为G`[I](M),第X帧的权重为G`[I](X)=0。
本发明的有益效果在于,可以在游戏中实现更加逼真的效果,提高游戏的真实感。本发明将顶点动画和序列帧动画生成循环动画并引入到游戏中;优点在于在生成动画时,可以使用已有的各种物理学运算技术,在生成序列帧动画时,可以使用已有的各种流体运算及渲染技术;以动态的融合过程来生成循环动画,可以使用已有的各种融合算法来设计权重计算函数;生成的循环动画不破坏原始动画的效果。
附图说明
下面结合附图,对本发明的具体实施方式进行更详细的说明,其中
图1所示为根据本发明一实施例,生成每帧所有的单位的权重一致的循环动画流程图;
图2所示为根据本发明一实施例,生成每帧所有的单位的权重不一致的循环动画流程图。
具体实施方式
实施例1:
如图1所示,该实施例目的在于获得一段长度为X帧的循环动画。首先,模拟生成一段动画D,其中动画的长度为Y,其中Y≧2X+1帧;然后,从动画D中取从第Z帧开始,到第Z+X帧的动画片段,得到第一段动画,长度为X+1;从动画D中取第Z+X帧开始,到第Z+2X的动画片段,得到第二段动画,长度为X+1。
然后,为第一段动画设置权重W,为第二段动画设置权重W`,第一段动画和第二段动画的第M帧的权重值W和W`分别由F(M)和F`(M)计算得到,其中1≦M≦X+1。例如,在一特定实施例中,Y=300,X=100,Z=90,F(M)=(M-1)/100,F`(M)=(101-M)/100;则第一段动画从90到开始,到190结束,长度为101;第二段动画从190开始,到290结束,长度为101;第一段动画的第1帧的权重值为0,第M帧的权重值为(M-1)/100,第101帧的权重为1;第二段动画的第1帧的权重值为1,第M帧的权重值为(101-M)/100,第101帧的权重值为0。
然后,第一段动画和第二段动画按照每帧对应的权重值进行融合,对于顶点动画,设第一段动画第M帧的某顶点位置为[x1,y1,z1],该顶点在第二段动画第M帧的位置为[x2,y2,z2],则该顶点按照对应的权重值进行融合得到的位置为[x1*(M-1)/100+x2*(101-M)/100,y1*(M-1)/100+y2*(101-M)/100,z1*(M-1)/100+z2*(101-M)/100];对于序列帧动画,设第一段动画第M帧的某个像素颜色为[r1,g1,b1],该像素在第二段动画第M帧的颜色为[r2,g2,b2],则该像素按照对应的权重值进行融合得到的位置为[r1*(M-1)/100+r2*(101-M)/100,g1*(M-1)/100+g2*(101-M)/100,b1*(M-1)/100+b2*(101-M)/100]。计算完成后第1帧和第101帧的结果相同,去掉最后一帧,得到长度为100帧的循环动画,这样处理的目的在于保证动画连续的视觉效果。
在本实施例中,对于第一段动画/第二段动画的每一帧,各个单位的权重值都是一致的。
实施例2:
如图2所示,该实施例目的在于获得一段长度为X帧的旗帜动画。首先,使用物理学布料运算模拟生成一段顶点动画D,其中动画的长度为Y,其中Y≧2X+1帧;然后,从动画D中取从第Z帧开始,到第Z+X帧的动画片段,得到第一段动画,长度为X+1;从动画D中取第Z+X帧开始,到第Z+2X的动画片段,得到第二段动画,长度为X+1。然后,设模型的顶点列数为C,顶点所在的列数索引为I,其中1≦I≦C。然后为第一段动画的第I列顶点设置权重W[I],为第二段动画的第I列顶点设置权重W`[I],W和W`分别为第一段动画和第二段动画的顶点权重,第M帧的权重值W[I]和W`[I]分别由G[I](M)和G`[I](M)计算得到,G[I](M)=,G`[I](M)=,其中1≦M≦X+1。例如,在一特定实施例中,Y=101,X=50,Z=1,C=10,G[I](M)=,G`[I](M)=;则第一段动画从动画D的第1帧开始,到第51帧结束,长度为51;第二段动画从动画D的第51帧开始,到第101帧结束,长度为51;第一段动画的第1帧的权重值为0,第M帧的第I列的权重值为,第101帧的权重为1,第一段动画的51帧动画片段中,旗帜的顶点由第1列到第C列权重从0变化为1的速度越来越快;第二段动画的第1帧的权重值为1,第M帧的第I列的权重值为,第51帧的权重值为0,旗帜的顶点由第1列到第C列权重从1变化为0的速度越来越慢。
然后,第一段动画和第二段动画的每个顶点按照它在每一列每一帧对应的权重值进行融合,设第一段动画第I列的某个顶点在第M帧的位置为[x1,y1,z1],该顶点在第二段动画第M帧的位置为[x2,y2,z2],则该顶点按照对应的权重值进行融合得到的位置为[x1*+x2*,y1*+y2*,z1*+z2*]。计算完成后第1帧和第51帧的结果相同,去掉最后一帧,得到长度为50帧的循环动画。
特别说明一点:为描述方便,文中出现的所有数组的索引均从1开始;此外,实施例1仅为实施例2在所有动画单元的权重均一致的情况下的特例。
在上述实施例中,如果旗帜动画的前10帧由于某种原因,而不被采用,可以从第11帧开始取第一段动画,即11-56帧,第二段动画取56-101帧。在这种情况下,当对第一段动画与第二段动画进行融合时,第一段动画的权重W在11-56帧之间从0变化为1;第二段动画的权重W `在第二段动画的56-101之间从1变化为0,然后删除第56帧,得到一段可以循环的长度为45帧的动画。同理,如果布料动画的后10帧不能被采用,则可以从第1帧开始取第一段动画,即1-46帧,第二段动画取46-91帧。余下的流程与上述实施例等同。此外,也可以从1-101中间采用连续的两段同等长度的动画段(如10-37帧动画及37-64帧动画),得到不同长度的循环动画。
本实施例相较于上一实施例的好处在于,可以通过对权重使用更复杂的动态融合技术来实现多种不同的循环效果,比如模拟顶点的软选择的融合技术。为每个顶点分别加上不同的从0到1动态变化的权重,这样可以控制动画融合的最终效果。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式。只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。即使个别的技术特征在不同的权利要求中引用,本发明还可包含共有这些特征的实施例。
Claims (5)
1.一种生成循环动画的方法,其特征在于,方法包括步骤:
11)模拟得到一段动画D,该动画的单位数量为N,其中动画的单位是指动画可划分的最小单元,动画的单位数量是指每一帧所包含动画的单位的数量;
12)从动画D中取两段时间长度相同的动画,第一段动画和第二段动画;其中第一段动画的结尾帧与第二段动画的起始帧相同;
13)为第一段动画设置权重W,为第二段动画设置权重W',其中W和W'分别为数组,数组长度为N,其中数组中的元素对应动画中的每个单位的权重值;每个单位的权重值在第一段动画的起始帧均为0,在结尾帧均为1;每个单位的权重值在第二段动画的起始帧均为1,在结尾帧均为0;在第一段动画和第二段动画的每个中间帧中,每个单位的权重值相同或者不同;
14)第一段动画和第二段动画按照每帧对应的权重值进行融合;
15)去掉最后一帧。
2.根据权利要求1所述的方法,其特征在于,所述动画D的长度为Y,其中Y≥2X+1帧,X为欲生成的循环动画的长度;从动画D中取从第Z帧开始,到第Z+X帧的动画片段,得到第一段动画,其中Z≤Y-2X;从动画D中取第Z+X帧开始,到第Z+2X的动画片段,得到第二段动画。
3.根据权利要求1所述的方法,其特征在于,模拟得到的动画D有两种类型,顶点动画和序列帧动画;两种类型的动画融合方法的原理相同,即分别对顶点动画的顶点位置和序列帧动画的像素颜色进行融合。
4.根据权利要求1或3所述的方法,其特征在于,在第一段动画和第二段动画的融合过程中,动画的权重W和W'的变化过程是线性的。
5.根据权利要求1所述的方法,其特征在于,步骤13)包括:
61)正整数I表示每个单位的索引号,其中1≤I≤N;数组W和W'的长度为N;
62)G和G'为数组,数组中的元素对应每个单位的权重在每一帧的计算函数,数组的长度为N;
其中,第一段动画中第I个单位的权重值由W[I]记录,第二段动画中第I个单位的权重值由W'[I]记录;W[I]从0到1的变化过程使用函数G[I]计算得到;则第I个单位在第1帧的权重为G[I](1)=0,第M帧的权重为G[I](M),第X帧的权重为G[I](X)=1;W'[I]从0到1的变化过程使用函数G'[I]计算得到;则第I个单位在第1帧的权重为G'[I](1)=1,第M帧的权重为G'[I](M),第X帧的权重为G'[I](X)=0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510008662.8A CN104599306B (zh) | 2015-01-08 | 2015-01-08 | 一种生成循环动画的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510008662.8A CN104599306B (zh) | 2015-01-08 | 2015-01-08 | 一种生成循环动画的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104599306A CN104599306A (zh) | 2015-05-06 |
CN104599306B true CN104599306B (zh) | 2018-05-22 |
Family
ID=53125056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510008662.8A Active CN104599306B (zh) | 2015-01-08 | 2015-01-08 | 一种生成循环动画的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104599306B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112825197B (zh) * | 2019-11-20 | 2023-09-15 | 福建天晴数码有限公司 | Unity中群集动画快速渲染的方法、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287093A (en) * | 1990-06-11 | 1994-02-15 | Matsushita Electric Industrial Co., Ltd. | Image processor for producing cross-faded image from first and second image data |
JP2001266548A (ja) * | 2000-03-24 | 2001-09-28 | Toshiba Corp | 映像音声データ記録管理方法 |
CN1681000A (zh) * | 2004-04-05 | 2005-10-12 | 精工爱普生株式会社 | 动态叠像渐变方法和设备 |
CN1949269A (zh) * | 2006-11-10 | 2007-04-18 | 北京金山软件有限公司 | 一种动画的实现方法和动画绘制系统 |
CN102411791A (zh) * | 2010-09-19 | 2012-04-11 | 三星电子(中国)研发中心 | 一种静止图像动态化的方法和设备 |
-
2015
- 2015-01-08 CN CN201510008662.8A patent/CN104599306B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287093A (en) * | 1990-06-11 | 1994-02-15 | Matsushita Electric Industrial Co., Ltd. | Image processor for producing cross-faded image from first and second image data |
JP2001266548A (ja) * | 2000-03-24 | 2001-09-28 | Toshiba Corp | 映像音声データ記録管理方法 |
CN1681000A (zh) * | 2004-04-05 | 2005-10-12 | 精工爱普生株式会社 | 动态叠像渐变方法和设备 |
CN1949269A (zh) * | 2006-11-10 | 2007-04-18 | 北京金山软件有限公司 | 一种动画的实现方法和动画绘制系统 |
CN102411791A (zh) * | 2010-09-19 | 2012-04-11 | 三星电子(中国)研发中心 | 一种静止图像动态化的方法和设备 |
Non-Patent Citations (1)
Title |
---|
基于信号处理的角色动画编辑系统设计与实现;郭永昕;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110315(第3期);第I138-1436页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104599306A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104318600B (zh) | 一种使用Bézier曲线实现角色行走轨迹动画的方法 | |
CN104123747B (zh) | 多方式触控三维建模方法和系统 | |
CN109658484A (zh) | 一种动画自动生成方法及动画自动生成系统 | |
WO2013155603A1 (en) | Systems and methods for displaying animations on a mobile device | |
CN102819855B (zh) | 二维图像的生成方法及装置 | |
CN101930618B (zh) | 一种个性化二维动漫的制作方法 | |
CN102509356A (zh) | 使用网格细分的细节保留几何模型变形方法 | |
CN102509333A (zh) | 基于动作捕获数据驱动的二维卡通表情动画制作方法 | |
US7652670B2 (en) | Polynomial encoding of vertex data for use in computer animation of cloth and other materials | |
CN103700143A (zh) | 一种基于gpu多遍绘制的三维动态海洋模拟方法 | |
CN103530030A (zh) | 一种页面切换系统、方法及窗帘特效页面切换方法 | |
WO2022142081A1 (zh) | 自定义动画曲线生成方法及装置 | |
CN108364337A (zh) | 图像的动画展示方法及装置 | |
CN101930367A (zh) | 切屏动画实现方法及移动终端 | |
CN104599306B (zh) | 一种生成循环动画的方法 | |
CN106815880A (zh) | 动画复用方法和系统 | |
CN105243682A (zh) | 一种肢体元件模型、角色以及二维动画制作的方法 | |
CN104167008B (zh) | 一种多媒体动漫生成系统及其方法 | |
CN108470208A (zh) | 一种基于原始生成对抗网络模型的分组卷积方法 | |
CN104616338A (zh) | 基于二维动画的时空一致的变速内插方法 | |
CN103325086B (zh) | 一种基于四面体坐标系的三维图形的变形方法 | |
AU2018101526A4 (en) | Video interpolation based on deep learning | |
CN103208130A (zh) | 大规模群体表演动画合成方法及设备 | |
CN103885460B (zh) | 一种基于宏的动感座椅运动数据生成方法 | |
CN102074035A (zh) | 一种基于全景图像扭曲的手机动漫人物创作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201211 Address after: No.329 Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province Patentee after: Zhuhai Jianxin Interactive Entertainment Co.,Ltd. Address before: 519000 Jinshan software building, 8 Lanshan lane, Jida Jingshan Hill Road, Zhuhai, Guangdong Patentee before: ZHUHAI KINGSOFT NETWORK GAME TECHNOLOGY Co.,Ltd. Patentee before: CHENGDU XISHANJU INTERACTIVE ENTERTAINMENT TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |