具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一
如图1所示,本发明实施例提供一种动画播放方法,包括:
11、预设附加动画的图元在附加动画各帧下的观看属性。
12、更新附加动画的图元在附加动画当前帧下的观看属性。
附加动画作为主动画的附加效果,通常是,需要附加效果时,附加动画与主动画配合体现动画效果,共同丰富动画效果;不需要附加效果时,只体现主动画效果即可。而且附加动画也可以通过图元的变化实现动画效果。可见,附加动画的共同特点可以理解为附加动画的图元(图元,各种图片的总称)在附加动画当前帧下是否显示。因此更新附加动画的图元在附加动画各帧下的观看属性,实现播放附加动画。
附加动画可以包括一个图元,或者包括图元序列,如至少为2个图元形成的图元序列。
可选的,本发明实施例动画播放方法中,观看属性包括图元可见或图元不可见,或者,观看属性包括图元透明或图元不透明。
观看属性包括图元透明或图元不透明时,也可以理解为图元透明属性,通过调整图元透明度值,实现图元透明或图元不透明,但不排除图元透明度值处于图元透明或图元不透明之间的中间值。
可选的,本发明实施例动画播放方法,还可以包括:
预设附加动画包括的图元。
根据所述附加动画包括的图元,预设所述附加动画包括n帧,第0帧为开始帧,第n-1帧为结束帧。
可选的,附加动画的n帧可以至少大于或等于图元的个数。如,本发明实施例动画播放方法中,预设附加动画的图元在附加动画各帧下的观看属性,如,附加动画的有2个图元,设置在第0帧下,第一个图元的观看属性为图元可见,另一个图元的观看属性为图元不可见,而第1帧下第一个图元的观看属性为图元不可见,另一个图元的观看属性为图元可见,后续的帧类推设置,当多帧连续播放时,形成第一个图元与另一个图元交替出现,实现动画效果。
可选的,更新附加动画的图元在附加动画当前帧下的观看属性之前,本发明实施例动画播放方法还包括:更新主动画当前帧下的图元。
可选的,主动画可以包括骨骼动画,骨骼动画可以理解为:具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。
主动画包括骨骼动画时,所述更新主动画当前帧下的图元为:根据骨骼变换信息更新主动画当前帧对应的图元,实现播放主动画。
或者,主动画可以包括图元动画,所述更新主动画当前帧下的图元为:根据各个图元自身变换更新主动画当前帧对应的图元,实现播放主动画。
可选的,步骤12中播放主动画,还可以包括主动画反复播放某一帧,即主动画处于某图元的静止状态。
可选的,本发明实施例动画播放方法,还可以包括:
预设附加动画的播放属性,播放属性可以包括循环(cycle)或随机(rand)或一次(once),等等。
可选的,本发明实施例动画播放方法,还可以包括:
当附加动画的当前帧为附加动画的结束帧时,获得附加动画的播放属性。
当播放属性为cycle时,将附加动画的当前帧设置为附加动画的开始帧,重新播放附加动画。
或者,当播放属性为rand时,等待预设的随机时间后,将附加动画的当前帧设置为附加动画的开始帧,重新播放附加动画。
或者,当播放属性为once时,结束播放附加动画。
由上述本发明的实施例提供的技术方案可以看出,更新附加动画的图元在附加动画当前帧下的观看属性,实现播放附加动画,也实现了播放主动画过程中可以播放附加动画。
本发明实施例二
如图2所示,本发明实施例提供一种动画播放装置,包括:
设置单元21,用于预设附加动画的图元在附加动画各帧下的观看属性。
播放单元22,用于更新附加动画的图元在附加动画当前帧下的观看属性。
附加动画可以包括一个图元,或者包括图元序列,如至少为2个图元形成的图元序列。
可选的,本发明实施例动画播放方法中,观看属性包括图元可见或图元不可见,或者,观看属性包括图元透明或图元不透明。
观看属性包括图元透明或图元不透明时,也可以理解为图元透明属性,通过调整图元透明度值,实现图元透明或图元不透明,但不排除图元透明度值处于图元透明或图元不透明之间的中间值。
如图3所示,可选的,本发明实施例动画播装置,还可以包括:
第一预设单元31,用于预设所述附加动画包括的图元。
第二预设单元32,用于根据附加动画包括的图元预设附加动画包括n帧,第0帧为开始帧,第n-1帧为结束帧。
附加动画的n帧可以至少大于或等于图元的个数。
可选的,本发明实施例动画播装置,还可以包括:
第三预设单元33,用于预设附加动画的播放属性,播放属性包括循环(cycle)或随机(rand)或一次(once)。
可选的,本发明实施例动画播装置,还可以包括:
获取单元34,用于当附加动画的当前帧为附加动画的结束帧时,获得附加动画的播放属性。
处理单元35,用于当播放属性为cycle时,将附加动画的当前帧设置为附加动画的开始帧,重新播放附加动画;或者,当播放属性为rand时,等待预设的随机时间后,将附加动画的当前帧设置为附加动画的开始帧,重新播放附加动画;或者,当播放属性为once时,结束播放附加动画。
可选的,本发明实施例动画播装置,还可以包括:
主动画播放单元,用于更新主动画当前帧下的图元。
可选的,主动画包括骨骼动画,此时,主动画播放单元用于根据骨骼变换信息更新主动画当前帧对应的图元,实现播放主动画。或者,主动画包括图元动画,此时,主动画播放单元用于根据各个图元自身变换更新主动画当前帧对应的图元。
可选的,主动画播放单元,还用于反复播放某一帧,即主动画处于某图元的静止状态。
本发明实施例动画播装置及其构成部分的理解,可以参照本发明实施例动画播方法,在此不作赘述。
由上述本发明的实施例提供的技术方案可以看出,更新附加动画的图元在附加动画当前帧下的观看属性,实现播放附加动画,也实现了播放主动画过程中可以播放附加动画。
本发明具体实施方式
如图4所示,主动画是骨骼动画,其背景图片为太阳花,通过改变背景图片的骨骼朝向和位置实现左右摇摆太阳花的主动画效果。
如图5所示,2个眨眼睛图片序列,左图中眼睛图像的尺寸小于右图中眼睛图像的尺寸,并且均小于主动画的背景图片中的眼睛图像的尺寸,可见,连续播放2个眨眼睛图片序列,得到附加动画效果为眨眼睛。
如图6所示,可以在附加动画编辑上编辑附加动画的各图元在附加动画各帧下的观看属性、附加动画的播放属性,等等。
如,创建一个附加动画,设置附加动画的帧数,以及设置好每一帧之间的时间间隔。如图6所示,创建一个名称(name)为眨眼睛(blink)的附加动画,附加动画的帧数为n=4,第0帧至第3帧,每一帧之间的时间间隔time=100毫秒。还可以设置附加动画的播放属性,cycle或rand或once。其中,once为只播放一次附加动画,cycle为不停循环播放附加动画。rand为随机播放附加动画。还可以设置rand的minTime=3000毫秒(最小时间间隔)以及maxTime(最大时间间隔)=8000毫秒。
添加附加动画的图片序列。如图6所示,找到如图5所示的2个眨眼睛图片序列,blink1为图片序列中左图,blink2为图片序列中右图,添加(attach)上这个眨眼睛图片,如blink2。
设置附加动画的各图片在附加动画各帧下的观看属性,得到各图片在各帧下是否可见。如图6所示,以blink2图片为例,在第1帧下,blink2图片观看属性为图元可见(visible)。其他图片在附加动画各帧下的观看属性可以参照以上得以理解。
如,第0帧:第0帧为附加动画的开始帧,第0帧可以显示主动画的背景图片,即附加动画的blink1图片以及blink2图片在第0帧的观看属性均为图元不可见,即附加动画的2个眨眼睛序列图片均不可见。
第1帧:附加动画的blink2图片在第1帧的观看属性为图元可见,同时,附加动画的blink1图片在第1帧的观看属性为图元不可见,即附加动画的2个眨眼睛序列图片中的左图片不可见,右图片可见。
第2帧:附加动画的blink1图片在第2帧的观看属性为图元可见,同时,附加动画的blink2图片在第2帧的观看属性为图元不可见,即附加动画的2个眨眼睛序列图片中的左图片可见,右图片不可见。
第3帧:第3帧为附加动画的结束帧,附加动画的blink2图片在第3帧的观看属性为图元可见,同时,附加动画的blink1图片在第1帧的观看属性为图元不可见,即附加动画的2个眨眼睛序列图片中的左图片不可见,右图片可见。
第4帧:附加动画的blink1图片以及blink2图片在第4帧的观看属性均为图元不可见,即附加动画的2个眨眼睛序列图片均不可见。
如图7所示,从左到右的5个图片,对应第0帧-第4帧。可见,从第1帧-第3帧,完成一个眨眼睛动画效果,实现播放附加动画,可以结束一次播放。而且,从第1帧至第4帧,实现太阳花左右摇摆的主动画效果。
可选的,当一次附加动画播放完成后,即确定附加动画的当前帧为附加动画的结束帧时,获得附加动画的播放属性,根据播放属性不同,采用不同的播放策略:
当播放属性为cycle时,将附加动画的当前帧设置为附加动画的开始帧,如第0帧,重新播放附加动画。
或者,当播放属性为rand时,等待预设的随机时间后,将附加动画的当前帧设置为附加动画的开始帧,如第0帧,重新播放附加动画。预设的随机时间通常是上次随机播放设置好的。也就是,第一次随机播放附加动画时,设置的随机时间可以为:MinTime+MaxTime,而每次检测到当前帧为结束帧且播放属性为rand时,可以设置minTime到maxTime之间的一个随机值作为下次播放的随机时间,这样就实现了播放一个主动画情况下,同时可以真实且自然眨眼睛。
或者,当播放属性为once时,结束播放附加动画。
接着,根据当前时间和当前动画时间间隔设置更新当前帧,使得第0帧逐步更新为第1帧-第3帧......。此步骤涉及动画播放中更新当前帧的实现方式,在此不作赘述。
要说明的是,虽然附加动画的图片序列在主动画中为不显示,但通过改变主动画的骨骼朝向和位置更新主动画当前帧对应的图元过程中,也对不可见的附加动画的图片序列进行变换影响。如图7所示,从左到右的第1帧-第3帧中,附加动画的朝向和位置也随主动画的朝向和位置变化而变化。
由上述本发明的实施例提供的技术方案可以看出,更新附加动画的图元在附加动画当前帧下的观看属性,实现播放附加动画,实现了播放主动画过程中可以播放附加动画。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。