互动动画生成方法及装置与流程

文档序号:12824427阅读:246来源:国知局
互动动画生成方法及装置与流程

本发明涉及网络直播互动技术领域,具体而言,涉及一种互动动画生成方法及装置。



背景技术:

网络直播是时下一种火爆的信息网络发布方式。网络直播之所以被热捧,其原因在于网络直播的信息发布属于实时进行的双向信息发布。也就是主播在进行网络信息发布的同时,用户除了观看,还能与主播互动。通过这样的互动,以实现间接影响直播的内容及质量。用户也能从中获得良好的体验。

网络直播中的互动方式很多,且均对实时性要求严格。同文字互动相比,图片互动可更直接、更快速的建立起用户和主播之间交互。而现如今的图片互动,多为静态图像互动,形式过于死板,视觉效果不佳。



技术实现要素:

本发明的目的在于提供一种互动动画生成方法,以改善上述问题。

本发明的另一个目的在于提供一种互动动画生成装置,以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

本发明实施例提供一种互动动画生成方法,应用于用户终端,所述方法包括:响应用户进行互动的操作获取与所述操作对应的静态图像、动画起点及动画终点;根据所述动画起点及动画终点,生成动画轨迹;控制所述静态图像沿所述动画轨迹运动的同时,依据预设的所述透明度变化模型改变所述静态图像的透明度。

本发明的实施例还提供一种互动动画生成装置,应用于用户终端,所述装置包括:获取模块,用于响应用户进行互动的操作获取与所述操作对应的静态图像、动画起点及动画终点;轨迹生成模块,用于根据所述动画起点及动画终点,生成动画轨迹;图像控制模块,用于控制所述静态图像沿所述动画轨迹运动的同时,依据预设的所述透明度变化模型改变所述静态图像的透明度。

与现有技术相比,本发明提供一种互动动画生成方法及装置,用于用户终端。所述方法包括:响应用户进行互动的操作获取与所述操作对应的静态图像、动画起点及动画终点;根据所述动画起点及动画终点,生成动画轨迹;控制所述静态图像沿所述动画轨迹运动的同时,依据预设的所述透明度变化模型改变所述静态图像的透明度。可快速便捷的生成运动轨迹更加灵活的互动动画,使互动动画更加生动,并通过生成的互动动画增强用户与网络直播的主播之间互动效果,提高用户体验。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的用户终端的方框示意图。

图2示出了本发明实施例提供的互动动画生成方法流程图。

图3为图2中步骤s102的子步骤流程图。

图4为图2中步骤s103的子步骤流程图。

图5示出了本发明实施例提供的互动动画生成装置的功能模块示意图。

图6为图5示出的互动动画生成装置中轨迹生成模块的功能子模块示意图。

图7为图5示出的互动动画生成装置中图像控制模块的功能子模块示意图。

图标:100-用户终端;111-存储器;112-存储控制器;113-处理器;114-外设接口;115-输入输出单元;116-显示单元;200-互动动画生成装置;201-获取模块;202-轨迹生成模块;2021-获取子模块;2022-计算子模块;2023-生成子模块;203-图像控制模块;2031-移动子模块;2032-透明度改变子模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出本发明较佳实施例提供的用户终端100的方框示意图。用户终端100可以是,但不限于是移动终端设备、电脑,例如可以包括智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理(personaldigitalassistant,pda)、台式电脑等等。所述用户终端100包括互动动画生成装置200、存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116。

所述存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115以及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述互动动画生成装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述用户终端100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器113用于执行所述存储器111中存储的可执行模块,例如所述互动动画生成装置200所包括的软件功能模块及计算机程序等。

其中,所述存储器111可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器111用于存储程序(包括操作系统程序),处理器113在接收到执行指令后,执行所述程序。所述处理器113以及其他可能的组件对存储器111的访问可在所述存储控制器112的控制下进行。

所述处理器113可能是一种集成电路芯片,具有对信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器113也可以是任何常规的处理器等。

所述外设接口114将各种输入/输出装置(例如输入输出单元115以及显示单元116)耦合至所述处理器113以及所述存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

所述输入输出单元115用于提供给用户输入数据实现用户与所述用户终端100的交互。所述输入输出单元115可以是,但不限于,虚拟键盘、语音输入电路等。

所述显示单元116在所述用户终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据。在本实施例中,所述显示单元116可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处产生的触控操作,并将该感应到的触控操作交由处理器113进行计算和处理。

第一实施例

图2为本发明较佳实施例提供的一种互动动画生成方法流程图。请参考图2,一种互动动画生成方法,应用于用户终端100,所述方法包括以下步骤:

步骤s101,响应用户进行互动的操作获取与所述操作对应的静态图像、动画起点及动画终点。

本实施例中,可以是通过响应用户触发互动命令获取互动命令对应的静态图像、动画起点及动画终点。其中,静态图像是与互动命令对应的图像素材,可选的,静态图像可以是通过用户指定的图像素材,也可以是预先设定的与用户触发的互动命令相关联的图像素材。例如,根据预设置,点赞互动命令对应的图像素材可以是桃心,则当用户触发点赞互动命令时,静态图像则是桃心图像素材。动画起点是静态图像在显示单元116上出现的第一个位置坐标。动画终点是静态图像在显示单元116上出现的最后一个位置坐标。动画起点及动画终点可以是预先设置的固定点,也可以是通过用户选取的方式获得。例如,可以是用户通过输入输出单元115点击或输入的动画起点及动画终点。

在本实施例的其他实施方式中,动画起点及动画终点还可以是根据进行互动的操作的时间点随机生成的。

步骤s102,根据所述动画起点及动画终点,生成动画轨迹。

在本实施例中,动画轨迹是由动画起点、动画终点及在动画起点及动画终点出现的时间之间依次出现的轨迹点组成。请参考图3,步骤s102可以包括以下子步骤:

子步骤s1021,获取动画起点对应的起始时间点及动画终点对应的终止时间点。需要说明的是,时间点指的是时刻。

在本实施例中,依据所述用户终端100的系统时间获取动画起点对应的起始时间点。可选的,起始时间点可以是用户终端100响应用户进行互动操作时所对应的系统时刻。再根据起始时间点与预设置的轨迹时长(例如,1s),获取动画终点对应的终止时间点。

子步骤s1022,获取所述起始时间点至所述终止时间点内的多个时间因子。

在本实施例中,利用预设的插值模型将所述起始时间点至所述终止时间点之间的时间划分为多个时间片段。可以通过调用户终端100系统内预设的插值模型应用程序编程接口(applicationprogramminginterface,api)实现。可选的,上述步骤可以采用如下的程序代码来实现,当然应当理解的是下文中所有的代码仅仅是为了说明其对应步骤可选的一种执行方式,不用当理解为实现方式的限定:bzevaluatorbzevaluator=newbzevaluator(p0,p2);将动画起点p0和动画终点p2传递到用户终端100系统提供的原始插值模型bzevaluator类中,这样就能够实例化得到插值器bzevaluator,后续在划分时间片段时就可直接使用该插值器进行时间片段的划分。

上述的插值模型进行时间片段划分的方式,可以,但不限于是根据用户的操作将时间段划分为时长相等的多个时间片段、时长逐渐增长的多个时间片段、时长逐渐变短的多个时间片段或者时长呈不规律变化的时间片段。例如,起始时间点至所述终止时间点之间的时间间隔是1s,假设起始时间点对应的时刻为t,根据用户触发可以均匀的将这1s分为四个时间片段,则第一个时间片段ts~t+0.25s,第二个时间片段为t+0.25s~t+0.5s,第三个时间片段为t+0.5s~t+0.75s第四个时间片段为t+0.75s~t+1s。每个时间片均有一个对应的时间点,接上例,第一个时间片段对应的时间点为t+0.25s,第二个时间片段对应的时间点为t+0.5s,第三个时间片段对应的时间点为t+0.75s及第四个时间片段对应的时间点为t+1s(也就是终止时间点)。根据时间片段得到与多个时间片段一一对应的多个时间因子。本实施例中,时间因子为时间片段对应的时间点与起始时间点之间的时长。为了提高用户体验,起始时间点与终止时间点间的时间间距不大于1s,因此,时间因子可以为0~1之间的任意取值。

子步骤s1023,根据所述时间因子,利用预设的轨迹点生成模型,计算每个所述时间因子对应的轨迹点。通过这种方式动态生成动画轨迹中的轨迹点,可提高程序的可维护性。可选地,轨迹点生成模型可以是贝塞尔函数模型,生成贝塞尔曲线的点和使用贝塞尔曲线的点耦合度降低,提高了程序的健壮性。

本实施例中,轨迹点生成模型可以是贝塞尔函数模型。可以通过用户终端100内置的贝塞尔函数模型api调用贝塞尔函数模型完成轨迹点生成。可选地,先获取预设置的控制点,根据动画起点、动画终点、控制点及时间因子,利用公式:

px=(1-t)*(1-t)*p0x+2*t*(1-t)*p1x+t2*p2x,及

py=(1-t)*(1-t)*p0y+2*t*(1-t)*p1y+t2*p2y

获取与时间因子对应的轨迹点。其中,px为轨迹点的横坐标、py为轨迹点的纵坐标,t为时间因子,p0x为动画起点的横坐标,p0y为动画起点的纵坐标,p1x为控制点的横坐标,p1y为控制点的纵坐标,p2x为动画终点的横坐标,p2y为动画终点的纵坐标。需要说明的是,由于每个时间片段对应的时间因子不同,因此,每个时间片段对应的轨迹点位置也不相同。需要说明的是,当动画起点及动画终点为预设固定点时,则无需根据最后一个时间片段对应的时间因子计算最后一个轨迹点。

子步骤s1024,根据所述动画起点、所述动画终点及所述轨迹点,生成动画轨迹。

在本实施例中,沿所述动画起点向所述动画终点的方向,根据每个所述轨迹点出现时间先后顺序将所述动画起点、动画终点及所述轨迹点串联起来,形成所述动画轨迹。可选地,将所述动画起点、轨迹点及动画终点根据其对应的时间点的先后顺序串联起来,形成动画轨迹。

步骤s103,控制所述静态图像沿所述动画轨迹运动的同时,依据预设的所述透明度变化模型改变所述静态图像的透明度。

在本实施例中,请参考图4,步骤s103可以包括以下子步骤:

子步骤s1031,根据时间的变化,控制所述静态图像沿着所述动画轨迹的所有轨迹点由所述动画起点向所述动画终点移动。可选地,从所述动画起点开始,根据所述时间片段对应的时间点将所述静态图像依次移动至基于所述时间因子计算得到的所述轨迹点上,直至所述轨迹点与所述动画终点重合。可选的,可以通过调用静态图像的值动画来构建动态值动画。在构建动态值动画时,可以是通过:

valueanimatoranimatorbz=valueanimator.ofobject(evaluator)

来进行构建的。其中valueanimator是用户终端100的系统提供给的一个构建模型。

子步骤s1032,还根据时间的变化,依据预设的所述透明度变化模型改变所述静态图像的透明度。可选地,可以通过用户终端100的透明度变化模型api调用贝塞尔函数模型根据时间变化改变静态图像的透明度。例如,通过与用户终端100的透明度变化模型api连接,使静态图像透明度在0.1s时透明度为80%,0.2s时透明度变化为50%,当然以上仅为举例,在实际实施例中,静态图像透明度随时间的变化可以呈有规律变化或无规律变化。可选地,可以通过以下程序段:

animationalphaanimation=newalphaanimation(0f,1.0f);

来实现。

需要说明的是,子步骤s1031及s1032为同时执行,以实现两种动画效果在静态图像上的组合。使互动动画生成效率提高。可以通过以下程序代码段:

animationsetset=newanimationset();

set.addanimation(animatorbz);

set.addanimation(alphaanimation);

实现。animationset为用户终端100系统内预设的一个动画叠加模型。当然,应当理解的是上述的代码仅仅是为了说明其对应步骤可选的一种执行方式,不用当理解为实现方式的限定。

第二实施例

请参照图5,图5为本发明实施例提供的互动动画生成装置200的功能模块示意图。所述互动动画生成装置200包括获取模块201、轨迹生成模块202及图像控制模块203。

获取模块201,用于响应用户进行互动的操作获取与所述操作对应的静态图像、动画起点及动画终点。

在本实施例中,步骤s101可以由获取模块201执行。获取模块201执行的方式可以是通过响应用户触发互动命令获取互动命令对应的静态图像、动画起点及动画终点。其中,静态图像是与互动命令对应的图像素材,可选地,静态图像可以是通过用户指定的图像素材,也可以是预先设定的与用户触发的互动命令相关联的图像素材。例如,根据预设置,点赞互动命令对应的图像素材可以是桃心,则当用户触发点赞互动命令时,静态图像则是桃心图像素材。动画起点是静态图像在显示单元116上出现的第一个位置坐标。动画终点是静态图像在显示单元116上出现的最后一个位置坐标。动画起点及动画终点可以是预先设置的固定点,也可以是通过用户选取的方式获得。例如,可以是用户通过输入输出单元115点击或输入的动画起点及动画终点。

在本实施例的其他实施方式中,动画起点及动画终点还可以是根据进行互动的操作的时间点随机生成的。

轨迹生成模块202,用于根据所述动画起点及动画终点,生成动画轨迹。

在本实施例中,步骤s102可以由轨迹生成模块202执行。动画轨迹是由动画起点、动画终点及在动画起点及动画终点出现的时间之间依次出现的轨迹点组成。如图6所示,轨迹生成模块202可以包括以下功能子模块:

获取子模块2021,用于获取动画起点对应的起始时间点及动画终点对应的终止时间点;

在本实施例中,子步骤s1021可以由获取子模块2021执行。可选地,依据所述用户终端100的系统时间获取动画起点对应的起始时间点及动画终点对应的终止时间点。

获取子模块2021,还用于获取所述起始时间点至所述终止时间点内的多个时间因子。

在本实施例中,子步骤s1022可以由获取子模块2021执行。可选地,利用预设的插值模型将所述起始时间点至所述终止时间点的时间段划分为多个时间片段以得到与多个时间片段一一对应的多个时间因子。

计算子模块2022,用于根据所述时间因子,利用预设的轨迹点生成模型,计算每个所述时间因子对应的轨迹点。

在本实施例中,子步骤s1023可以由计算子模块2022执行。

生成子模块2023,用于根据所述动画起点、所述动画终点及所述轨迹点,生成动画轨迹。

在本实施例中,子步骤s1024可以由生成子模块2023执行。可选地,沿所述动画起点向所述动画终点的方向,根据每个所述轨迹点出现时间先后顺序将所述动画起点、动画终点及所述轨迹点串联起来,形成所述动画轨迹。

图像控制模块203,用于控制所述静态图像沿所述动画轨迹运动的同时,依据预设的所述透明度变化模型改变所述静态图像的透明度。

在本实施例中,步骤s103可以由图像控制模块203执行。如图6所示,图像控制模块203可以包括以下功能子模块:

移动子模块2031,用于根据时间的变化,控制所述静态图像沿着所述动画轨迹由所述动画起点向所述动画终点移动。

在本实施例中,子步骤s1031可以由移动子模块2031执行。可选地,从所述动画起点开始,根据所述时间片段对应的时间点将所述静态图像依次移动至基于所述时间因子计算得到的所述轨迹点上,直至所述轨迹点与所述动画终点重合。

透明度改变子模块2032,用于根据时间的变化,依据预设的所述透明度变化模型改变所述静态图像的透明度。

在本实施例中,子步骤s1032可以由透明度改变子模块2032执行。

综上所述,本发明提供一种互动动画生成方法及装置,用于用户终端。所述方法包括:响应用户进行互动的操作获取与所述操作对应的静态图像、动画起点及动画终点;根据所述动画起点及动画终点,生成动画轨迹;控制所述静态图像沿所述动画轨迹运动的同时,依据预设的所述透明度变化模型改变所述静态图像的透明度。可快速便捷的生成运动轨迹更加灵活的互动动画,使互动动画更加生动。并通过生成的互动动画增强用户与网络直播的主播之间互动效果,提高用户体验。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1