CN114281773A - 动画显示方法、装置、电子设备及计算机可读存储介质 - Google Patents
动画显示方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114281773A CN114281773A CN202111620540.6A CN202111620540A CN114281773A CN 114281773 A CN114281773 A CN 114281773A CN 202111620540 A CN202111620540 A CN 202111620540A CN 114281773 A CN114281773 A CN 114281773A
- Authority
- CN
- China
- Prior art keywords
- animation
- frame information
- file
- format
- displayed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000000694 effects Effects 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims description 31
- 230000000007 visual effect Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种动画显示方法、装置、电子设备及计算机可读存储介质,方法应用于Unity中,包括:解析待显示动画文件;所述待显示动画文件为对After Effect导出的动画文件进行扩展后,得到的json格式的动画文件;提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式;在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。本申请的方案实现了对于After Effect的语言的兼容,相较于现有技术而言,减少了使用限制。同时,还实现了对于Unity最新的UIToolkit框架的支持。
Description
技术领域
本申请涉及动画技术领域,具体而言,涉及一种动画显示方法、装置、电子设备及计算机可读存储介质。
背景技术
Unity是实时3D互动内容创作和运营平台。在使用Unity引擎开发非游戏类应用程序的时候,需要用到大量的2D动画效果,Unity引擎提供的内置的动画编辑器对于非专业Unity从业人员来说并不方便,更多的用户会使用After Effect来制作动画效果。
而为了让Unity引擎可以使用After Effect(一款动态图形和视觉效果软件)制作的动画效果,目前通常通过一款名叫AE2Unity的Unity插件来实现。但是,AE2Unity只支持UGUI和NGUI框架,不支持Unity最新的UIToolkit框架。且AE2Unity在对After Effect制作的动画效果进行导出时,要求所有的图片名和层级名需要全部用英文,且要求将AfterEffect的语言设置为英文,具有较大的使用限制。
发明内容
本申请实施例的目的在于提供一种动画显示方法、装置、电子设备及计算机可读存储介质,用以提供一种新的在Unity中使用After Effect动画效果的解决方案,以支持Unity最新的UIToolkit框架。
本申请实施例提供了一种动画显示方法,应用于Unity中,包括:解析待显示动画文件;所述待显示动画文件为对After Effect导出的动画文件进行扩展后,得到的json格式的动画文件;提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式;在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。
在上述实现过程中,通过对After Effect导出的动画文件进行扩展后,得到的json格式的待显示动画文件进行解析,从而利用json格式具有更高的语言兼容性的特点,实现了对于After Effect的语言的兼容,相较于现有技术而言,减少了使用限制。同时,通过将待显示动画文件的图片资源和动画帧信息存储为通用格式,然后在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画,这就实现了对于Unity最新的UIToolkit框架的支持,同时还能实现对于Unity原本的UGUI和NGUI框架的支持,实现了一种兼容性更高的,可以在Unity中使用After Effect动画效果的解决方案。
进一步地,提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式,包括:将所述待显示动画文件的动画帧信息写入所述通用格式的中间文件中;将所述待显示动画文件的图片资源转换成Unity的纹理,将所述纹理的引用写入所述中间文件中。
在上述实现过程中,通过将待显示动画文件的动画帧信息写入所述通用格式的中间文件中,而将待显示动画文件的图片资源转换成Unity的纹理,将所述纹理的引用写入所述中间文件中,这样,图片资源可以有效被Unity使用,从而保证了在运行时,可以有效获取到所需的资源。
进一步地,所述通用格式为ScriptableObject格式。
ScriptableObject格式是Unity引擎提供的一种可以高度定制的可序列化和反序列化的资源格式,由一个C#脚本来定义其存储内容。在上述实现过程中,通过采用ScriptableObject格式来存储动画帧信息和图片资源,可以达到对于Unity的各种框架的有效兼容,提高本申请方案的适用性。
进一步地,所述动画帧信息包括:图层结构和图层的关键帧信息。
在上述实现过程中,通过存储待显示动画文件的图层结构和图层的关键帧信息,可以使得后续进行动画创建时,可以基于图层结构和图层的关键帧信息构建出相应的对象和显示方式,从而保证创建并播放动画时的显示效果。
进一步地,若所述Unity中采用的不是UIToolkit框架,在提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式之后,所述方法还包括:将以所述通用格式存储的所述关键帧信息的Y轴坐标翻转。
应理解,对json格式的动画文件进行解析后,关键帧信息的Y轴通常是朝下的。而在Unity引擎中,除UIToolkit框架之外,其他框架下关键帧信息的Y轴是朝上的。因此,在上述实现过程中,通过对以通用格式存储的关键帧信息的Y轴坐标进行翻转,可以保证存储后的关键帧信息与Unity引擎中所采用的框架的坐标系是相适配的,从而保证具有良好的显示效果。
进一步地,读取该通用格式的图片资源和动画帧信息,创建并播放动画,包括:根据所述图层结构创建GameObject对象树;在所述GameObject对象树中添加显示组件,并设置显示信息;调用更新函数进行更新显示;所述更新函数用于根据所述图层的关键帧信息,插值计算出每个图层在当前帧的显示方式。
若Unity中采用的不是UIToolkit框架,采用的是如UGUI和NGUI等框架时,由于这些框架支持的是GameObject对象树,因此可以通过上述方式创建GameObject对象树,并通过设置的更新函数,实现对于每个图层的显示方式的确定,进而实现更新显示。这样,通过通用格式即保证了所需资源的可识别性,而通过设置的更新函数,就实现了对于动画的显示,从而可以达到良好的动画显示效果。
进一步地,若所述Unity中采用的是UIToolkit框架,读取该通用格式的图片资源和动画帧信息,创建并播放动画,包括:根据所述图层结构创建VisualElement对象树;在所述VisualElement对象树中设置每个图层对应的VisualElement对象的显示信息;调用更新函数进行更新显示;所述更新函数用于根据所述图层的关键帧信息,插值计算出每个图层在当前帧的显示方式。
若Unity中采用的是UIToolkit框架,由于这些UIToolkit框架支持的是VisualElement对象树,因此可以通过上述方式创建VisualElement对象树,并通过设置的更新函数,实现对于每个图层的显示方式的确定,进而实现更新显示。这样,通过通用格式即保证了所需资源的可识别性,而通过设置的更新函数,就实现了对于动画的显示,从而可以达到良好的动画显示效果。
本申请实施例还提供了一种动画显示装置,应用于Unity中,包括:解析模块、提取模块和运行时处理模块;所述解析模块,用于解析待显示动画文件;所述待显示动画文件为对After Effect导出的动画文件进行扩展后,得到的json格式的动画文件;所述提取模块,用于提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式;所述运行时处理模块,用于在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。
本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的动画显示方法。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的动画显示方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用于Unity中的动画显示方法的流程示意图;
图2为本申请实施例提供的一种当Unity中采用的是UIToolkit框架时,实现动画显示的流程示意图;
图3为本申请实施例提供的一种当Unity中采用的不是UIToolkit框架时,实现动画显示的流程示意图;
图4为本申请实施例提供的一种动画显示装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
考虑到现有基于AE2Unity插件实现在Unity中使用After Effect动画效果的方案存在着要求After Effect的语言必须设置为英文,且不支持Unity最新的UIToolkit框架的问题,本申请发明人经过大量思考与研究后,提出了一种不需要依赖AE2Unity插件即可在Unity中使用After Effect动画效果的新的解决方案。该解决方案不仅支持UIToolkit框架,且也没有要求After Effect的语言必须设置为英文的限制,在工业应用中具有更为广泛的实际应用价值。
请参见图1所示,图1示出了本申请实施例中提供的应用于Unity中的动画显示方法,包括:
S101:解析待显示动画文件。
需要说明的是,本申请实施例中所述的待显示动画文件是指:对After Effect导出的动画文件进行扩展后,得到的json格式的动画文件。
在本申请实施例中,可以采用Bodymovin(是一个After Effects插件)对AfterEffect进行扩展,导出为json格式的动画文件。
S102:提取待显示动画文件的图片资源和动画帧信息,存储为通用格式。
在本申请实施例中,可以通过Lottie库来对json格式的待显示动画文件进行解析,得到Lottie动画格式的图片资源和动画帧信息,然后将图片资源和动画帧信息存储为通用格式。
在本申请实施例中,考虑到图片资源并不能直接被Unity使用,那么为了提高对于Unity的适用性,在提取待显示动画文件的图片资源和动画帧信息,存储为通用格式时,可以是将待显示动画文件的动画帧信息写入通用格式的中间文件中,将待显示动画文件的图片资源转换成Unity的纹理,将纹理的引用写入该中间文件中,从而达到以通用格式存储图片资源和动画帧信息,并可被Unity使用的效果。
需要注意的是,在本申请实施例中,所采用的通用格式可以是Unity提供的ScriptableObject格式。ScriptableObject格式是Unity引擎提供的一种可以高度定制的可序列化和反序列化的资源格式,由一个C#脚本来定义其存储内容。从而,通过ScriptableObject格式来存储待显示动画文件的图片资源和动画帧信息,可以保证对于Unity的适用性。
应理解,ScriptableObject格式仅是本申请实施例中所示例出的一种可选的格式。事实上,只要是Unity中的各种框架可以识别的格式,均可被本申请实施例所采用,在本申请实施例中对此并不做限制。
还应理解,在json格式的动画文件中,主要存储了动画的帧率、帧数、图片资源、图层结构和图层的关键帧信息等信息。
在本申请实施例中,动画帧信息中可以包括:图层结构和图层的关键帧信息,从而可以使得后续进行动画创建时,可以基于图层结构和图层的关键帧信息构建出相应的对象和显示方式,从而保证创建并播放动画时的显示效果。
此外,在本申请实施例中,动画帧信息中还可以包括动画的帧率、帧数,从而在创建并播放动画时,可以按照所存储的帧率和帧数进行播放,已达到与After Effect中一致的动画显示效果。
需要注意的是,由于在Lottie动画格式中坐标系的Y轴是朝下的,而在Unity引擎中,除UIToolkit框架之外,其余框架大多都是Y轴朝上的。为此,若Unity中采用的不是UIToolkit框架,则在提取待显示动画文件的图片资源和动画帧信息,存储为通用格式之后,还可以将以通用格式存储的关键帧信息的Y轴坐标进行翻转,从而保证存储的关键帧信息的坐标系与Unity中采用框架适配。
应理解,在实际应用过程中,也可以是在将关键帧信息存储至通用格式的中间文件中之前,先对关键帧信息的Y轴坐标进行翻转,然后再将翻转后的关键帧信息存储至通用格式的中间文件中。该方式同样可以达到保证存储的关键帧信息的坐标系与Unity中采用框架适配的效果。
S103:在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。
应理解,在实际应用过程中,解析json格式的动画文件是比较耗时的。而且json格式的动画文件中含有经过编码的图片信息,需要先解码,然后再将图片资源转换成Unity的纹理才能供Unity使用,这也是比较耗时的。因此,步骤S101和步骤S102所需要的执行时间可能较长,并不适合在运行时执行,步骤S101和步骤S102实质是运行前的预处理过程。
还应理解,在执行步骤S101和步骤S102之后,在每一次运行时,均可直接通过以所述通用格式存储的待显示动画文件的图片资源和动画帧信息来创建并播放动画,而无需每一次创建并播放动画之前,都再重新执行一次上述步骤S101和步骤S102。
在本申请实施例中,针对不同的框架,创建并播放动画的过程会存在一定差异。
需要注意的是,当Unity中采用的是UIToolkit框架时,创建并播放动画的过程可以参见图2所示,可以包括:
S201:根据图层结构创建VisualElement对象树。
S202:在VisualElement对象树中设置每个图层对应的VisualElement对象的显示信息。
需要理解的是,在本申请实施例中,可以读取所存储的图层结构,按照图层结构创建出VisualElement对象树。
并且,可以根据图层结构中所引用的图片设置每个图层对应的VisualElement对象的背景纹理,根据图层结构中所引用的图片的高、宽,设置每个图层对应的VisualElement对象的高、宽,从而实现对每个图层对应的VisualElement对象的显示信息的设置。
S203:调用更新函数进行更新显示。
需要说明的是,在本申请实施例中,上述更新函数可以是由工程师编写的(非Unity自带的)可被UIToolkit的Schedule机制调用的函数。
该更新函数用于根据图层的关键帧信息,插值计算出每个图层在当前帧的显示方式(如可以插值计算出每个图层在当前帧的位置、旋转、缩放、透明度等)。
在本申请实施例中,UIToolkit的Schedule机制可以按照固定间隔(比如一帧)调用该更新函数,从而达到对于动画的更新显示的效果。
当Unity中采用的是非UIToolkit框架时,创建并播放动画的过程可以参见图3所示,可以包括:
S301:根据图层结构创建GameObject对象树。
在本申请实施例中,可以读取所存储的图层结构,按照图层结构创建出GameObject对象树。
S302:在GameObject对象树中添加显示组件,并设置显示信息。
在本申请实施例中,如果是在Unity场景(即不使用框架)下使用,则添加的显示组件是MeshRenderer组件,如果Unity中采用的是UGUI框架,则添加的显示组件是Image组件,如果Unity中采用的是NGUI框架,则添加的显示组件是Sprite组件。
在本申请实施例中,可以根据图层结构中所引用的图片的高、宽,创建相应高、宽的Mesh网格,并根据图层结构中所引用的图片,设置纹理贴图。需要说明的是,前述高、宽、纹理贴图等即为显示信息。
S303:调用更新函数进行更新显示。
需要说明的是,在本申请实施例中,上述更新函数可以是由工程师编写的(非Unity自带的)可被GameObject对象的Update机制调用的函数。
同样的,该更新函数用于根据图层的关键帧信息,插值计算出每个图层在当前帧的显示方式(如可以插值计算出每个图层在当前帧的位置、旋转、缩放、透明度等)。
类似的,在本申请实施例中,GameObject对象的Update机制可以按照固定间隔(比如一帧)调用该更新函数,从而达到对于动画的更新显示的效果。
需要理解的是,本申请实施例所提供的动画显示方法,可以应用于任何具有Unity的电子设备或电子设备集群中。
本申请实施例所提供的动画显示方法,通过对After Effect导出的动画文件进行扩展后,得到的json格式的待显示动画文件进行解析,从而利用json格式具有更高的语言兼容性的特点,实现了对于After Effect的语言的兼容,相较于现有技术而言,减少了使用限制。同时,通过将待显示动画文件的图片资源和动画帧信息存储为通用格式,然后在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画,这就实现了对于Unity最新的UIToolkit框架的支持,同时还能实现对于Unity原本的UGUI和NGUI框架的支持,实现了一种兼容性更高的,可以在Unity中使用After Effect动画效果的解决方案。
实施例二:
本实施例在实施例一的基础上,以一个较具体的过程为例,为本申请做进一步示例说明。
本实施例提供的方案分为预处理和运行时两个阶段。
A.预处理阶段:
在预处理阶段中,设备需要使用Lottie库,解析从After Effect导出的经扩展的json格式的待显示动画文件。
从json格式的待显示动画文件中,可以解析得到动画的帧率、帧数、图片资源、图层结构和图层的关键帧信息。
将动画的帧率、帧数、图层结构和图层的关键帧信息写入ScriptableObject格式的中间文件中。对图片资源进行解码,将解码后的图片资源转换成Unity的纹理,将纹理的引用写入该ScriptableObject格式的中间文件。
若Unity引擎中采用的不是UIToolkit框架,则将该ScriptableObject格式的中间文件中的关键帧信息的Y轴坐标做翻转运算。
至此,预处理阶段结束。
B.运行时阶段:
在运行时阶段中,设备读取ScriptableObject格式的中间文件,创建并播放动画,根据使用框架的不同,实现方式有所区别。
当Unity中采用的是UIToolkit框架时,方式如下:
1、根据中间文件中的图层结构,创建VisualElement对象树,并根据图层结构中所引用的图片设置每个图层对应的VisualElement对象的背景纹理,根据图层结构中所引用的图片的高、宽,设置每个图层对应的VisualElement对象的高、宽。
2、使用UIToolkit的Schedule机制每间隔一帧,就调用一次更新函数进行更新显示。
在更新函数里,根据图层的关键帧信息,插值计算出每个图层在当前帧的位置、旋转、缩放、透明度等信息,进行按照计算出的信息进行显示。
当Unity中采用的不是UIToolkit框架时,方式如下:
1、根据中间文件中的图层结构创建GameObject对象树。
2、给各图层对应的GameObject对象添加显示组件,并设置宽、高、纹理等显示信息。
如果是在Unity场景下使用,则添加的显示组件是MeshRenderer组件,如果Unity中采用的是UGUI框架,则添加的显示组件是Image组件,如果Unity中采用的是NGUI框架,则添加的显示组件是Sprite组件。
根据图层结构中所引用的图片的高、宽,创建相应高、宽的Mesh网格,并根据图层结构中所引用的图片,设置纹理贴图,实现对于显示信息的设置。
3、使用GameObject的Update机制每间隔一帧,就调用一次更新函数进行更新显示。
同样,在更新函数里,根据图层的关键帧信息,插值计算出每个图层在当前帧的位置、旋转、缩放、透明度等信息,进行按照计算出的信息进行显示。
通过上述方案,After Effect的语言不再存在必须设置为英语的限制,可以在Unity引擎中更为方便的使用After Effect动画特效。同时,通过上述方案,通过采用ScriptableObject格式来存储动画帧信息和图片资源,还可以在UIToolkit框架中使用After Effect动画效果,同时还能实现对于Unity原本的UGUI和NGUI框架的支持,实现了一种兼容性更高的,可以在Unity中使用After Effect动画效果的解决方案。
实施例三:
基于同一发明构思,本申请实施例中还提供动画显示装置400。请参阅图4所示,图4示出了采用图1所示的方法的动画显示装置。应理解,装置400具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置400包括至少一个能以软件或固件的形式存储于存储器中或固化在装置400的操作系统中的软件功能模块。具体地:
参见图4所示,装置400应用于Unity中,包括:解析模块401、提取模块402和运行时处理模块403。其中:
所述解析模块401,用于解析待显示动画文件;所述待显示动画文件为对AfterEffect导出的动画文件进行扩展后,得到的json格式的动画文件;
所述提取模块402,用于提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式;
所述运行时处理模块403,用于在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。
在本申请实施例中,所述提取模块402具体用于,将所述待显示动画文件的动画帧信息写入所述通用格式的中间文件中,将所述待显示动画文件的图片资源转换成Unity的纹理,并将所述纹理的引用写入所述中间文件中。
在本申请实施例中,所述通用格式为ScriptableObject格式。
在本申请实施例中,所述动画帧信息包括:图层结构和图层的关键帧信息。
在本申请实施例的一种可行实施方式中,若所述Unity中采用的不是UIToolkit框架,在提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式之后,所述提取模块402还用于,将以所述通用格式存储的所述关键帧信息的Y轴坐标翻转。
在本申请实施例的一种可行实施方式中,若所述Unity中采用的不是UIToolkit框架,所述运行时处理模块403具体用于,根据所述图层结构创建GameObject对象树,在所述GameObject对象树中添加显示组件,并设置显示信息,调用更新函数进行更新显示;所述更新函数用于根据所述图层的关键帧信息,插值计算出每个图层在当前帧的显示方式。
在本申请实施例的一种可行实施方式中,若所述Unity中采用的是UIToolkit框架,所述运行时处理模块403具体用于,根据所述图层结构创建VisualElement对象树,在所述VisualElement对象树中设置每个图层对应的VisualElement对象的显示信息,调用更新函数进行更新显示;所述更新函数用于根据所述图层的关键帧信息,插值计算出每个图层在当前帧的显示方式。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图5所示,其包括处理器501、存储器502以及通信总线503。其中:
通信总线503用于实现处理器501和存储器502之间的连接通信。
处理器501用于执行存储器502中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的动画显示方法。
可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
示例性的,在本申请实施例中,电子设备可以是内部具有Unity引擎的终端设备(如电脑、手机等),也可以是内部具有Unity引擎的服务器等设备,在本申请实施例中对此不做限制。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的动画显示方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种动画显示方法,其特征在于,应用于Unity中,包括:
解析待显示动画文件;所述待显示动画文件为对After Effect导出的动画文件进行扩展后,得到的json格式的动画文件;
提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式;
在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。
2.如权利要求1所述的动画显示方法,其特征在于,提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式,包括:
将所述待显示动画文件的动画帧信息写入所述通用格式的中间文件中;
将所述待显示动画文件的图片资源转换成Unity的纹理,将所述纹理的引用写入所述中间文件中。
3.如权利要求1所述的动画显示方法,其特征在于,所述通用格式为ScriptableObject格式。
4.如权利要求1-3任一项所述的动画显示方法,其特征在于,所述动画帧信息包括:图层结构和图层的关键帧信息。
5.如权利要求4所述的动画显示方法,其特征在于,若所述Unity中采用的不是UIToolkit框架,在提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式之后,所述方法还包括:
将以所述通用格式存储的所述关键帧信息的Y轴坐标翻转。
6.如权利要求5所述的动画显示方法,其特征在于,读取该通用格式的图片资源和动画帧信息,创建并播放动画,包括:
根据所述图层结构创建GameObject对象树;
在所述GameObject对象树中添加显示组件,并设置显示信息;
调用更新函数进行更新显示;所述更新函数用于根据所述图层的关键帧信息,插值计算出每个图层在当前帧的显示方式。
7.如权利要求4所述的动画显示方法,其特征在于,若所述Unity中采用的是UIToolkit框架,读取该通用格式的图片资源和动画帧信息,创建并播放动画,包括:
根据所述图层结构创建VisualElement对象树;
在所述VisualElement对象树中设置每个图层对应的VisualElement对象的显示信息;
调用更新函数进行更新显示;所述更新函数用于根据所述图层的关键帧信息,插值计算出每个图层在当前帧的显示方式。
8.一种动画显示装置,其特征在于,应用于Unity中,包括:解析模块、提取模块和运行时处理模块;
所述解析模块,用于解析待显示动画文件;所述待显示动画文件为对After Effect导出的动画文件进行扩展后,得到的json格式的动画文件;
所述提取模块,用于提取所述待显示动画文件的图片资源和动画帧信息,存储为通用格式;
所述运行时处理模块,用于在运行时,读取该通用格式的图片资源和动画帧信息,创建并播放动画。
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的程序,以实现如权利要求1至7中任一项所述的动画显示方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的动画显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620540.6A CN114281773B (zh) | 2021-12-28 | 2021-12-28 | 动画显示方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620540.6A CN114281773B (zh) | 2021-12-28 | 2021-12-28 | 动画显示方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281773A true CN114281773A (zh) | 2022-04-05 |
CN114281773B CN114281773B (zh) | 2023-10-27 |
Family
ID=80876683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111620540.6A Active CN114281773B (zh) | 2021-12-28 | 2021-12-28 | 动画显示方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281773B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173293A (zh) * | 2023-11-03 | 2023-12-05 | 武汉方拓数字科技有限公司 | 一种基于Unity的动画曲线序列化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130120401A1 (en) * | 2011-11-14 | 2013-05-16 | Microsoft Corporation | Animation of Computer-Generated Display Components of User Interfaces and Content Items |
CN109064528A (zh) * | 2018-07-18 | 2018-12-21 | 深圳市前海手绘科技文化有限公司 | 一种mg动画在手绘短视频中的快速应用方法 |
CN109658484A (zh) * | 2018-12-21 | 2019-04-19 | 上海哔哩哔哩科技有限公司 | 一种动画自动生成方法及动画自动生成系统 |
CN110119501A (zh) * | 2019-05-10 | 2019-08-13 | 苏州云学时代科技有限公司 | 一种基于教学课件的线上编辑过程提取编辑数据的方法 |
CN112073794A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机可读存储介质和计算机设备 |
CN112396681A (zh) * | 2019-08-13 | 2021-02-23 | 上海哔哩哔哩科技有限公司 | 一种动画生成方法、装置和存储介质 |
-
2021
- 2021-12-28 CN CN202111620540.6A patent/CN114281773B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130120401A1 (en) * | 2011-11-14 | 2013-05-16 | Microsoft Corporation | Animation of Computer-Generated Display Components of User Interfaces and Content Items |
CN109064528A (zh) * | 2018-07-18 | 2018-12-21 | 深圳市前海手绘科技文化有限公司 | 一种mg动画在手绘短视频中的快速应用方法 |
CN109658484A (zh) * | 2018-12-21 | 2019-04-19 | 上海哔哩哔哩科技有限公司 | 一种动画自动生成方法及动画自动生成系统 |
CN110119501A (zh) * | 2019-05-10 | 2019-08-13 | 苏州云学时代科技有限公司 | 一种基于教学课件的线上编辑过程提取编辑数据的方法 |
CN112073794A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机可读存储介质和计算机设备 |
CN112396681A (zh) * | 2019-08-13 | 2021-02-23 | 上海哔哩哔哩科技有限公司 | 一种动画生成方法、装置和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173293A (zh) * | 2023-11-03 | 2023-12-05 | 武汉方拓数字科技有限公司 | 一种基于Unity的动画曲线序列化方法 |
CN117173293B (zh) * | 2023-11-03 | 2024-01-26 | 武汉方拓数字科技有限公司 | 一种基于Unity的动画曲线序列化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114281773B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
CN107832108B (zh) | 3D canvas网页元素的渲染方法、装置及电子设备 | |
CN109597617B (zh) | 基于模板快速生成业务页面的方法和装置 | |
CN108228188B (zh) | 一种视图组件处理方法、电子设备及可读存储介质 | |
US10207190B2 (en) | Technologies for native game experience in web rendering engine | |
CN111669623B (zh) | 视频特效的处理方法、装置以及电子设备 | |
CN107393013B (zh) | 虚拟漫游文件生成、显示方法、装置、介质、设备和系统 | |
CN111966354A (zh) | 一种页面显示方法、装置及计算机可读存储介质 | |
KR20150079867A (ko) | Html5-프로토콜 기반 웹페이지 표시 방법 및 장치 | |
CN104850388A (zh) | 网页绘制方法及装置 | |
CN109672902A (zh) | 一种视频抽帧方法、装置、电子设备和存储介质 | |
CN111951356B (zh) | 基于json数据格式的动画渲染方法 | |
CN112711729A (zh) | 基于页面动画的渲染方法、装置、电子设备及存储介质 | |
CN114281773B (zh) | 动画显示方法、装置、电子设备及计算机可读存储介质 | |
CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
CN113453073B (zh) | 一种图像渲染方法、装置、电子设备及存储介质 | |
CN111589111B (zh) | 图像处理方法、装置、设备和存储介质 | |
CN111796812B (zh) | 图像渲染的方法、装置、电子设备及计算机可读存储介质 | |
CN112700519A (zh) | 动画展示方法、装置、电子设备及计算机可读存储介质 | |
CN114222185B (zh) | 视频播放方法、终端设备及存储介质 | |
CN112367295B (zh) | 插件展示方法及装置、存储介质及电子设备 | |
CN113268221A (zh) | 文件匹配方法、装置、存储介质及计算机设备 | |
Godwin-Jones | New developments in web browsing and authoring | |
CN112417345A (zh) | 渲染方法、装置、电子设备及存储介质 | |
CN114827703B (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 |