CN111124386B - 基于Unity的动画事件处理方法、装置、设备和存储介质 - Google Patents

基于Unity的动画事件处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111124386B
CN111124386B CN201911342082.7A CN201911342082A CN111124386B CN 111124386 B CN111124386 B CN 111124386B CN 201911342082 A CN201911342082 A CN 201911342082A CN 111124386 B CN111124386 B CN 111124386B
Authority
CN
China
Prior art keywords
animation
event
configuration
spine
data
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
Application number
CN201911342082.7A
Other languages
English (en)
Other versions
CN111124386A (zh
Inventor
陈长鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Mihoyo Tianming Technology Co Ltd
Original Assignee
Shanghai Mihoyo Tianming Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Mihoyo Tianming Technology Co Ltd filed Critical Shanghai Mihoyo Tianming Technology Co Ltd
Priority to CN201911342082.7A priority Critical patent/CN111124386B/zh
Publication of CN111124386A publication Critical patent/CN111124386A/zh
Application granted granted Critical
Publication of CN111124386B publication Critical patent/CN111124386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例公开了一种基于Unity的动画事件处理方法、装置、设备和存储介质。该方法包括:在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。通过上述技术方案,实现了在Unity运行过程中更加便捷地对Spine动画中的事件进行处理操作,提高了Unity中Spine动画事件的处理效率。

Description

基于Unity的动画事件处理方法、装置、设备和存储介质
技术领域
本发明实施例涉及游戏开发技术,尤其涉及一种基于Unity的动画事件处理方法、装置、设备和存储介质。
背景技术
Unity是一个辅助游戏开发人员轻松创建互动内容的多平台的综合型游戏开发工具,其是一个全面整合的专业游戏引擎。在Unity中,常使用轻量级框架Spine来制作动画,并通过额外引入的第三方插件库RunTime来支持Spine动画的运行。
在Unity中使用Spine的时候,通常需要在Spine动画的某些帧上触发事件。目前,实现在Spine动画的某些帧上触发事件的方式是:在Spine编辑器中,在待触发事件的帧上创建事件,然后重新将Spine动画该导出数据到Unity中。即Unity中与Spine动画相关的处理操作,均需在Spine编辑器中独立操作之后,再将操作后的数据导入Unity。如果有关Spine动画中的事件需要反复进行诸如修改、添加或删除等处理操作,那么就需要反复的导出数据到Unity,该过程十分繁琐,且导致了在Unity运行过程中无法对Spine动画中的事件进行处理操作。
发明内容
本发明实施例提供一种基于Unity的动画事件处理方法、装置、设备和存储介质,以实现在Unity运行过程中更加便捷地对Spine动画中的事件进行处理操作,提高Unity中Spine动画事件的处理效率。
第一方面,本发明实施例提供了一种基于Unity的动画事件处理方法,包括:
在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
第二方面,本发明实施例还提供了一种基于Unity的动画事件处理装置,该装置包括:
Spine动画模型加载模块,用于在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
事件时间流数据转换模块,用于利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
动画事件处理模块,用于利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的基于Unity的动画事件处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的基于Unity的动画事件处理方法。
本发明实施例通过在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。实现了在Unity的运行过程中,通过自定义的配置转换脚本,将与Spine动画模型独立的动画配置对象中存储的Spine动画模型中各动画的事件配置数据,应用至该Spine动画模型的动画骨骼资源数据中,完成该Spine动画模型中动画事件的处理,解决了因动画事件需在Spine编辑器中独立处理而导致Unity的运行过程中无法处理动画事件的问题,提高了在Unity运行过程中对Spine动画中的事件进行处理的便捷性和处理效率。
附图说明
图1是本发明实施例一中的一种基于Unity的动画事件处理方法的流程图;
图2是本发明实施例二中的一种基于Unity的动画事件处理方法的流程图;
图3是本发明实施例三中的一种基于Unity的动画事件处理装置的结构示意图;
图4是本发明实施例四中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的基于Unity的动画事件处理方法可适用于在Unity中对Spine动画中事件的处理,如修改、添加或删除等,尤其适用于在Unity运行过程中对Spine动画中事件的处理。该方法可以由基于Unity的动画事件处理装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有Unity开发工具、且Unity中集成了Spine框架的电子设备中,例如笔记本电脑、台式电脑或服务器等。参见图1,本实施例的方法具体包括如下步骤:
S110、在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型。
其中,运行启动指令是指触发Unity开始运行的指令,例如用户点击了Unity开始运行的相关按钮,该按钮触发后生成的指令便为运行启动指令。配置转换脚本是指自定义的、用于解析Unity中与Spine动画模型相关的配置数据,并将其转换为Spine动画模型可识别的数据(即事件时间流数据EventTimeline)的脚本。
具体地,相关技术中Spine动画的编辑和Unity开发是独立的,在Unity开发过程或运行过程中,如果要改动已导入的Spine动画中的任意事件,都必须暂停Unity中的操作,转移至Spine编辑器中进行Spine动画事件的处理,待处理完成后将处理后的Spine动画导出并导入至Unity。该过程太过繁琐,且影响开发人员的效率。鉴于此,本发明实施例中设计了配置转换脚本,并在Unity检测到运行启动指令开始运行之后,为加载的Spine动画模型挂上该配置转换脚本。
如果加载的Spine动画模型未挂该配置转换脚本,那么Spine动画模型会通过其加载时创建的初始的动画骨骼资源数据SkeletonAsset来读取其中涉及的动画事件的事件参数,并进行后续动画事件的触发。但是,本实施例中为加载的Spine动画模型挂上该配置转换脚本,那么Spine动画模型会优先根据该配置转换脚本处理后的动画骨骼资源数据进行动画事件参数的读取和后续事件的触发。而该配置转换脚本处理后的动画骨骼资源数据是通过解析并转换Unity中与Spine动画模型相关的配置数据(即事件配置数据)而得到(见后续S120和S130的说明)。所以,本发明实施例中的基于Unity的动画事件处理方法可在Unity运行过程中,通过对Unity中与Spine动画模型对应的事件配置数据的处理(如修改、添加或删除事件参数)来对Spine动画模型中相应的动画事件进行处理,而无需暂停Unity运行并切换至Spine编辑器。
S120、利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据。
其中,动画配置对象为Unity中的对象,其可以生成一种资源文件,来存储Spine动画模型中各动画的事件配置数据,即Unity中与Spine动画模型相关的配置数据。示例性地,所述事件配置数据包括动画标识、事件标识、事件对应的帧标识和事件参数。动画标识、事件标识和帧标识分别是指唯一定位动画、事件和动画中的某一帧的信息,其可以是名称、简称或编号等。事件参数是指动画事件的属性信息。事件时间流数据EventTimeline是指Spine动画模型中进行事件触发的时间流数据,其按照时间顺序来存储事件信息(如事件参数等)。
具体地,本发明实施例还设计了一个动画配置对象,来在Unity中专门存储和管理Spine动画模型的事件配置数据。在Unity运行过程中,Unity加载了Spine动画模型之后,配置转换脚本也会被触发执行。此时,Unity通过配置转换脚本来加载动画配置对象,并对其进行解析以获取到其中的各事件配置数据。然后,Unity通过配置转换脚本进一步地将获得的各事件配置数据转换为适配于Spine动画模型的事件时间流数据EventTimeline。
示例性地,在所述利用所述配置转换脚本加载动画配置对象之前,还包括:依据待处理的目标动画事件的目标事件配置数据更新所述动画配置对象。具体地,如果需要处理Spine动画模型中的某些动画事件,那么Unity可以通过对上述动画配置对象中的存储数据进行按需更新,便可使得动画配置对象中包含待处理的动画事件(即目标动画事件)的事件配置数据(即目标事件配置数据),完成动画配置对象的更新。之后,配置转换脚本转换的动画配置对象便为更新后的动画配置对象,那么S120中获得的事件时间流数据EventTimeline中便会包含目标动画事件的目标事件配置数据。这样设置的好处在于,在Unity运行过程中更新动画配置对象,从而实现Unity运行过程中对Spine动画中的事件的处理。
S130、利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
具体地,Unity通过配置转换脚本获得事件时间流数据后,便可将该事件时间流数据直接应用于Spine动画模型的动画骨骼资源数据SkeletonAsset中,完成该动画骨骼资源数据的更新。Spine动画模型便利用更新后的动画骨骼资源数据进行各动画事件的事件参数的读取和后续事件的触发。至此,便Unity通过其中的动画配置对象来完成Spine动画模型中的动画事件的处理。
本实施例的技术方案,通过在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。实现了在Unity的运行过程中,Unity通过自定义的配置转换脚本,将与Spine动画模型独立的动画配置对象中存储的Spine动画模型中各动画的事件配置数据,应用至该Spine动画模型的动画骨骼资源数据中,完成该Spine动画模型中动画事件的处理,解决了因动画事件需在Spine编辑器中独立处理而导致Unity的运行过程中无法处理动画事件的问题,提高了在Unity运行过程中对Spine动画中的事件进行处理的便捷性和处理效率。
实施例二
本实施例在上述实施例一的基础上,对“依据待处理的目标动画事件的目标事件配置数据更新所述动画配置对象”进行了进一步优化。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例提供的基于Unity的动画事件处理方法包括:
S210、在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型。
S220、获取所述目标事件配置数据,并确定所述目标动画事件的事件处理类型。
其中,事件处理类型是指对动画事件进行的处理操作的类型。示例性地,所述事件处理类型为事件修改类型、事件添加类型或事件删除类型。也就是,在Unity运行过程中,可以对Spine动画中的事件进行事件参数的修改、整个事件的添加和删除等处理。
具体地,在更新动画配置对象之前,要先获得目标动画事件对应的目标事件配置数据。并且,因为不同的事件处理类型对动画配置对象中的数据的操作不同,故也需要获取目标动画事件对应的事件处理类型。这两类数据的获取方式可以是通过交互面板中的人机交互操作来获得,也可以是通过静态的配置文件来读取获得。
示例性地,获取所述目标事件配置数据,并确定所述目标动画事件的事件处理类型包括:通过动画属性面板接收所述目标事件配置数据和所述事件处理类型。其中,动画属性面板是Unity中通过Inspector显示的各种属性信息的面板,其允许与用户进行属性信息修改的交互操作。具体地,动画事件的处理操作由用户通过动画属性面板来交互式操作,目标事件配置数据和事件处理类型都通过交互式操作结果来获取。例如,如果用户需要修改某一帧动画中的事件,那么用户通过动画属性面板修改相应帧中相应事件对应的事件参数,Unity会接收到用户修改后的参数信息,并将事件处理类型确定为事件修改类型,且将目标事件配置数据设置为目标动画事件对应的动画标识、帧标识、事件标识和修改后的各事件参数。如果用户需要向某一帧动画中添加新的事件,那么用户通过动画属性面板选中相应帧,并增加相应的事件参数,Unity会接收到用户新增的参数信息,并将事件处理类型确定为事件添加类型,且将目标事件配置数据设置为目标动画事件对应的动画标识、帧标识、事件标识和新增的各事件参数。如果用户需要删除某一帧动画中的事件,那么用户通过动画属性面板选中相应帧中的相应事件,并进行删除操作(如点击删除按钮等),Unity会接收到用户操作的删除指令,并将事件处理类型确定为事件删除类型,且将目标事件配置数据设置为该待删除的目标动画事件对应的原有的事件配置数据。这样设置的好处是,通过交互式面板可以更加便捷地确定目标事件配置数据和事件处理类型,提高用户体验,且提高开发人员效率。
S230、依据所述目标事件配置数据和所述事件处理类型,更新所述动画配置对象。
具体地,按照事件处理类型对应的配置数据修改方式,将目标事件配置数据更新值动画配置对象中。例如,事件处理类型为事件修改类型,那么就用目标事件配置数据替代动画配置对象中目标动画事件对应的原有的事件配置数据;事件处理类型为事件添加类型,那么就向动画配置对象中添加目标事件配置数据;事件处理类型为事件删除类型,那么就根据目标动画事件对应的动画标识、帧标识和事件标识,定位目标事件配置数据在动画配置对象中的数据项并删除。
示例性地,所述动画配置对象通过继承Unity中的配置资源类而生成,且通过所述Spine动画模型的初始的动画骨骼资源数据来初始化。具体地,本实施例中的动画配置对象是用于存储资源数据的,故通过继承Unity中的配置资源类ScriptableObject便可方便地创建动画配置类,通过该动画配置类便可创建出动画配置对象。基于配置资源类的特性,本实施例中自定义的动画配置类的动画配置对象中存储的数据均为序列化类的数组,每个数组元素存储一个动画事件的事件配置数据。该动画配置对象初始化的数据来源于Spine动画模型的初始的动画骨骼资源数据,即未因动画事件处理操作而对动画配置对象进行更新之前,该动画配置对象中存储的各事件配置数据为初始的动画骨骼资源数据中的各基础的事件配置数据的引用。这样设置的好处在于,简化动画配置对象的生成逻辑和流程,进一步提高动画事件的处理效率。
S240、利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据。
S250、利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中。
本实施例的技术方案,通过获取所述目标事件配置数据,并确定所述目标动画事件的事件处理类型;依据所述目标事件配置数据和所述事件处理类型,更新所述动画配置对象;利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据;利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中。实现了Unity运行过程中根据动画事件的处理操作更新动画配置对象,从而由配置转换脚本将更新后的动画配置对象中的目标事件配置数据应用至Spine动画模型,进一步提高了基于Unity的动画事件处理的便捷性和效率。
实施例三
本实施例提供一种基于Unity的动画事件处理装置,参见图3,该装置具体包括:
Spine动画模型加载模块310,用于在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
事件时间流数据转换模块320,用于利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
动画事件处理模块330,用于利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
可选地,所述事件配置数据包括动画标识、事件标识、事件对应的帧标识和事件参数。
可选地,在上述装置的基础上,该装置还包括动画配置对象更新模块,用于:
在所述利用所述配置转换脚本加载动画配置对象之前,依据待处理的目标动画事件的目标事件配置数据更新所述动画配置对象。
进一步地,动画配置对象更新模块包括:
目标事件配置数据获取子模块,用于获取所述目标事件配置数据,并确定所述目标动画事件的事件处理类型;
动画配置对象更新子模块,用于依据所述目标事件配置数据和所述事件处理类型,更新所述动画配置对象。
进一步地,目标事件配置数据获取子模块具体用于:
通过动画属性面板接收所述目标事件配置数据和所述事件处理类型。
其中,所述事件处理类型为事件修改类型、事件添加类型或事件删除类型。
可选地,所述动画配置对象通过继承Unity中的配置资源类而生成,且通过所述Spine动画模型的初始的动画骨骼资源数据来初始化。
通过本发明实施例三的一种基于Unity的动画事件处理装置,实现了在Unity的运行过程中,通过自定义的配置转换脚本,将与Spine动画模型独立的动画配置对象中存储的Spine动画模型中各动画的事件配置数据,应用至该Spine动画模型的动画骨骼资源数据中,完成该Spine动画模型中动画事件的处理,解决了因动画事件需在Spine编辑器中独立处理而导致Unity的运行过程中无法处理动画事件的问题,提高了在Unity运行过程中对Spine动画中的事件进行处理的便捷性和处理效率。
本发明实施例所提供的基于Unity的动画事件处理装置可执行本发明任意实施例所提供的基于Unity的动画事件处理方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述基于Unity的动画事件处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
参见图4,本实施例提供了一种电子设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420执行,使得所述一个或多个处理器420实现本发明实施例所提供的基于Unity的动画事件处理方法,包括:
在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
当然,本领域技术人员可以理解,处理器420还可以实现本发明任意实施例所提供的基于Unity的动画事件处理方法的技术方案。
图4显示的电子设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,该电子设备400包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于Unity的动画事件处理方法对应的程序指令/模块(例如,基于Unity的动画事件处理装置中的Spine动画模型加载模块、事件时间流数据转换模块和动画事件处理模块)。
存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于Unity的动画事件处理方法,该方法包括:
在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于Unity的动画事件处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的基于Unity的动画事件处理方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种基于Unity的动画事件处理方法,其特征在于,包括:
在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象通过继承Unity中的配置资源类而生成,且通过所述Spine动画模型的初始的动画骨骼资源数据来初始化,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
2.根据权利要求1所述的方法,其特征在于,所述事件配置数据包括动画标识、事件标识、事件对应的帧标识和事件参数。
3.根据权利要求1所述的方法,其特征在于,在所述利用所述配置转换脚本加载动画配置对象之前,还包括:
依据待处理的目标动画事件的目标事件配置数据更新所述动画配置对象。
4.根据权利要求3所述的方法,其特征在于,所述依据待处理的目标动画事件的目标事件配置数据更新所述动画配置对象包括:
获取所述目标事件配置数据,并确定所述目标动画事件的事件处理类型;
依据所述目标事件配置数据和所述事件处理类型,更新所述动画配置对象。
5.根据权利要求4所述的方法,其特征在于,所述获取所述目标事件配置数据,并确定所述目标动画事件的事件处理类型包括:
通过动画属性面板接收所述目标事件配置数据和所述事件处理类型。
6.根据权利要求4所述的方法,其特征在于,所述事件处理类型为事件修改类型、事件添加类型或事件删除类型。
7.一种基于Unity的动画事件处理装置,其特征在于,包括:
Spine动画模型加载模块,用于在检测到运行启动指令时,加载包含预设的配置转换脚本的Spine动画模型;
事件时间流数据转换模块,用于利用所述配置转换脚本加载动画配置对象,并将所述动画配置对象转换为适配于所述Spine动画模型的事件时间流数据,其中,所述动画配置对象通过继承Unity中的配置资源类而生成,且通过所述Spine动画模型的初始的动画骨骼资源数据来初始化,所述动画配置对象中存储所述Spine动画模型中各动画的事件配置数据;
动画事件处理模块,用于利用所述配置转换脚本将所述事件时间流数据应用至所述Spine动画模型的动画骨骼资源数据中,以完成对所述Spine动画模型中的动画事件的处理。
8.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的基于Unity的动画事件处理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的基于Unity的动画事件处理方法。
CN201911342082.7A 2019-12-23 2019-12-23 基于Unity的动画事件处理方法、装置、设备和存储介质 Active CN111124386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911342082.7A CN111124386B (zh) 2019-12-23 2019-12-23 基于Unity的动画事件处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911342082.7A CN111124386B (zh) 2019-12-23 2019-12-23 基于Unity的动画事件处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111124386A CN111124386A (zh) 2020-05-08
CN111124386B true CN111124386B (zh) 2023-08-29

Family

ID=70501457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911342082.7A Active CN111124386B (zh) 2019-12-23 2019-12-23 基于Unity的动画事件处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111124386B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857690A (zh) * 2020-07-29 2020-10-30 北京字节跳动网络技术有限公司 一种动画效果的调试方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289834A (zh) * 2011-08-30 2011-12-21 北京瑞信在线***技术有限公司 一种微动画编辑器及其编辑方法
CN109658484A (zh) * 2018-12-21 2019-04-19 上海哔哩哔哩科技有限公司 一种动画自动生成方法及动画自动生成***
CN110189404A (zh) * 2019-05-31 2019-08-30 重庆大学 基于真实人脸图像的虚拟面部建模方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289834A (zh) * 2011-08-30 2011-12-21 北京瑞信在线***技术有限公司 一种微动画编辑器及其编辑方法
CN109658484A (zh) * 2018-12-21 2019-04-19 上海哔哩哔哩科技有限公司 一种动画自动生成方法及动画自动生成***
CN110189404A (zh) * 2019-05-31 2019-08-30 重庆大学 基于真实人脸图像的虚拟面部建模方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
贾飞鹏 ; 何冬冬 ; .基于Kinect的快速动画制作应用研究.赤峰学院学报(自然科学版).2017,(第20期),第43-45页. *

Also Published As

Publication number Publication date
CN111124386A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111045655B (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
WO2021218327A1 (zh) 一种页面处理方法和相关装置
CN111666526B (zh) 页面生成方法、装置、设备及存储介质
US8910113B2 (en) Methods and systems for visual code refactoring
CN110244942B (zh) 一种页面生成方法、装置及***
WO2018036342A1 (zh) 基于csar的模型文件的可视化设计方法及装置
US20220391221A1 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
US8839192B2 (en) System and method for presentation of cross organizational applications
KR20020035567A (ko) 레거시 데이터 구조용 객체 속성 메타 모델 에뮬레이터
US20150007084A1 (en) Chaining applications
CN111814089A (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
US8495566B2 (en) Widget combos: a widget programming model
CN108279882B (zh) 框架生成方法、装置、设备及计算机可读介质
CN108108986B (zh) 一种客户关系管理***的设计方法、装置及电子设备
CN112988123B (zh) 面向ddd的软件设计方法及***
WO2023082654A1 (zh) 一种业务交互图生成方法、装置、设备及存储介质
CN113326030A (zh) 一种业务请求的处理方法和装置
CN113360211A (zh) 基于控件的加载显示方法及相关设备
CN111124386B (zh) 基于Unity的动画事件处理方法、装置、设备和存储介质
WO2021129812A1 (zh) 运行人工智能应用的方法、***及设备
CN112068879A (zh) 基于配置化的客户端应用程序开发框架构建方法及装置
CN112181409A (zh) 一种应用构建方法、应用渲染方法及装置
CN115509668A (zh) 前端页面解析型框架的构建方法、装置、设备及存储介质
Klemisch et al. Context-aware UI component reuse

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