CN117251231B - 一种动画资源处理方法、装置、系统及电子设备 - Google Patents
一种动画资源处理方法、装置、系统及电子设备 Download PDFInfo
- Publication number
- CN117251231B CN117251231B CN202311542731.4A CN202311542731A CN117251231B CN 117251231 B CN117251231 B CN 117251231B CN 202311542731 A CN202311542731 A CN 202311542731A CN 117251231 B CN117251231 B CN 117251231B
- Authority
- CN
- China
- Prior art keywords
- animation
- layer
- interaction
- target
- resource
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 230000003993 interaction Effects 0.000 claims abstract description 264
- 230000000694 effects Effects 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000000547 structure data Methods 0.000 claims abstract description 26
- 238000009877 rendering Methods 0.000 claims abstract description 17
- 230000002452 interceptive effect Effects 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 35
- 238000004458 analytical method Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 description 18
- 230000018109 developmental process Effects 0.000 description 18
- 230000000007 visual effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000009191 jumping Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种动画资源处理方法、装置、系统及电子设备。所述方法包括:获取可动态化发布的动画资源;基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系;检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层;获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。采用所述方法,解决了如何实现动画资源的动态化发布及可交互的问题。
Description
技术领域
本申请涉及计算机处理技术领域,具体涉及动画资源处理方法、装置、系统、电子设备及存储介质。
背景技术
随着计算机技术的发展,信息的展示逐渐从简单文字展示演化到具有丰富动画效果的可交互展示。复杂的动画效果叠加用户交互,导致了开发难度加大。
现有技术中,一般采用整体渲染动画资源以降低复杂动画开发难度,例如使用特效软件设计动画视觉稿,再将其导入动画框架整体渲染出该视觉稿的效果的动画解决方案。然而,整体渲染动画资源的方案中,若添加用户交互手势识别,则需要利用对应平台的原生语言,对于该渲染物体增加手势识别函数以及交互后的处理函数。从而存在以下问题:针对动画资源的调整不可动态化发布,调整后的动画资源需要随应用的新版本一起发布;经过原生代码添加交互手势后,若上架到应用商城,则该动画资源模块无法更改;由于交互代码涉及原生代码的开发,因此低于该版本的用户无法使用新增的交互功能。
现有技术中,也可以采用web 语言实现动画资源的模块功能,web语言编写的代码块可以作为资源下载,从而达到动态化发布的效果。使用动画资源的应用通过解析web 语言内容,针对不同平台的特性渲染出最终的图像,并且添加上对应的交互函数。但是该方案中,对于复杂的动画效果需要编写动画函数,开发耗时长且难度大,且难以还原到与视觉稿件一样的视觉效果。
因此,如何实现动画资源动态化发布且可响应用户交互是需要解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请实施例提供的动画资源处理方法,解决了实现动画资源的动态化发布及可交互问题。
本申请实施例提供一种动画资源处理方法,包括:获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,所述目标图层为具有可交互标记的图层;获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。
可选的,所述可动态化发布的动画资源,为根据预设交互效果针对初始动画资源包括的需要响应用户操作的图层增加交互属性所得到。
可选的,所述初始动画资源,为通过插件工具针对已设计好的动画资源进行导出操作所得到。
可选的,所述初始动画资源,为通过特效软件中的动画导出插件导出所述特效软件中已设计好的动画资源所得到。
可选的,所述初始动画资源以及所述可动态化发布的动画资源,为遵从动画框架规范的json格式数据。
可选的,所述json格式数据,包括用于描述组成所述动画资源的图层属性的图层集字段;所述图层集字段中与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,所述可交互图层的图层元素字段还包括交互属性。
可选的,所述基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,包括:基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;根据所述图层属性绘制对应图层,将各图层进行叠加;根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像。
可选的,所述检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,包括:检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件进行处理,以实现与所述用户操作对应的预设交互效果。
可选的,所述从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,包括:针对遍历视图树处理中的当前节点,如果找到具有可交互标记的图层,并且所述目标区域的点位信息在所述图层范围内,则将所述图层作为所述目标图层;否则,遍历所述当前节点的子节点,以确定出目标图层。
可选的,还包括:如果所述当前节点没有子节点,则回溯访问与当前节点最近的兄弟节点,以确定出能响应所述交互事件的目标图层。
可选的,所述获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数,包括:所述目标图层拦截所述交互事件后触发获取所述文本信息;针对所述文本信息进行分词得到字符块,根据所述字符块的含义以及所述字符块之间的位置关系得到所目标语义;根据所述目标语义调用所述函数以实现与所述交互事件对应的所述预设交互效果。
可选的,所述根据所述字符块的含义以及所述字符块之间的位置关系得到所目标语义,包括:根据所述字符块的含义、所述字符块之间的位置关系以及运算符之间的运算优先级得到所述目标语义。
可选的,所述获取可动态化发布的动画资源,包括:向存储动画资源配置信息的服务器发送动画资源加载请求;获取所述服务器响应于所述动画资源加载请求反馈的动画资源配置信息;根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源。
可选的,所述根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源,包括:所述动画资源配置信息包括所述动画资源的存储位置信息以及版本信息;如果判断所述版本信息与对应的本地已有动画资源的版本信息不一致,则向所述存储位置信息对应的服务器请求下载所述可动态化发布的动画资源。
可选的,所述初始动画资源以及所述可动态化发布的动画资源,包括多个图层。
本申请实施例还提供另一种动画资源处理方法,其特征在于,包括:获取待处理的初始动画资源;根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,增加交互属性后得到的动画资源为可动态化发布的动画资源;响应于动画资源加载请求,向发出所述动画资源加载请求的客户端发送动画资源配置信息,所述动画资源配置信息用于确定客户端是否下载所述可动态化发布的动画资源。
可选的,所述获取待处理的初始动画资源,包括:通过插件工具导出已设计好的动画资源,作为所述初始动画资源。
可选的,所述通过插件工具导出已设计好的动画资源,包括:通过特效软件的动画导出插件导出所述特效软件中已设计好的动画资源,导出的动画数据为遵从动画框架规范的json格式数据。
可选的,所述json格式数据,包括用于描述组成所述动画资源的图层信息的图层集字段;所述图层集字段与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,所述可交互图层的图层元素字段还包括交互属性。
可选的,所述根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,包括:根据所述预设交互效果确定所述初始动画资源中需要响应用户操作的图层以及对应的交互信息;基于所述交互信息针对需要响应用户操作的图层增加交互属性,得到所述可动态化发布的动画资源的可交互图层。
可选的,所述动画资源配置信息,包括:所述可动态化发布的动画资源的存储位置信息以及版本信息。
可选的,所述可动态化发布的动画资源,为针对旧版本动画资源进行动画样式变更和/或交互变更后得到的动画数据。
本申请实施例还提供一种动画资源处理装置,包括:资源获取单元,用于获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;资源解析单元,用于基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;操作检测单元,用于检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,所述目标图层为具有可交互标记的图层;操作响应单元,用于获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。
本申请实施例还提供一种动画资源处理装置,包括:初始资源获取单元,用于获取待处理的初始动画资源;增加交互单元,用于根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,增加交互属性后得到的动画资源为可动态化发布的动画资源;资源加载单元,用于响应于动画资源加载请求,向发出所述动画资源加载请求的客户端发送动画资源配置信息,所述动画资源配置信息用于确定客户端是否下载所述可动态化发布的动画资源。
本申请实施例还提供一种动画数据处理系统,包括:动画资源解析模块、交互模块、语言解析模块;其中,所述动画资源解析模块,用于获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;所述交互模块,用于检测到用户操作,触发生成与用户操作对应的交互事件,根据所述视图树确定能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件,触发所述语言解析模块解析所述目标图层的交互属性;其中,所述目标图层为具有可交互标记且用户操作的点位信息位于图层范围内的图层;所述语言解析模块,用于获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。
可选的,所述动画资源解析模块,还用于:基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;根据所述图层属性绘制对应图层,将各图层进行叠加;根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像。
可选的,所述检测到用户操作,触发生成与用户操作对应的交互事件,根据所述视图树确定能响应所述交互事件的目标图层,包括:检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件且所述目标区域的点位信息在图层范围内的目标图层,由所述目标图层拦截所述交互事件进行处理,以实现与所述用户操作对应的预设交互效果。
可选的,所述系统还包括服务器;其中,所述服务器,存储有动画资源配置信息;接收客户端发送的动画资源加载请求;响应于所述动画资源加载请求,向所述客户端发送动画资源配置信息,所述动画资源配置信息用于确定是否下载所述可动态化发布的动画资源;其中,所述可动态化发布的动画资源,为根据预设交互效果针对初始动画资源中需要响应用户操作的图层增加交互属性所得到的动画资源。
本申请实施例还提供一种电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机程序,所述计算机程序被所述处理器运行后,执行本申请实施例提供的所述方法。
本申请实施例还提供一种计算机存储介质,存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现本申请实施例提供的所述方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的一种动画资源处理方法、装置、系统、电子设备及存储介质,通过获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,所述目标图层为具有可交互标记的图层;获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。在动画资源的结构数据中包括可交互图层的交互属性,因而使用该动画资源的应用能够解析出可交互图层,并确定响应用户操作的图层,根据交互属性文本信息的语义确定执行函数,实现预设交互效果。因此,当动画资源的样式和/或交互发生变更后可以单独发布变更后的动画资源,应用也能解析出并执行变更后的信息,使得能够动态化发布动画资源。进一步,基于动画框架解析动画资源,能够实现整体渲染,避免针对各模块或子模块开发动画函数,降低了复杂动画的开发难度;并且,支持解析交互属性,从而便于实现动画资源的可交互能力。因而,在保证动画效果和可交互的基础上,能够降低开发难度,实现快速迭代。
本申请实施例提供的一种动画资源处理方法、装置、电子设备及存储介质,通过获取待处理的初始动画资源;根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,增加交互属性后得到的动画资源为可动态化发布的动画资源;响应于动画资源加载请求,向发出所述动画资源加载请求的客户端发送动画资源配置信息,所述动画资源配置信息用于确定客户端是否下载所述可动态化发布的动画资源。由于动画资源增加了可交互图层的交互属性,使用该动画资源的应用可以解析出可交互图层,便于实现动画资源的可交互性。进一步,动画资源遵从动画框架规范,因而基于动画框架的应用能够解析动画资源,实现整体渲染,简化复杂动画的开发难度,并且便于动画资源的动态化发布。因此,在保证动画效果和可交互的基础上,能够降低开发难度,实现快速迭代。
附图说明
图1是本申请第一实施例提供的一种动画资源处理流程图。
图2是本申请第一实施例提供的一种动画框架支持的文件结构示意图。
图3是本申请第一实施例提供的一种视图树结构示意图。
图4是本申请第一实施例提供的一种语言解析流程示意图。
图5是本申请第一实施例提供的一种实现动画及交互效果的流程图。
图6是本申请第二实施例提供的一种动画资源处理流程图。
图7是本申请第三实施例提供的一种动画资源处理装置示意图。
图8是本申请第四实施例提供的一种动画资源处理装置示意图。
图9是本申请第五实施例提供的一种动画资源处理系统示意图。
图10是本申请提供的电子设备示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请实施例提供动画资源处理方法、装置、电子设备及存储介质。本申请还提供一种动画资源处理系统。在下面的实施例中逐一进行说明。
为便于理解,首先给出本申请实施例提供的动画资源处理方法的相关概念。
动态化发布,是指部分功能模块的样式变更和/或交互变更可以通过远程下发资源的形式完成变更。例如,动画资源的样式变更和/或交互变更后,使用该动画资源的应用可以请求远程下载变更后的新版本动画资源,而应用版本不需要更新即可使用新版本动画资源。
可交互,是指应用中的功能模块可以响应用户操作(如用户的手势操作),并且做出符合预期交互效果的人机交互过程。所谓可交互标记,是指用于标记一个图层为可交互图层的标记。所谓可交互图层,是指动画资源的一个图层,其可以响应用户操作(如拦截用户操作对应的交互事件)并且按照预设交互效果响应该用户操作,从而实现人机交互过程。
需要说明的是,以上所公开的信息仅用于帮助对本申请进行理解,并不意味着构成对本领域普通技术人员已知的现有技术。
以下结合图1至图5对本申请第一实施例提供的动画资源处理方法进行说明。图1所示的动画资源处理方法,包括:
步骤S101,获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;
步骤S102,基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;
步骤S103,检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,所述目标图层为具有可交互标记的图层;
步骤S104,获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。
本实施例提供的动画资源处理方法,可以应用于应用动画资源的客户端。所述客户端,可以为基于安卓的应用客户端、基于IOS的应用客户端、web端等,其能接收可动态化发布的动画资源。所述动画资源至少包括结构数据,还可以包括资源数据。所谓结构数据,是指描述组成动画资源的图层的数据,其可以包括所述动画资源的各图层的图层属性。组成动画资源的图层包括但不限于合成图层、填充图层、图片图层、文字图层、形状图层、空图层等。动画资源的结构数据优选为json格式数据,如json文件。所谓json,是一种轻量级的数据交换格式。所谓资源数据,是指组成动画资源的图片素材,如png格式图片或其他格式图片。当然,图片素材也可以记录在所述json格式数据中,而不作为单独文件保存。所述方法中获取动态化发布的动画资源;从动画资源的结构数据中解析出各图层,生成对应图层的视图,构建视图树;检测到用户操作,根据视图树确定能响应用户操作的目标图层;获取目标图层的交互属性对应的文本信息,根据该文本信息的目标语义执行用于实现预设交互效果的函数,实现人机交互过程。从而提供了动画资源的动态化发布且可交互方案。
优选的,所述方法的应用场景为基于动画框架实现,从而针对所述动画资源可以获得较高程度的视觉还原效果和流畅的动画效果。所谓动画框架,包括已有能够为原生应用添加动画效果的工具,可以实时渲染使用特定特效软件设计的动画(即视觉稿)从而实现动画效果的还原。具体的,所述特效软件特效软件,包括用于2D和3D合成、动画制作和视觉特效,是基于非线性编辑的软件。该特定特效软件使用指定插件导出的文件应能够为所述动画框架处理。实际应用中,在特效软件中制作动画后使用插件将已设计好的动画导出为json文件,也可以包括图片。应用该动画资源的客户端接收该json文件,若有图片则也接收图片,基于动画框架解析该json文件并还原出制作的动画。本实施例提供的方法中,对json文件在图层属性中新增了交互属性,不改变原有的文件结构。应用所述方法的客户端能解析所述交互属性,并且能够检测用户操作,生成对应的交互事件并且传递交互事件,直到可交互图层捕获该交互事件,解析交互属性中的文本代码实现交互效果,从而提供动态化的可交互能力。因而,本实施例中,客户端应用动画资源的整体视觉效果通过所述动画框架实现,视觉还原效果好,且不需要额外的代码开发,避免了复杂的动画函数编写及视觉实现,降低了开发难度,缩短了开发耗时。
如步骤S101所述,获取可动态化发布的动画资源。其中,所述可动态化发布的动画资源,为根据预设交互效果针对初始动画资源包括的需要响应用户操作的图层增加交互属性所得到。所述初始动画资源,为通过插件工具针对已设计好的动画资源进行导出操作所得到。优选的,所述初始动画资源,为通过特效软件中的动画导出插件导出所述特效软件中已设计好的动画资源所得到。所述初始动画资源以及所述可动态化发布的动画资源,为遵从所述动画框架规范的json格式数据。所述初始动画资源以及所述可动态化发布的动画资源,可以包括一个或多个图层。例如,通过特效软件的指定插件导出得到已设计好的动画资源对应动画数据,该动画数据中至少包括json文件。其中,所述json格式数据,包括用于描述组成所述动画资源的图层属性的图层集字段;所述图层集字段中与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性(即动画属性);其中,所述可交互图层的图层元素字段还包括交互属性。
请参考图2,图中示出了一种动画框架支持的文件结构示意图,包括:动画框架支持的特定文件结构201、layer结构202以及交互layer结构203。从动画框架支持的特定文件结构201中可以看出动画框架文件中包括layers字段(即图层集字段)的描述。实际上一个完整的视图或者动画是由不同的若干简单图层叠加得到的效果。layers字段的描述是对于所有组成该视图或者动画的图层的描述。layers中每一元素(layer,即图层元素字段)对应一个图层的描述。layer描述对应图层的静态属性和动态(动画)属性。图中,layer结构202为不带交互属性的图层结构;交互layer结构203为带交互属性的图层结构,图中的交互属性字段为code,属性值为文本信息,可以是文本代码,如:“i=i+1”。
本实施例中,还包括根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,也就是在使用指定插件导出的所述json文件中增加用于指示添加交互操作的交互标记,并增加实现所述交互标记所表示的具体交互操作处理代码。具体包括:根据所述预设交互效果确定所述初始动画资源中需要响应用户操作的图层以及对应的交互信息;基于所述交互信息针对需要响应用户操作的图层增加交互属性,得到所述可动态化发布的动画资源的可交互图层。相应的,所述动画框架在检测到针对所述json文件对应的图像区域的操作事件例如点击事件,该点击事件在该图像区域的各图层传递,针对增加了交互标记的图层执行交互处理。
本步骤中,所述获取可动态化发布的动画资源,包括:向存储动画资源配置信息的服务器发送动画资源加载请求;获取所述服务器响应于所述动画资源加载请求反馈的动画资源配置信息;根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源。其中,所述根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源,包括:所述动画资源配置信息包括所述动画资源的存储位置信息以及版本信息;如果判断所述版本信息与对应的本地已有动画资源的版本信息不一致,则向所述存储位置信息对应的服务器请求下载所述可动态化发布的动画资源。当针对旧版本动画资源进行动画样式变更和/或交互变更后得到新版本动画数据,则将新版本动画数据存储至所述动画资源的存储位置信息,并配置版本信息,即可帮助实现新版本动画资源动态化发布。
如步骤S102所述,解析所述动画资源的图层,标记可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建所述视图树。其中,所述基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,包括:基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;根据所述图层属性绘制对应图层,将各图层进行叠加;根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像。实际应用时,客户端基于动画框架解析出layer的具体信息,绘制对应的图层,将所有的layer叠加得到最终视图,通过有序播放每一个图层的动画,叠加得到整体的动画效果。对于可交互的layer新增code属性。解析图层时,将带code参数的图层标记为可以响应用户操作的可交互图层。针对此类图层,如果用户点击了该图层,则执行code中的文本代码。用户操作具体可以是交互手势,如点击、滑动等。
所述视图树,是基于视图的层级关系构建出的树状结构图,一个视图如果在另外的一个视图的展示范围之内并且展示在其之上,则该视图为另外的一个视图的子节点。一个视图关联一个图层。请参考图3,图中示出了一种视图树结构示意图,包括:根节点root,子节点node0、node1、node2,以及node1的子节点node4。
如步骤S103所述,检测用户操作,确定响应该用户操作的目标图层。其中,所述检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,包括:检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件进行处理,以实现与所述用户操作对应的预设交互效果。其中,所述从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,包括:针对遍历视图树处理中的当前节点,如果找到具有可交互标记的图层,并且所述目标区域的点位信息在所述图层范围内,则将所述图层作为所述目标图层;否则,遍历所述当前节点的子节点,以确定出目标图层。如果所述当前节点没有子节点,则回溯访问与当前节点最近的兄弟节点,以确定出能响应所述交互事件的目标图层。实际应用中,用户操作的手势有多种,如点击、滑动等。以点击为例,当用户点击屏幕中的某一个区域时,客户端将该点击在屏幕的点位信息作为参数,传入视图树。从根节点开始询问节点关联的图层是否响应点击事件,如果有图层响应该事件,则拦截该事件并开始处理该事件。否则遍历该节点的子节点,如果该节点没有子节点,则回溯,访问离该节点最近的兄弟节点。请继续参考图3,遍历该图所示的视图树时,访问顺序为: root ->node0 ->node1 ->node4 ->node2。如果访问顺序链中的某节点响应了点击事件,则该节点拦截该点击事件,后面的节点不再遍历。实施时,layer(图层)对应于各节点,若layer带有code标记,则说明该layer响应交互事件,将该事件拦截,并且触发解析该layer的code字段对应的文本信息,进一步确定文本信息的语义,根据语义调用函数实现交互。
如步骤S104所述,确定目标图层的交互属性的文本信息的目标语义,根据目标语义执行用于实现预设交互效果的函数。所述目标图层的交互属性,是指该图层(即layer)带有code字段,所述交互属性的文本信息,是指code字段对应的文本,即文本代码。其中,所述获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数,包括:所述目标图层拦截所述交互事件后触发获取所述文本信息;针对所述文本信息进行分词得到字符块,根据所述字符块的含义以及所述字符块之间的位置关系得到所目标语义;根据所述目标语义调用所述函数以实现与所述交互事件对应的所述预设交互效果。其中,所述根据所述字符块的含义以及所述字符块之间的位置关系得到所目标语义,包括:根据所述字符块的含义、所述字符块之间的位置关系以及运算符之间的运算优先级得到所述目标语义。本步骤主要是根据文本完成对应的交互功能。实际应用时,所述文本信息经过词法分析器的处理,被切割成一个或多个字符块。字符块在输入至语法分析器。语法分析器根据字符块的含义和之间的位置关系解析得到对应的目标语义。优选的,根据字符块的含义和之间的位置关系以及运算符之间的运算优先级解析得到文本的目标语义。所述目标语义优选为具有程序含义的结构化表示。根据目标语义调用相应的函数,得到预期的交互过程。
请参考图4,图中示出了一种语言解析流程示意图,包括:S401,获取交互属性对应的文本;S402,该文本输入词法分析器lexer,对该文本分词得到字符块(tokens);S403,分词得到的字符块输入语法分析器parser,输出语义;S404,根据语义执行对应函数,实现人机交互过程。
请参考图5,图中示出了一种实现动画及交互效果的流程图,包括:S501,下载基于动画框架的动画资源。S502,解析动画资源的动画框架文件(即json格式的结构文件),得到组成动画资源的图层信息。S503,判断图层是否有code参数,如果有则跳转到S504,否则跳转到S505。code参数是指表示是否有交互属性的参数。S504,标记当前图层是可响应用户操作的可交互图层,记录code对应的值,该值可以为文本。S505,生成图层的视图。S506,组合所有图层得到最终视图。S507,是否有交互事件(如点击事件),如果有则跳转到S508,否则继续等待。S508,遍历视图树寻找可响应该交互事件的可交互图层。S509,是否找到交互区域在图层范围内且该图层带有可响应用户操作标记(即可交互标记),如果找到则跳转S510,否则不响应该交互事件,跳转S507,继续下一次交互事件。S510,解析图层的code的值(即文本),经过词法分析器和语法分析器得到语义内容。S511,执行code的值对应的语义内容。
需要说明的是,在不冲突的情况下,在本实施例和本申请的其他实施例中给出的特征可以相互组合,并且步骤S101和S102或类似用语不限定步骤必须先后执行。
至此,对本实施例提供的方法进行了说明,所述方法在动画资源的结构数据中包括可交互图层的交互属性,因而使用该动画资源的应用能够解析出可交互图层,并确定响应用户操作的图层,根据交互属性文本信息的语义确定执行函数,实现预设交互效果。因此,当动画资源的样式和/或交互发生变更后可以单独发布变更后的动画资源,应用也能解析出并执行变更后的信息,使得能够动态化发布动画资源。进一步,基于动画框架解析动画资源,能够实现整体渲染,避免针对各模块或子模块开发动画函数,降低了复杂动画的开发难度;并且,支持解析交互属性,从而便于实现动画资源的可交互能力。因而,在保证动画效果和可交互的基础上,能够降低开发难度,实现快速迭代。
以上述实施例为基础,本申请第二实施例提供另一种动画资源处理方法。以下结合图6对所述方法进行说明,相同部分请参见上述实施例对应部分的描述,不再赘述。图6所示的动画资源处理方法,包括:
步骤S601,获取待处理的初始动画资源;
步骤S602,根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,增加交互属性后得到的动画资源为可动态化发布的动画资源;
步骤S603,响应于动画资源加载请求,向发出所述动画资源加载请求的客户端发送动画资源配置信息,所述动画资源配置信息用于确定客户端是否下载所述可动态化发布的动画资源。
本实施例提供的所述方法可以应用于向客户端发布动画资源的服务器。
在步骤S601中,所述获取待处理的初始动画资源,包括:通过插件工具导出已设计好的动画资源,作为所述初始动画资源。其中,所述通过插件工具导出已设计好的动画资源,包括:通过特效软件中的动画导出插件导出所述特效软件中已设计好的动画资源,导出的动画数据为遵从动画框架规范的json格式数据。其中,所述json格式数据,包括用于描述组成所述动画资源的图层信息的图层集字段;所述图层集字段与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,所述可交互图层的图层元素字段还包括交互属性。
在步骤S602中,所述根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,包括:根据所述预设交互效果确定所述初始动画资源中需要响应用户操作的图层以及对应的交互信息;基于所述交互信息针对需要响应用户操作的图层增加交互属性,得到所述可动态化发布的动画资源的可交互图层。本步骤中对导出的基于动画框架的结构文件如json文件新增图层属性,即交互属性,该交互属性可以被应用动画资源的客户端解析。该客户端安装有支持解析该交互属性字段的动画框架。
本实施例中,所述动画资源配置信息,包括:所述可动态化发布的动画资源的存储位置信息以及版本信息。若所述客户端本地不存在动画资源,则下载该动画资源;若所述客户端本地存在动画资源,则比对其本地的动画资源的版本信息与服务器提供的所述配置信息中该动画资源的版本信息,若所述配置信息中该动画资源的版本信息较新,则根据所述存储位置信息请求下载该较新版本的动画资源,从而实现动画资源的动态化发布。进一步,所述可动态化发布的动画资源,为针对旧版本动画资源进行动画样式变更和/或交互变更后得到的动画数据。
至此,对本实施例提供的方法进行了说明,所述方法中动画资源增加了可交互图层的交互属性,使用该动画资源的应用可以解析出可交互图层,便于实现动画资源的可交互性。进一步,动画资源遵从动画框架规范,因而基于动画框架的应用能够解析动画资源,实现整体渲染,简化复杂动画的开发难度,并且便于动画资源的动态化发布。因此,在保证动画效果和可交互的基础上,能够降低开发难度,实现快速迭代。
与第一实施例对应,本申请第三实施例提供一种动画资源处理装置,相关的部分请参见对应方法实施例的说明即可。请参考图7,图中所示的动画资源处理装置,包括:
资源获取单元701,用于获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;
资源解析单元702,用于基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;
操作检测单元703,用于检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,所述目标图层为具有可交互标记的图层;
操作响应单元704,用于获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。
可选的,所述可动态化发布的动画资源,为根据预设交互效果针对初始动画资源包括的需要响应用户操作的图层增加交互属性所得到。
可选的,所述初始动画资源,为通过插件工具针对已设计好的动画资源进行导出操作所得到。
可选的,所述初始动画资源,为通过特效软件中的动画导出插件导出所述特效软件中已设计好的动画资源所得到。
可选的,所述初始动画资源以及所述可动态化发布的动画资源,为遵从动画框架规范的json格式数据。
可选的,所述json格式数据,包括用于描述组成所述动画资源的图层属性的图层集字段;所述图层集字段中与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,所述可交互图层的图层元素字段还包括交互属性。
可选的,所述资源解析单元702,具体用于:基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;根据所述图层属性绘制对应图层,将各图层进行叠加;根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像。
可选的,所述操作检测单元703,具体用于:检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件进行处理,以实现与所述用户操作对应的预设交互效果。
可选的,所述操作检测单元703,具体用于:针对遍历视图树处理中的当前节点,如果找到具有可交互标记的图层,并且所述目标区域的点位信息在所述图层范围内,则将所述图层作为所述目标图层;否则,遍历所述当前节点的子节点,以确定出目标图层。
可选的,所述操作检测单元703,具体用于:如果所述当前节点没有子节点,则回溯访问与当前节点最近的兄弟节点,以确定出能响应所述交互事件的目标图层。
可选的,所述操作响应单元704,具体用于:所述目标图层拦截所述交互事件后触发获取所述文本信息;针对所述文本信息进行分词得到字符块,根据所述字符块的含义以及所述字符块之间的位置关系得到所目标语义;根据所述目标语义调用所述函数以实现与所述交互事件对应的所述预设交互效果。
可选的,所述操作响应单元704,具体用于:根据所述字符块的含义、所述字符块之间的位置关系以及运算符之间的运算优先级得到所述目标语义。
可选的,所述资源获取单元701,具体用于:向存储动画资源配置信息的服务器发送动画资源加载请求;获取所述服务器响应于所述动画资源加载请求反馈的动画资源配置信息;根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源。
可选的,所述资源获取单元701,具体用于:所述动画资源配置信息包括所述动画资源的存储位置信息以及版本信息;如果判断所述版本信息与对应的本地已有动画资源的版本信息不一致,则向所述存储位置信息对应的服务器请求下载所述可动态化发布的动画资源。
可选的,所述初始动画资源以及所述可动态化发布的动画资源,包括多个图层。
与第二实施例对应,本申请第四实施例提供一种动画资源处理装置,相关的部分请参见对应方法实施例的说明即可。请参考图8,图中所示的动画资源处理装置,包括:
初始资源获取单元801,用于获取待处理的初始动画资源;
增加交互单元802,用于根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,增加交互属性后得到的动画资源为可动态化发布的动画资源;
资源加载单元803,用于响应于动画资源加载请求,向发出所述动画资源加载请求的客户端发送动画资源配置信息,所述动画资源配置信息用于确定客户端是否下载所述可动态化发布的动画资源。
可选的,所述初始资源获取单元801,具体用于:通过插件工具导出已设计好的动画资源,作为所述初始动画资源。
可选的,所述初始资源获取单元801,具体用于:通过特效软件的动画导出插件导出所述特效软件中已设计好的动画资源,导出的动画数据为遵从动画框架规范的json格式数据。
可选的,所述json格式数据,包括用于描述组成所述动画资源的图层信息的图层集字段;所述图层集字段与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,所述可交互图层的图层元素字段还包括交互属性。
可选的,所述增加交互单元802,具体用于:根据所述预设交互效果确定所述初始动画资源中需要响应用户操作的图层以及对应的交互信息;基于所述交互信息针对需要响应用户操作的图层增加交互属性,得到所述可动态化发布的动画资源的可交互图层。
可选的,所述动画资源配置信息,包括:所述可动态化发布的动画资源的存储位置信息以及版本信息。
可选的,所述可动态化发布的动画资源,为针对旧版本动画资源进行动画样式变更和/或交互变更后得到的动画数据。
以上述实施例为基础,本申请第五实施例提供一种动画资源处理系统,相关的部分请参见上述实施例的对应说明即可。请参考图9,图中所示的动画资源处理系统,包括:动画资源解析模块901、交互模块902、语言解析模块903。
所述动画资源解析模块901,用于获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;
所述交互模块902,用于检测到用户操作,触发生成与用户操作对应的交互事件,根据所述视图树确定能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件,触发所述语言解析模块解析所述目标图层的交互属性;其中,所述目标图层为具有可交互标记且用户操作的点位信息位于图层范围内的图层;
所述语言解析模块903,用于获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数。
本实施例提供的系统,为一种高效的开发可交互复杂动画的动态化系统。优选的,所述动画资源解析模块为基于动画框架的解析模块,由于动画框架的特性,具备高度动态化和高程度的动画框架效果能力。所述动画资源解析模块解析动画资源,尤其是基于动画框架的动画资源,还可以进行整体视图的生成以及动画控制。实际应用中,动画设计师在特效软件中设计完成动画,通过指定插件导出遵从所述动画框架规范的记录动画信息的json文件,客户端使用该动画资源时由动画资源解析模块读取该json文件, 解析出动画结构和参数信息并渲染。其中,交互模块902,使得所述系统在动画框架基础上具有交互的特性。其作用是能够寻找用户当前操作(如点击)的哪一个可以响应该操作的图层,并且调用该图层的响应事件。语言解析模块903,可以基于词法分析技术和语法分析技术实现,从而能够解释随动画资源下载的代码,并且根据语法分析输出的语义执行对应逻辑,以获得期望的效果。
如图9所示,实施时可以将各模块的功能分解到各模块的子模块实现。其中,动画资源解析模块包括动画解析子模块、图层解析子模块、静态视图生成子模块以及动画管理子模块。动画解析子模块用于解析动画资源的动画框架结构文件如遵从该动画框架的json文件;图层解析子模块用于解析各图层元素所包括的各属性,如交互属性。静态视图生成子模块用于根据图层的静态属性(如位置属性、不透明度属性等)绘制静态视图。动画管理子模块用于根据图层的动态属性(如缩放属性、旋转属性等)有序播放每一图层的动画,叠加得到具有动画效果的目标图像。交互模块包括交互事件传递子模块、交互事件响应子模块。交互事件传递子模块用于基于视图层级关系在视图树各节点关联的图层之间传递交互事件直到确定出响应该交互事件的目标图层,由该目标图层拦截该交互事件,并触发交互事件响应子模块。交互事件响应子模块对该交互事件进行处理解析出交互属性值(如交互属性对应的文本信息),传递给语言解析模块。语言解析模块包括词法分析器、语法分析器以及语义实现子模块。词法分析器对交互属性的文本进行分词生成标记流(一个一个字符块的流)输入到语法分析器,由语法分析器进行语法检查并按照给定文法形式转换为结构化表示(即语义内容),例如转换为数据结构,语义实现子模块根据转换得到的语义内容调用函数实现对交互事件的响应,以达到针对该交互事件的预设交互效果。
实施时,所述动画资源解析模块,还用于:基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;根据所述图层属性绘制对应图层,将各图层进行叠加;根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像。
本实施例中,所述检测到用户操作,触发生成与用户操作对应的交互事件,根据所述视图树确定能响应所述交互事件的目标图层,包括:检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件且所述目标区域的点位信息在图层范围内的目标图层,由所述目标图层拦截所述交互事件进行处理,以实现与所述用户操作对应的预设交互效果。
本实施例中,所述系统还包括服务器;其中,所述服务器,存储有动画资源配置信息;接收客户端发送的动画资源加载请求;响应于所述动画资源加载请求,向所述客户端发送动画资源配置信息,所述动画资源配置信息用于确定是否下载所述可动态化发布的动画资源;其中,所述可动态化发布的动画资源,为根据预设交互效果针对初始动画资源中需要响应用户操作的图层增加交互属性所得到的动画资源。
以上述实施例为基础,本申请第六实施例提供一种电子设备,相关的部分请参见上述实施例的对应说明即可。请参考图10,图中所示的电子设备包括:存储器1001,以及处理器1002;所述存储器用于存储计算机程序,所述计算机程序被处理器运行后,执行本申请实施例提供的所述方法。
以上述实施例为基础,本申请第七实施例提供一种计算机存储介质,相关的部分请参见上述实施例的对应说明即可。所述计算机存储介质的示意图类似图10,图中的存储器可以理解为所述存储介质。所述计算机存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现本申请实施例提供的所述方法。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
在一个典型的配置中,电子设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (10)
1.一种动画资源处理方法,其特征在于,包括:
获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;
基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;
检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,所述目标图层为具有可交互标记的图层;
获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数;
其中,所述检测到用户操作,根据所述视图树确定能响应所述用户操作的目标图层,包括:
检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件进行处理。
2.根据权利要求1所述的方法,其特征在于,所述可动态化发布的动画资源,为根据预设交互效果针对初始动画资源包括的需要响应用户操作的图层增加交互属性所得到;
所述初始动画资源,为通过特效软件中的动画导出插件导出所述特效软件中已设计好的动画资源所得到;
所述初始动画资源以及所述可动态化发布的动画资源,为遵从动画框架规范的json格式数据;
所述json格式数据,包括用于描述组成所述动画资源的图层属性的图层集字段;所述图层集字段中与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,所述可交互图层的图层元素字段还包括交互属性。
3.根据权利要求1所述的方法,其特征在于,所述基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,包括:
基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;
根据所述图层属性绘制对应图层,将各图层进行叠加;
根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像。
4.根据权利要求1所述的方法,其特征在于,所述从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件的目标图层,包括:
针对遍历视图树处理中的当前节点,如果找到具有可交互标记的图层,并且所述目标区域的点位信息在所述图层范围内,则将所述图层作为所述目标图层;否则,遍历所述当前节点的子节点,以确定出目标图层;
如果所述当前节点没有子节点,则回溯访问与当前节点最近的兄弟节点,以确定出能响应所述交互事件的目标图层。
5.根据权利要求4所述的方法,其特征在于,所述获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数,包括:
所述目标图层拦截所述交互事件后触发获取所述文本信息;
针对所述文本信息进行分词得到字符块,根据所述字符块的含义以及所述字符块之间的位置关系得到所述目标语义;
根据所述目标语义调用所述函数以实现与所述交互事件对应的所述预设交互效果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述字符块的含义以及所述字符块之间的位置关系得到所述目标语义,包括:
根据所述字符块的含义、所述字符块之间的位置关系以及运算符之间的运算优先级得到所述目标语义。
7.根据权利要求1所述的方法,其特征在于,所述获取可动态化发布的动画资源,包括:
向存储动画资源配置信息的服务器发送动画资源加载请求;
获取所述服务器响应于所述动画资源加载请求反馈的动画资源配置信息;
根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源;
所述根据所述动画资源配置信息确定是否下载所述可动态化发布的动画资源,包括:
所述动画资源配置信息包括所述动画资源的存储位置信息以及版本信息;
如果判断所述版本信息与对应的本地已有动画资源的版本信息不一致,则向所述存储位置信息对应的服务器请求下载所述可动态化发布的动画资源。
8.一种动画资源处理方法,其特征在于,包括:
获取待处理的初始动画资源;
根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,增加交互属性后得到的动画资源为可动态化发布的动画资源;
响应于动画资源加载请求,向发出所述动画资源加载请求的客户端发送动画资源配置信息,所述动画资源配置信息用于确定客户端是否下载所述可动态化发布的动画资源;
其中,所述获取待处理的初始动画资源,包括:
通过特效软件的动画导出插件导出所述特效软件中已设计好的动画资源,作为所述初始动画资源,导出的动画数据为遵从动画框架规范的json格式数据;
所述json格式数据,包括用于描述组成所述动画资源的图层信息的图层集字段;所述图层集字段与每个图层对应的图层元素字段至少定义对应图层的静态属性以及动态属性;其中,可交互图层的图层元素字段还包括交互属性;
其中,所述根据预设交互效果针对所述初始动画资源中需要响应用户操作的图层增加交互属性,包括:
根据所述预设交互效果确定所述初始动画资源中需要响应用户操作的图层以及对应的交互信息;
基于所述交互信息针对需要响应用户操作的图层增加交互属性,得到所述可动态化发布的动画资源的可交互图层。
9.一种动画数据处理系统,其特征在于,包括:动画资源解析模块、交互模块、语言解析模块;其中,
所述动画资源解析模块,用于获取可动态化发布的动画资源;其中,组成所述动画资源的图层包括能响应用户操作的可交互图层,所述动画资源的结构数据包括所述可交互图层的交互属性;基于所述动画资源的结构数据解析得到所述动画资源的图层,标记所述图层中能响应用户操作的可交互图层,生成每一图层的视图,并根据视图之间的层级关系构建用于渲染出目标图像的视图树;其中,所述视图树的节点之间的父子关系表征视图之间的层级关系,所述目标图像具有与所述动画资源相同或相似的动画效果;
所述交互模块,用于检测到用户操作,触发生成与用户操作对应的交互事件,根据所述视图树确定能响应所述交互事件的目标图层,由所述目标图层拦截所述交互事件,触发所述语言解析模块解析所述目标图层的交互属性;其中,所述目标图层为具有可交互标记且用户操作的点位信息位于图层范围内的图层;
所述语言解析模块,用于获取所述目标图层的交互属性对应的文本信息,确定所述文本信息对应的目标语义,根据所述目标语义执行用于实现预设交互效果的函数;
所述动画资源解析模块,还用于:
基于动画框架从所述可动态化发布的动画资源对应的json格式数据中解析出图层的图层属性,标记所述可交互图层并记录对应的交互属性值;所述交互属性值为交互属性对应的文本信息;
根据所述图层属性绘制对应图层,将各图层进行叠加;
根据各图层的动态属性有序播放每一图层的动画,从而叠加得到具有所述动画效果的目标图像;
所述检测到用户操作,触发生成与用户操作对应的交互事件,根据所述视图树确定能响应所述交互事件的目标图层,包括:
检测到用户操作屏幕中目标区域,确定所述目标区域的点位信息并触发生成与所述用户操作对应的交互事件;
将所述目标区域的点位信息输入所述视图树,从所述视图树的根节点开始遍历视图树的各节点,确定出能响应所述交互事件且所述目标区域的点位信息在图层范围内的目标图层,由所述目标图层拦截所述交互事件进行处理,以实现与所述用户操作对应的预设交互效果。
10.一种电子设备,其特征在于,包括:
存储器,以及处理器;所述存储器用于存储计算机程序,所述计算机程序被所述处理器运行后,执行权利要求1-8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542731.4A CN117251231B (zh) | 2023-11-17 | 2023-11-17 | 一种动画资源处理方法、装置、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542731.4A CN117251231B (zh) | 2023-11-17 | 2023-11-17 | 一种动画资源处理方法、装置、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117251231A CN117251231A (zh) | 2023-12-19 |
CN117251231B true CN117251231B (zh) | 2024-02-23 |
Family
ID=89137305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311542731.4A Active CN117251231B (zh) | 2023-11-17 | 2023-11-17 | 一种动画资源处理方法、装置、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251231B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402852A (zh) * | 1999-10-22 | 2003-03-12 | 动感天空公司 | 面向目标的视频系统 |
CN101606039A (zh) * | 2007-01-08 | 2009-12-16 | 微软公司 | 根据用户参数的动态地图呈现 |
CN109508191A (zh) * | 2018-11-22 | 2019-03-22 | 北京腾云天下科技有限公司 | 一种代码生成方法及系统 |
CN109710353A (zh) * | 2018-12-12 | 2019-05-03 | 浙江口碑网络技术有限公司 | 页面中的动画元素的展现方法及装置 |
CN112181416A (zh) * | 2020-10-12 | 2021-01-05 | 上海赛可出行科技服务有限公司 | 一种从视觉稿直接生成ui代码的方法及装置 |
CN112882638A (zh) * | 2021-02-23 | 2021-06-01 | 上海哔哩哔哩科技有限公司 | 多图层动画展示方法及装置 |
CN112882637A (zh) * | 2021-02-23 | 2021-06-01 | 上海哔哩哔哩科技有限公司 | 多图层动画展示的交互方法及浏览器 |
CN113409427A (zh) * | 2021-07-21 | 2021-09-17 | 北京达佳互联信息技术有限公司 | 动画播放方法、装置、电子设备及计算机可读存储介质 |
CN115687816A (zh) * | 2021-07-30 | 2023-02-03 | 上海哔哩哔哩科技有限公司 | 资源处理方法及装置 |
CN115934974A (zh) * | 2021-08-17 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种多媒体数据的处理方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130124980A1 (en) * | 2011-11-16 | 2013-05-16 | Future IP Limited | Framework for creating interactive digital content |
EP3803563A1 (en) * | 2018-06-03 | 2021-04-14 | Apple Inc. | Framework providing application programming interface for user interfaces and animation |
-
2023
- 2023-11-17 CN CN202311542731.4A patent/CN117251231B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402852A (zh) * | 1999-10-22 | 2003-03-12 | 动感天空公司 | 面向目标的视频系统 |
CN101606039A (zh) * | 2007-01-08 | 2009-12-16 | 微软公司 | 根据用户参数的动态地图呈现 |
CN109508191A (zh) * | 2018-11-22 | 2019-03-22 | 北京腾云天下科技有限公司 | 一种代码生成方法及系统 |
CN109710353A (zh) * | 2018-12-12 | 2019-05-03 | 浙江口碑网络技术有限公司 | 页面中的动画元素的展现方法及装置 |
CN112181416A (zh) * | 2020-10-12 | 2021-01-05 | 上海赛可出行科技服务有限公司 | 一种从视觉稿直接生成ui代码的方法及装置 |
CN112882638A (zh) * | 2021-02-23 | 2021-06-01 | 上海哔哩哔哩科技有限公司 | 多图层动画展示方法及装置 |
CN112882637A (zh) * | 2021-02-23 | 2021-06-01 | 上海哔哩哔哩科技有限公司 | 多图层动画展示的交互方法及浏览器 |
CN113409427A (zh) * | 2021-07-21 | 2021-09-17 | 北京达佳互联信息技术有限公司 | 动画播放方法、装置、电子设备及计算机可读存储介质 |
CN115687816A (zh) * | 2021-07-30 | 2023-02-03 | 上海哔哩哔哩科技有限公司 | 资源处理方法及装置 |
CN115934974A (zh) * | 2021-08-17 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种多媒体数据的处理方法、装置、设备及介质 |
Non-Patent Citations (4)
Title |
---|
Yu Sudo.Designing interaction and animation in YS-3: multi-layered interactive animation device.DIMEA '08: Proceedings of the 3rd international conference on Digital Interactive Media in Entertainment and Arts.2008,全文. * |
使用Carto Vista软件构筑在线动态专题地图;肖克;任福;张静华;;地理信息世界(第01期);全文 * |
基于触控操作方式的大气科学数据可视化系统技术研究与实现;于连庆;;南京信息工程大学学报(自然科学版)(第06期);全文 * |
浅析FLASH图形动画在广告设计中的应用;陈瑶;;设计(第23期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117251231A (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5225399B2 (ja) | デスクトップ・アプリケーション移行のためのシステムと方法 | |
CN105574049B (zh) | 移动应用的页面处理方法、装置和系统 | |
US10565293B2 (en) | Synchronizing DOM element references | |
CN108984172B (zh) | 一种界面文件的生成方法及装置 | |
CN108415702B (zh) | 一种移动终端应用界面动态渲染方法和装置 | |
JP5947888B2 (ja) | 統合開発環境におけるライブ・ブラウザー・ツーリング | |
CN111666526A (zh) | 页面生成方法、装置、设备及存储介质 | |
CN114064024B (zh) | 微应用的开发方法、装置、设备、存储介质及程序产品 | |
CN104267947A (zh) | 一种编辑弹窗图片的方法及弹窗图片编辑装置 | |
CA2619313A1 (en) | Initial server-side content rendering for client-script web pages | |
CN113032708A (zh) | 一种无代码Web开发系统 | |
US20220043546A1 (en) | Selective server-side rendering of scripted web page interactivity elements | |
WO2016005885A2 (en) | Asynchronous initialization of document object model (dom) modules | |
CN116301951B (zh) | 一种基于kubernetes的微服务应用安装升级方法及装置 | |
CN114742928A (zh) | 动画渲染方法、装置、电子设备及介质 | |
Kienle et al. | Evolution of web systems | |
CN117909514A (zh) | 一种文旅产业场景下的知识图谱设计方法及装置 | |
CN117251231B (zh) | 一种动画资源处理方法、装置、系统及电子设备 | |
Honkala | Web user interaction: a declarative approach based on XForms | |
CN116028038B (zh) | 基于dag图表的可视化流水线编排方法及相关组件 | |
CN114996345B (zh) | 基于ogc网络处理服务的在线服务组合方法 | |
CN118051227A (zh) | 代码生成方法、装置、设备及介质 | |
CN117348871A (zh) | 基于模板的页面控件生成方法及装置 | |
CN118642702A (zh) | 一种跨平台代码生成方法、装置、设备及存储介质 | |
CN116910399A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |