一种应用于unity的动画处理方法及装置
技术领域
1.本技术涉及unity3d技术领域,尤其涉及一种应用于unity的动画处理方法及装置。
背景技术:2.随着信息化时代的发展,unity是实时3d互动内容创作和运营平台,unity技术在各个领域得到了广泛运用,例如游戏开发、美术、建筑、汽车设计、影视等,借助unity将创意变成现实。
3.在unity的应用场景中,滑动界面(滑动窗口)中的对象,在进行滑动时,对象的动画状态一致,呈现的是一种二维平面效果,降低了用户体验。
4.因此,对象在进行滑动时,如何改变对象的动画状态单一性是目前亟需解决的问题。
技术实现要素:5.本发申请提供了一种应用于unity的动画处理方法,用以实时改变对象的动画状态。
6.第一方面,提供一种应用于unity的动画处理方法,包括:
7.为滑动窗口中的目标对象创建所述目标对象对应的目标子对象;
8.根据所述目标对象在所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表;其中,所述动画状态对应关系表包括所述目标对象的滑动进度,以及所述滑动进度对应的所述目标子对象的动画状态;所述目标对象在所述滑动窗口中滑动时,根据所述动画状态对应关系表,更新所述目标子对象的动画状态。
9.在一种可能实现的方式中,所述根据所述动画状态对应关系表,更新所述目标子对象的动画状态,包括:
10.获取所述目标对象当前的进度节点;根据所述目标对象当前的进度节点查询所述动画状态对应关系表,确定所述当前的进度节点对应的所述目标子对象的动画状态;使用动画控制器,控制所述目标子对象更新为所述当前的进度节点对应的动画状态。
11.在一种可能实现的方式中,根据所述目标对象在所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表,包括:
12.获取所述目标对象在所述滑动窗口进行滑动的滑动进度;响应于编辑所述目标子对象的动画状态的用户操作,基于动画编辑器编辑所述目标子对象在所述滑动进度中各进度节点的动画状态;将所述滑动进度中各进度节点,以及所述各进度节点各自对应的动画状态进行关联,得到所述动画状态对应关系表。
13.在一种可能实现的方式中,所述动画状态包括以下至少一项:缩放状态、旋转状态、位置状态、阴影状态。
14.第二方面,提供一种应用于unity的动画处理装置,包括:
15.创建模块,用于为滑动窗口中的目标对象创建所述目标对象对应的目标子对象;生成模块,用于根据所述目标对象所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表;其中,所述动画状态对应关系表包括所述目标对象的滑动进度,以及所述滑动进度对应的所述目标子对象的动画状态;更新模块,用于所述目标对象在所述滑动窗口中滑动时,根据所述动画状态对应关系表,更新所述目标子对象的动画状态。
16.在一种可能实现的方式中,所述更新模块,具体用于:
17.获取所述目标对象当前的进度节点;根据所述目标对象当前的进度节点查询所述动画状态对应关系表,确定所述当前的进度节点对应的所述目标子对象的动画状态;使用动画控制器,控制所述目标子对象更新为所述当前的进度节点对应的动画状态。
18.在一种可能实现的方式中,所述生成模块,具体用于:
19.获取所述目标对象在所述滑动窗口进行滑动的滑动进度;响应于编辑所述目标子对象的动画状态的用户操作,基于动画编辑器编辑所述目标子对象在所述滑动进度中各进度节点的动画状态;将所述滑动进度中各进度节点,以及所述各进度节点各自对应的动画状态进行关联,得到所述动画状态对应关系表。
20.在一种可能实现的方式中,所述动画状态包括以下至少一项:缩放状态、旋转状态、位置状态、阴影状态。
21.第三方面,提供一种电子设备,包括:
22.存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现如第一方面中任一项所述的方法步骤。
23.第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法步骤。
24.本技术实施例中,由于为滑动窗口中的目标对象创建目标对象对应的目标子对象;根据该目标对象的滑动进度,生成动画状态对应关系表,该动画状态对应关系表包括目标对象的滑动进度,以及滑动进度对应的目标子对象的动画状态,目标对象在滑动窗口中滑动时,可根据动画状态对应关系表,更新目标子对象的动画状态,因此滑动窗口中的目标对象在进行滑动时,变为可以实时改变动画状态的对象,从而可以实现任意动画效果,提高了用户体验。
25.上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
26.图1为本技术实施例提供的一种应用于unity的动画处理方法的流程图;
27.图2为本技术实施例提供的目标对象在不同进度节点对应的动画状态示意图;
28.图3为本技术实施例提供的滑动窗口中目标对象与目前的滑动窗口中目标对象呈现效果对比图;
29.图4为本技术实施例提供的一种应用于unity的动画处理装置的结构示意图;
30.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
31.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
32.下面结合附图,对本技术实施例进行详细描述。
33.为了更好地理解本技术实施例,下面首先对本技术实施例中涉及的技术术语进行说明。
34.(1)动画编辑器可以快速的为视图(目标对象和/或目标子对象)编辑动画。动画可分为两种类型,一种是unity中的animator动画,该类型可直接通过一个字符串类型变量记录动画state状态的名称,播放时条用animator类中的play方法传入该名称。另一种是dotween动画,支持视图的移动、旋转、缩放、淡入淡出等动画的编辑。
35.(2)动画控制器可根据输入的参数执行相应的动画状态切换操作。
36.目前,在unity传统滑动框中,滑动框(滑动窗口)的对象都是单一的动画状态,无法实时改变,还不支持实现3d立体的滑动效果。
37.鉴于此,图1为本技术实施例提供了一种应用于unity的动画处理方法的流程图,用以实时改变对象的动画状态。该流程可由应用于unity的动画处理装置所执行,该装置可通过软件的方式实现,也可通过硬件的方式实现,还可通过软件和硬件结合的方式实现。如图所示,该流程包括如下步骤:
38.101:为滑动窗口中的目标对象创建该目标对象对应的目标子对象。
39.该目标对象可以是指游戏对象,可以理解为一种容器,可容纳组成各种形状内容。游戏对象主要由各种组件(例如变换组件、其他组件等)组成,可通过脚本制作各种组件。同理,目标子对象可以是指游戏子对象。
40.可选的,目标对象可不止一个,每一个目标对象所创建的目标子对象也可不止一个,当对目标子对象进行位移、旋转、缩放时,不会对目标对象产生影响。由于目标子对象的位置、旋转和缩放都是相对于目标对象的,因此无论目标对象怎么移动,相对目标对象的位置是不变的,而当目标对象进行位移、旋转、缩放的时候,会对目标子对象产生影响。
41.可选的,该滑动窗口(滑动框)可以是unity中原始的滑动窗口,也可以是用户通过计算机语言(例如jave)重新编辑的滑动窗口,本技术实施例在此不做限制。
42.102:创建成功后,根据目标对象在该滑动窗口进行滑动的滑动进度,生成动画状态对应关系表。其中,该动画状态对应关系表包括目标对象的滑动进度,以及滑动进度对应的目标子对象的动画状态,进一步的,该动画状态对应关系表还可包括滑动进度对应的该目标对象的位置。
43.可选的,动画状态可包括缩放状态、旋转状态、位置状态、阴影状态,还可包括闪现状态、弹跳状态、淡入状态、淡出状态等。
44.可选的,生成动画状态对应关系表可通过如下方式:获取目标对象在滑动窗口进
行滑动的滑动进度,响应于编辑目标子对象的动画状态的用户操作,基于动画编辑器编辑目标子对象在该滑动进度中各进度节点(时间节点)的动画状态,将滑动进度中各进度节点,以及各进度节点各自对应的动画状态进行关联,得到动画状态对应关系表。该用户操作,可以是指用户操控鼠标进行一系列的操作,也可以是用户直接触屏进行一系列的操作,本技术实施例在此不做限制。举例来说,目标对象在滑动窗口进行滑动的滑动进度为1s,每隔0.1s为一个进度节点,响应于编辑目标子对象的动画状态的用户操作,基于动画编辑器可在每一个进度节点编辑该目标子对象的动画状态,可以随时对目标子对象的动画状态进行修改或编辑,编辑完成后,将滑动进度中各进度节点,以及各进度节点各自对应的动画状态进行关联,得到该动画状态对应关系表,使得动画时间参数和滑动进度参数同步,从而解除了目标对象在滑动窗口滑动时一致性的限制。如表1所示,示例性示出了动画状态对应关系表:
45.表1:动画状态对应关系表
[0046][0047]
103:目标对象在滑动窗口中滑动时,根据动画状态对应关系表,更新目标子对象的动画状态。
[0048]
可选的,更新目标子对象的动画状态,可通过如下方式:获取目标对象当前的进度节点;根据目标对象当前的进度节点查询动画状态对应关系表,确定当前的进度节点对应的目标子对象的动画状态;使用动画控制器,控制目标子对象更新为当前的进度节点对应的动画状态。举例来说,获取到目标对象当前的进度节点为0.3s,根据该0.3s查询表1可知,目标子对象在0.3s的动画状态为旋转,此时,通过动画控制器将目标子对象从上一次的缩小状态更新为旋转状态,使得目标对象在滑动窗口中呈现的动画效果为旋转。
[0049]
基于上述表1,图2示例性示出了本技术实施例目标对象在不同进度节点对应的动画状态。如图所示,0s时目标对象呈现阴影状态,0.1s时目标对象呈现阴影和缩小状态,0.2s时目标对象呈现缩小状态,0.3s时目标对象呈现旋转状态,0.4s时目标对象呈现放大状态,0.5s时目标对象呈现放大和阴影状态。
[0050]
通过上述实时改变目标子对象的动画状态,从而影响目标对象在滑动窗口中滑动状态,可以在滑动窗口中实现任意滑动效果,相较于目前滑动窗口呈现的目标对象,可以体
现立体且多变的目标对象,动画效果更加真实,从而视觉效果更加美观,提高用户体验。
[0051]
图3示例性示出了本技术实施例提供的滑动窗口中目标对象与目前的滑动窗口中目标对象呈现效果对比图。图3中的(a)为目前滑动窗口a中所呈现的各目标对象(游戏对象)的动画效果,图3中的(b)为本技术实施例中滑动窗口b中所呈现的各目标对象(游戏对象)的动画效果。(a)与(b)相比,(a)中的每个目标对象的效果一致,目标对象在滑动窗口a滑动的轨迹是一条直线,而(b)中的目标对象可以呈现出立体效果,不同的目标对象在不同的位置,大小不一,从而使目标对象在滑动窗口b滑动的轨迹可以呈现出一条弧线,解除了滑动方向唯一的限制。
[0052]
本技术实施例中,由于为滑动窗口中的目标对象创建目标对象对应的目标子对象;根据该目标对象的滑动进度,生成动画状态对应关系表,该动画状态对应关系表包括目标对象的滑动进度,以及滑动进度对应的目标子对象的动画状态,目标对象在滑动窗口中滑动时,可根据动画状态对应关系表,更新目标子对象的动画状态,因此滑动窗口中的目标对象在进行滑动时,变为可以实时改变动画状态的对象,从而可以实现任意动画效果,提高了用户体验。
[0053]
基于相同的技术构思,本技术实施例还提供了一种应用于unity的动画处理装置,该装置可实现本技术实施例中上述应用于unity的动画处理方法的流程。
[0054]
图4为本技术实施例提供的一种应用于unity的动画处理系统的结构示意图,如图所示该装置包括:创建模块401、生成模块402、更新模块403。
[0055]
创建模块401,用于为滑动窗口中的目标对象创建所述目标对象对应的目标子对象。
[0056]
生成模块402,用于根据所述目标对象所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表;其中,所述动画状态对应关系表包括所述目标对象的滑动进度,以及所述滑动进度对应的所述目标子对象的动画状态。
[0057]
更新模块403,用于所述目标对象在所述滑动窗口中滑动时,根据所述动画状态对应关系表,更新所述目标子对象的动画状态。
[0058]
可选的,更新模块403,具体用于:
[0059]
获取所述目标对象当前的进度节点;根据所述目标对象当前的进度节点查询所述动画状态对应关系表,确定所述当前的进度节点对应的所述目标子对象的动画状态;使用动画控制器,控制所述目标子对象更新为所述当前的进度节点对应的动画状态。
[0060]
可选的,生成模块402,具体用于:
[0061]
获取所述目标对象在所述滑动窗口进行滑动的滑动进度;响应于编辑所述目标子对象的动画状态的用户操作,基于动画编辑器编辑所述目标子对象在所述滑动进度中各进度节点的动画状态;将所述滑动进度中各进度节点,以及所述各进度节点各自对应的动画状态进行关联,得到所述动画状态对应关系表。
[0062]
在此需要说明的是,本技术实施例提供的上述装置,能够实现上述应用于unity的动画处理方法实施例中的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0063]
基于相同的技术构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述一种应用于unity的动画处理装置的功能。
[0064]
图5为本技术实施例提供的电子设备的结构示意图。
[0065]
至少一个处理器501,以及与至少一个处理器501连接的存储器502,本技术实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例。总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器501也可以称为控制器,对于名称不做限制。
[0066]
在本技术实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前文论述的一种应用于unity的动画处理方法。处理器501可以实现图4所示的装置中各个模块的功能。
[0067]
其中,处理器501是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
[0068]
在一种可能的设计中,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作装置、驾驶人员界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0069]
处理器501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的一种应用于unity的动画处理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0070]
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0071]
通过对处理器501进行设计编程,可以将前述实施例中介绍的一种应用于unity的动画处理方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的一种应用于unity的动画处理方法。如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0072]
在此需要说明的是,本技术实施例提供的上述通电子设备,能够实现上述方法实
施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0073]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述实施例中的一种应用于unity的动画处理方法。
[0074]
本技术实施例还提供了一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行上述实施例中的一种应用于unity的动画处理方法。
[0075]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0076]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0077]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0078]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0079]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:1.一种应用于unity的动画处理方法,其特征在于,包括:为滑动窗口中的目标对象创建所述目标对象对应的目标子对象;根据所述目标对象在所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表;其中,所述动画状态对应关系表包括所述目标对象的滑动进度,以及所述滑动进度对应的所述目标子对象的动画状态;所述目标对象在所述滑动窗口中滑动时,根据所述动画状态对应关系表,更新所述目标子对象的动画状态。2.如权利要求1所述的方法,其特征在于,所述根据所述动画状态对应关系表,更新所述目标子对象的动画状态,包括:获取所述目标对象当前的进度节点;根据所述目标对象当前的进度节点查询所述动画状态对应关系表,确定所述当前的进度节点对应的所述目标子对象的动画状态;使用动画控制器,控制所述目标子对象更新为所述当前的进度节点对应的动画状态。3.如权利要求1所述的方法,其特征在于,所述根据所述目标对象在所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表,包括:获取所述目标对象在所述滑动窗口进行滑动的滑动进度;响应于编辑所述目标子对象的动画状态的用户操作,基于动画编辑器编辑所述目标子对象在所述滑动进度中各进度节点的动画状态;将所述滑动进度中各进度节点,以及所述各进度节点各自对应的动画状态进行关联,得到所述动画状态对应关系表。4.如权利要求1-3任一项所述的方法,其特征在于,所述动画状态包括以下至少一项:缩放状态、旋转状态、位置状态、阴影状态。5.一种应用于unity的动画处理装置,其特征在于,包括:创建模块,用于为滑动窗口中的目标对象创建所述目标对象对应的目标子对象;生成模块,用于根据所述目标对象所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表;其中,所述动画状态对应关系表包括所述目标对象的滑动进度,以及所述滑动进度对应的所述目标子对象的动画状态;更新模块,用于所述目标对象在所述滑动窗口中滑动时,根据所述动画状态对应关系表,更新所述目标子对象的动画状态。6.如权利要求5所述的装置,其特征在于,所述更新模块,具体用于:获取所述目标对象当前的进度节点;根据所述目标对象当前的进度节点查询所述动画状态对应关系表,确定所述当前的进度节点对应的所述目标子对象的动画状态;使用动画控制器,控制所述目标子对象更新为所述当前的进度节点对应的动画状态。7.如权利要求5所述的装置,其特征在于,所述生成模块,具体用于:获取所述目标对象在所述滑动窗口进行滑动的滑动进度;响应于编辑所述目标子对象的动画状态的用户操作,基于动画编辑器编辑所述目标子对象在所述滑动进度中各进度节点的动画状态;将所述滑动进度中各进度节点,以及所述各进度节点各自对应的动画状态进行关联,
得到所述动画状态对应关系表。8.如权利要求5-7任一项所述的装置,其特征在于,所述动画状态包括以下至少一项:缩放状态、旋转状态、位置状态、阴影状态。9.一种电子设备,其特征在于,包括:存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-4中任一项所述的方法步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法步骤。
技术总结本申请公开一种应用于Unity的动画处理方法及装置,涉及Unity3D技术领域。该方法包括:为滑动窗口中的目标对象创建所述目标对象对应的目标子对象;根据所述目标对象在所述滑动窗口进行滑动的滑动进度,生成动画状态对应关系表;其中,所述动画状态对应关系表包括所述目标对象的滑动进度,以及所述滑动进度对应的所述目标子对象的动画状态;所述目标对象在所述滑动窗口中滑动时,根据所述动画状态对应关系表,更新所述目标子对象的动画状态,实现目标对象在滑动时任意动画效果的呈现。标对象在滑动时任意动画效果的呈现。标对象在滑动时任意动画效果的呈现。
技术研发人员:常进进
受保护的技术使用者:宁波吉利汽车研究开发有限公司
技术研发日:2022.08.24
技术公布日:2022/11/18