一种3D动画导出方法、3D动画播放方法及装置与流程

文档序号:17225388发布日期:2019-03-27 12:33阅读:449来源:国知局
一种3D动画导出方法、3D动画播放方法及装置与流程

本发明涉及互联网技术领域,特别是涉及一种3d动画导出方法、3d动画播放方法及装置。



背景技术:

当前,随着计算机技术的不断发展,游戏领域中的游戏类型也越来越多,其中,3d游戏成为越来越多的用户的选择。所谓3d游戏是指使用空间立体计算技术实现操作的游戏,具体的,在3d游戏中,游戏基础模型,例如,游戏人物、场景、地形等,是使用三维立体模型实现3d效果的,而游戏的人物角色控制是使用空间立体编程算法实现的。

在3d游戏的制作过程中,能够发生运动的对象可以被称为动画模型,例如:游戏人物可以被称为动画模型,车辆也可以为动画模型。游戏开发者在制作3d游戏时,首先使用三维软件来制作动画模型,得到每一动画模型的三维动画数据,然后利用3d动画导出方法和3d动画播放方法,在游戏引擎中播放这些动画模型的动画效果,在动画效果达到预期效果时,完成3d游戏的制作。

现有的导出方法是:利用整合软件,例如,virtoolsdev,将制作完成的多个动画模型的三维动画数据导出到多个数据文件中。基于该导出方法,对应的播放方法为:在将多个数据文件导入到游戏引擎后,根据每一动画模型的三维动画数据中的运动时间数据,人工添加每一动画模型在动画播放过程中的播放时刻,该运动时间数据为动画模型在动画播放过程中的播放时刻;进而,按照人工添加的各个播放时刻,从相应数据文件中依次读取各个动画模型的三维动画数据,从而在读取到每一动画模型的三维动画数据后,基于所读取的三维动画数据,还原该动画模型的运动过程。

可见,在现有的导出方法的基础上,当需要在游戏引擎中播放动画时,需要人工基于数据文件给定各个动画模型所对应的运动时间数据,操作较为繁琐,导致播放效率较低,进而影响3d游戏的制作效率。



技术实现要素:

本发明实施例的目的在于提供一种3d动画导出方法和一种3d动画播放方法,以实现简化在游戏引擎中播放画面时的操作,从而提高播放效率。具体技术方案如下:

第一方面,本发明实施例提供了一种3d动画导出方法,应用于三维绘图客户端,所述方法包括:

当检测到动画导出指令时,确定当前处于编辑状态的目标动画的各个动画模型;

将所述各个动画模型的第一类动画数据,导出到所述目标动画对应的至少一个数据文件;其中,任一动画模型的第一类动画数据为:该动画模型的三维动画数据中除运动时间数据以外的数据;

将所述各个动画模型的运动时间数据,导出到所述目标动画对应的控制文件;其中,所述控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。

作为本发明实施例的一种实施方式,所述将所述各个动画模型的第一类动画数据,导出到属于第一预定文件格式的至少一个数据文件,包括:

按照预定的模型组合规则,将所述各个动画模型进行分组,得到至少两组模型;

针对每一组模型,将该组模型中的动画模型的第一类动画数据,导出到属于预定文件格式的一个数据文件。

第二方面,本发明实施例提供了一种3d动画播放方法,应用于游戏引擎,所述方法包括:

当检测到关于播放目标动画的触发指令时,在所述目标动画所对应的至少一个数据文件和控制文件导入所述游戏引擎后,从所述控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识;其中,所述目标动画视频所对应的至少一个数据文件和控制文件是按照权利要求1-2任一项所述的方法从三维绘图客户端所导出的;

基于按照时间先后顺序排列的各个运动时间数据和每一运动时间数据对应的模型标识,从所述至少一个数据文件中,依次读取所述目标动画的各个动画模型的第一类动画数据;

在读取到每一动画模型的第一类动画数据后,基于所读取的第一类动画数据,还原该动画模型的运动过程;其中,任一动画模型的第一类动画数据为该动画模型的三维动画数据中除运动时间数据以外的数据。

作为本发明实施例的一种实施方式,所述触发指令为:文件导入指令,或者,动画播放指令。

作为本发明实施例的一种实施方式,所述方法还包括:

当获得针对于目标动画模型的数据调整指令时,确定待调整的数据类型,以及用户所给定的关于该数据类型的新的数据内容;其中,所述目标动画模型为所述各个动画模型中的任一动画模型;

以所述新的数据内容,更新所述至少一个数据文件中,所述目标动画模型的第一类动画数据中的所述数据类型对应的数据内容。

第三方面,本发明实施例提供了一种3d动画导出装置,应用于三维绘图客户端,所述装置包括:

模型确定模块,用于当检测到动画导出指令时,确定当前处于编辑状态的目标动画的各个动画模型;

数据文件导出模块,用于将所述各个动画模型的第一类动画数据,导出到所述目标动画对应的至少一个数据文件;其中,任一动画模型的第一类动画数据为:该动画模型的三维动画数据中除运动时间数据以外的数据;

控制文件导出模块,用于将所述各个动画模型的运动时间数据,导出到所述目标动画对应的控制文件;其中,所述控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。

作为本发明实施例的一种实施方式,所述数据文件导出模块包括:

模型获得子模块,用于按照预定的模型组合规则,将所述各个动画模型进行分组,得到至少两组模型;

数据文件导出子模块,用于针对每一组模型,将该组模型中的动画模型的第一类动画数据,导出到属于预定文件格式的一个数据文件。

第四方面,本发明实施例提供了一种3d动画播放装置,应用于游戏引擎,所述装置包括:

第一数据读取模块,用于当检测到关于播放目标动画的触发指令时,在所述目标动画所对应的至少一个数据文件和控制文件导入所述游戏引擎后,从所述控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识;其中,所述目标动画视频所对应的至少一个数据文件和控制文件是按照权利要求1-2任一项所述的方法从三维绘图客户端所导出的;

第二数据读取模块,用于基于按照时间先后顺序排列的各个运动时间数据和每一运动时间数据对应的模型标识,从所述至少一个数据文件中,依次读取所述目标动画的各个动画模型的第一类动画数据;

动画还原模块,用于在读取到每一动画模型的第一类动画数据后,基于所读取的第一类动画数据,还原该动画模型的运动过程;其中,任一动画模型的第一类动画数据为该动画模型的三维动画数据中除运动时间数据以外的数据。

作为本发明实施例的一种实施方式,所述触发指令为:文件导入指令,或者,动画播放指令。

作为本发明实施例的一种实施方式,所述装置还包括:

数据确定模块,用于当获得针对于目标动画模型的数据调整指令时,确定待调整的数据类型,以及用户所给定的关于该数据类型的新的数据内容;其中,所述目标动画模型为所述各个动画模型中的任一动画模型;

数据更新模块,用于以所述新的数据内容,更新所述至少一个数据文件中,所述目标动画模型的第一类动画数据中的所述数据类型对应的数据内容。

第五方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的一种3d动画导出方法中任一所述的方法步骤。

第六方面,本发明实施例提供了另一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第二方面提供的一种3d动画播放方法中任一所述的方法步骤。

第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的一种3d动画导出方法中任一所述的方法步骤。

第八方面,本发明实施例提供了另一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面提供的一种3d动画播放方法中任一所述的方法步骤。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种3d动画导出方法的流程示意图;

图2为本发明实施例提供的一种3d动画播放方法的流程示意图;

图3为本发明实施例提供的另一种3d动画播放方法的流程示意图;

图4为本发明实施例提供的一种3d动画导出装置的结构示意图;

图5为本发明实施例提供的一种3d动画播放方法的结构示意图;

图6为本发明实施例提供的一种电子设备的结构示意图;

图7为本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在现有的导出方法的基础上,当需要在游戏引擎中播放动画时,需要人工基于数据文件给定各个动画模型所对应的运动时间数据,操作较为繁琐,导致播放效率较低,进而影响3d游戏的制作效率。为了解决现有技术中存在的问题,本发明实施例提供了一种3d动画导出方法和一种3d动画播放方法。

下面,首先对本发明实施例提供的一种3d动画导出方法进行介绍。

图1为本发明实施例提供的一种3d动画导出方法的流程示意图。该方法应用于三维绘图客户端。

其中,三维绘图客户端为任一能够制作动画模型,得到动画模型的三维动画数据的绘图客户端,该三维绘图客户端可以安装在任一能够运行该三维绘图客户端的电子设备上,例如,平板电脑、台式电脑、笔记本电脑等。

如图1所示,上述3d动画导出方法可以包括如下步骤:

s101:当检测到动画导出指令时,确定当前处于编辑状态的目标动画的各个动画模型;

在3d动画制作过程中,一个3d动画场景中可能包括多个动画模型,用户在三维动画客户端提供的界面中对每一3d动画场景中包括的多个动画模型进行编辑,从而为每一个动画模型设置运动方式、运动持续时长、运动幅度、运动时间等一系列三维动画数据。

其中,运动方式可以为:跑、跳、抬手等;运动持续时长为:动画模型执行一个运动方式的时间,例如,跑3分钟、跳1分钟等;运动幅度为:动画模型执行一个运动方式的身体部位的位移,例如,手抬高1厘米、手臂向前平举等;运动时间为:动画模型在动画播放过程中执行一个运动方式的播放时刻,例如,在第3分钟第3个动画模型开始跑步、在第4分钟第5个动画模型原地起跳等。

可以理解的,三维绘图客户端是用于制作3d动画的,而当3d动画模型制作完成后,需要将其导入到游戏引擎、视频播放器等其他客户端中进行播放。这样,就需要将三维绘图客户端中编辑的各个3d动画场景中的各个动画模型的三维动画数据导出。

因此,当三维客户端检测到动画导出指令时,便可以确定当前处于编辑状态的目标动画的各个动画模型,从而确定需要导出三维动画数据的动画模型。其中,目标动画可以为一个动画场景,则所确定的需要导出三维动画数据的动画模型便可以为该动画场景中的各个动画模型。

其中,该动画导出指令可以是用户通过多种方式发出的。例如,用户可以通过点击三维绘图客户端界面中的预设按钮发出动画导出指令,示例性的,该按钮可以是“一键导出”。又例如,用户可以通过输入程序代码发出动画导出指令。对此,本发明实施例不做具体限定。

s102:将各个动画模型的第一类动画数据,导出到目标动画对应的至少一个数据文件;

其中,任一动画模型的第一类动画数据为:该动画模型的三维动画数据中除运动时间数据以外的数据。

在确定当前处于编辑状态的目标动画的各个动画模型后,三维绘图客户端便可以将各个动画模型的三维动画数据中除运动时间数据以外的数据导出到目标动画对应的至少一个数据文件中。

具体的,三维绘图客户端可以通过多种方式将各个动画模型的三维动画数据中除运动时间数据以外的数据导出到目标动画对应的至少一个数据文件中。对此,本发明实施例不做具体限定。

可选的,一种具体实现方式中,上述步骤s102可以包括:

步骤a1:按照预定的模型组合规则,将各个动画模型进行分组,得到至少两组模型;

步骤a2:针对每一组模型,将该组模型中的动画模型的第一类动画数据,导出到属于预定文件格式的一个数据文件。

在本实现方式中,针对目标动画,三维绘图客户端可以按照预定的模型组合规则,将目标动画的各个动画模型进行分组,得到至少两组模型。

例如,假设目标动画包括两个游戏人物a和b,以及两台汽车m和n,那么,三维绘图客户端便可以将游戏人物a和汽车m作为一组模型,将游戏人物b以及汽车n分别单独作为一组模型,这样,便可以得到三组模型,一组包括游戏人物a和汽车m,一组包括游戏人物b,另一组包括汽车n。

需要说明的是,上述步骤a1中的模型组合规则可以根据实际应用中不同目标动画的需求进行设定,例如,可以将一个动画模型作为一组模型,也可以将两个动画模型作为一组模型,还可以随机将动画模型组成不小于两组的预设数量组模型。对此,本发明实施例不做具体限定。

在得到至少两组模型后,三维绘图客户端便可以针对每一组模型,将该组模型中所包括的动画模型的三维动画数据中除运动时间数据以外的数据导出到属于预定文件格式的一个数据文件中。

其中,预定文件格式可以为xml格式,也可以为txt格式,这都是合理的。

需要说明的是,针对每一组模型,三维绘图客户端可以通过多种方式将该组模型中所包括的动画模型的三维动画数据中除运动时间数据以外的数据导出到属于预定文件格式的一个数据文件中。对此,本发明实施例不做具体限定。

s103:将各个动画模型的运动时间数据,导出到目标动画对应的控制文件;

其中,控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。

在上述步骤s102中,三维绘图客户端导出了目标动画对应的至少一个数据文件,这些数据文件中包括目标动画的各个动画模型的三维动画数据中除运动时间数据以外的数据。接着,三维绘图客户端便可以对上述各个动画模型的运动时间数据进行导出,得到目标动画对应的控制文件。

在该控制文件中,目标动画的各个动画模型的运动时间数据是按照时间先后顺序排列的,且每一运动时间数据与该运动时间数据所属动画模型的模型标识相对应。这样,在读取上述控制文件中的每一运动时间数据时,便可以获知该运动时间顺序所属的动画模型是哪一个,也就是说,可以知道在该运动时间数据所表征的时刻,目标动画的哪一个动画模型开始运动。

其中,三维绘图客户端可以通过多种方式将各个动画模型的运动时间数据,导出到目标动画对应的控制文件,对此,本发明实施例不做具体限定。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

下面,接着对本发明实施例提供的一种3d动画播放方法进行介绍。

图2为本发明实施例提供的一种3d动画播放方法的流程示意图。该方法应用于游戏引擎。

其中,游戏引擎是一个能够被机器识别的、用于控制游戏的运行的应用程序。对于3d游戏而言,当游戏开发者在三维绘图软件中编辑完成3d游戏中各个目标动画的游戏场景中所包括的各个动画模型,并导出这些动画模型的数据文件和控制文件后,需要将这些数据文件和控制文件导入到游戏引擎中,以使得游戏引擎可以基于这些数据文件和控制文件播放3d游戏中的各个游戏场景,这个过程可以称为3d动画播放。在各个游戏场景的播放过程中,游戏玩家可以通过3d游戏的预定规则操作该游戏。

如图2所示,上述3d动画播放方法可以包括如下步骤:

s201:当检测到关于播放目标动画的触发指令时,在目标动画所对应的至少一个数据文件和控制文件导入游戏引擎后,从控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识;

其中,目标动画视频所对应的至少一个数据文件和控制文件是按照上述本发明实施例提供的一种3d动画导出方法从三维绘图客户端所导出的;

可以理解的,游戏引擎在播放3d游戏时,是根据用户的操作依次播放该该3d游戏中的各个游戏场景,其中,每个游戏场景对应于一个目标动画。

基于此,当游戏引擎检测到关于播放目标动画的触发指令后,在目标动画所对应的至少一个数据文件和控制文件导入游戏引擎后,由于该控制文件中包括按照时间先后顺序排列的该目标动画的各个动画模型的运动时间数据,且每一运动时间数据与该运动时间数据所属动画模型的模型标识相对应,因此,游戏引擎便可以按照时间先后顺序,从该控制文件中读取每一运动时间数据以及每一运动时间数据所对应的模型标识。

其中,上述触发指令可以为:文件导入指令,或者,动画播放指令。

当上述触发指令为文件导入指令时,也就是说,在上述步骤s201中,游戏引擎检测到的是关于播放目标动画的文件导入指令,则游戏引擎便可以将目标动画所对应的至少一个数据文件和控制文件导入游戏引擎,进而,从该控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。

当上述触发指令为动画播放指令时,也就是说,在上述步骤s201中,游戏引擎检测到的是关于播放目标动画的动画播放指令,则此时,目标动画所对应的至少一个数据文件和控制文件已经导入到游戏引擎中。这样,游戏引擎便可以根据该动画播放指令,在已经导入的至少一个目标动画所对应的至少一个数据文件和控制文件中,获取该动画指令所指示的目标动画所对应的至少一个数据文件和控制文件,进而,从该控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。

由于在上述本发明实施例提供的一种3d动画导出方法中,可以导出目标动画所对应的至少一个数据文件和控制文件。因此,在上述步骤s201中,目标动画视频所对应的至少一个数据文件和控制文件可以是按照上述本发明实施例提供的一种3d动画导出方法从三维绘图客户端所导出的。

需要说明的是,上述关于播放目标动画的触发指令可以携带有目标动画的标识,这样,游戏引擎便可以获知应该读取哪一个目标动画所对应的至少一个数据文件和控制文件。当然,该触发指令也可以为其他能够指示游戏引擎读取指定的目标动画所对应的至少一个数据文件和控制文件的形式。这都是合理的。

其中,该关于播放目标动画的触发指令可以是用户通过多种方式发出的。例如,用户可以通过点击游戏引擎界面中的预设按钮发出关于播放目标动画的触发指令,示例性的,该按钮可以是“一键导入”。又例如,用户可以通过输入程序代码发出关于播放目标动画的触发指令。对此,本发明实施例不做具体限定。

s202:基于按照时间先后顺序排列的各个运动时间数据和每一运动时间数据对应的模型标识,从至少一个数据文件中,依次读取目标动画的各个动画模型的第一类动画数据;

在读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识后,游戏引擎便可以基于所读取到的按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识,从目标动画的至少一个数据文件中,依次读取目标动画的各个动画模型的第一类动画数据。

可以理解的,在一个游戏场景中,各个动画模型是按照一定的时间顺序开始运动的,例如,目标动画包括两个游戏人物a和b,以及长剑c,其中,长剑c佩戴在游戏人物b身上,在第1分钟时游戏人物a执行向游戏人物b的脸部挥拳的运动,该挥拳的运动持续5秒;在第1分钟5秒时,游戏人物b执行扭头的运动,该扭头的运动持续0.5秒;在第1分钟5.5秒时,游戏人物b执行拔出长剑c刺向游戏人物a胸部的运动,该刺剑的运动持续5秒;在第1分钟10.5秒时,游戏人物a执行跳起并踢开长剑c的动作,该跳起并踢腿的运动持续10秒。

而控制文件中所包括的各个运动时间数据表征的即为该运动时间数据所属的动画模型的运动开始时间,且各个运动时间时按照时间先后顺序排列的,并与其所属的动画模型的模型标识相对应。

基于此,游戏引擎在执行上述步骤s202时,便可以按照时间先后顺序,依次获取每一运动时间数据所对应的模型标识。这样,游戏引擎便可以基于该模型标识确定该运动时间数据所属的动画模型。进而,在导入的目标动画所对应的至少一个数据文件中读取该动画模型的第一类动画数据。该第一类动画数据为:三维动画数据中除运动时间数据以外的数据。第一类动画数据中可以包括动画模型的运动方式数据、运动持续时长数据,以及运动幅度数据等与动画模型的运动相关的数据。

s203:在读取到每一动画模型的第一类动画数据后,基于所读取的第一类动画数据,还原该动画模型的运动过程;

其中,任一动画模型的第一类动画数据为该动画模型的三维动画数据中除运动时间数据以外的数据。

在读取到目标动画的每一动画模型的第一类动画数据后,游戏引擎便可以基于该第一类动画数据,还原该动画模型的运动过程。

其中,游戏引擎是按照目标动画的每一动画模型的运动时间的先后顺序,依次读取该动画模型的第一类动画数据,并在读取该第一类动画数据后,基于该第一类动画数据,还原该动画模型的运动过程。因此,目标动画的每一动画模型的运动过程即按照其运动开始时间依次还原。这样,目标动画的动画场景便可以在游戏引擎中呈现。

例如,可以呈现出游戏人物a进入车辆m,启动车辆m,接着游戏人物b进入车辆n,启动车辆n追踪车辆m的动画场景。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

很多情况中,当目标动画的动画场景在游戏引擎中播放后,游戏制作者可能并不满意自己对该目标动画的动画场景的设计,因此,在这些情况下,游戏制作者希望能够对该目标动画的某一或某几个动画模型的数据进行调整。

基于此,如图3所示,上述本发明实施例提供的一种3d动画播放方法还可以包括如下步骤:

s301:当获得针对于目标动画模型的数据调整指令时,确定待调整的数据类型,以及用户所给定的关于该数据类型的新的数据内容;

其中,目标动画模型为各个动画模型中的任一动画模型;

当游戏引擎获得针对目标动画的各个动画模型中的任一动画模型,即目标动画模型的数据调整指令后,便可以根据该数据调整执行确定待调整的数据类型以及用户所给定的关于该数据类型的新的数据内容。

其中,上述数据调整指令可以携带有目标动画模型的标识、数据类型的标识以及新的数据内容,这样,基于该数据调整指令,游戏引擎便可以获知需要将目标动画的哪一个动画模型的哪一个数据类型的数据更新为哪一种新的数据内容。

需要说明的时,该数据调整指令可以是用户通过多种方式发出的。例如,用户可以通过点击游戏引擎界面中的预设按钮发出数据调整指令,示例性的,该按钮可以是“一键修改”,这样,可以在游戏引擎的界面中显示调整对话框,进而,游戏引擎便可以根据游戏制作者对该调整对话框的操作,获知目标动画模型、数据类型以及新的数据内容,示例性的,可以通过该调整对话框中的下拉菜单选择目标动画模型、数据类型,并键入新的数据内容;此外,上述调整对话框也可以是在检测到游戏制作者对目标动画模型的指定操作后显示的,示例性的,选中目标动画模型,单击鼠标右键,这样,可以通过该调整对话框中的下拉菜单选择数据类型,并键入新的数据内容。又例如,用户可以通过输入程序代码发出数据调整指令。对此,本发明实施例不做具体限定。

s302:以新的数据内容,更新至少一个数据文件中,目标动画模型的第一类动画数据中的数据类型对应的数据内容。

在确定了目标动画模型的待调整的数据类型以及新的数据内容后,游戏引擎便可以在导入的目标动画模型所对应的数据文件中,将待调整的数据类型的数据内容更新为所确定的新的数据内容。

应用上述方法,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型,从而可以简化对动画模型的数据修改操作。

对应于上述本发明实施例提供的一种3d动画导出方法,本发明实施例还提供了一种3d动画导出装置,该装置应用于三维绘图客户端。

图4为本发明实施例提供的一种3d动画导出装置的结构示意图。如图4所示,该装置可以包括如下模块:

模型确定模块410,用于当检测到动画导出指令时,确定当前处于编辑状态的目标动画的各个动画模型;

数据文件导出模块420,用于将各个动画模型的第一类动画数据,导出到目标动画对应的至少一个数据文件;其中,任一动画模型的第一类动画数据为:该动画模型的三维动画数据中除运动时间数据以外的数据;

控制文件导出模块430,用于将各个动画模型的运动时间数据,导出到目标动画对应的控制文件;其中,控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

作为本发明实施例的一种实施方式,上述数据文件导出模块420可以包括:

模型获得子模块,用于按照预定的模型组合规则,将各个动画模型进行分组,得到至少两组模型;

数据文件导出子模块,用于针对每一组模型,将该组模型中的动画模型的第一类动画数据,导出到属于预定文件格式的一个数据文件。

相应于上述本发明实施例提供的一种3d动画播放方法,本发明实施例还提供了一种3d动画播放装置,该装置应用于游戏引擎。

图5为本发明实施例提供的一种3d动画播放装置的结构示意图。如图5所示,该装置可以包括如下模块:

第一数据读取模块510,用于当检测到关于播放目标动画的触发指令时,在目标动画所对应的至少一个数据文件和控制文件导入游戏引擎后,从控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识;其中,目标动画视频所对应的至少一个数据文件和控制文件从按照权利要求1-2任一项的装置从三维绘图客户端所导出;

第二数据读取模块520,用于基于按照时间先后顺序排列的各个运动时间数据和每一运动时间数据对应的模型标识,从至少一个数据文件中,依次读取目标动画的各个动画模型的第一类动画数据;

动画还原模块530,用于在读取到每一动画模型的第一类动画数据后,基于所读取的第一类动画数据,还原该动画模型的运动过程;其中,任一动画模型的第一类动画数据为该动画模型的三维动画数据中除运动时间数据以外的数据。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

作为本发明实施例的一种实施方式,上述触发指令可以为:文件导入指令,或者,动画播放指令。

作为本发明实施例的一种实施方式,上述本发明实施例提供的一种3d动画播放装置还可以包括:

数据确定模块,用于当获得针对于目标动画模型的数据调整指令时,确定待调整的数据类型,以及用户所给定的关于该数据类型的新的数据内容;其中,目标动画模型为各个动画模型中的任一动画模型;

数据更新模块,用于以新的数据内容,更新至少一个数据文件中,目标动画模型的第一类动画数据中的数据类型对应的数据内容。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现上述本发明实施例提供的一种3d动画导出方法。

具体的,上述3d动画导出方法,包括:

当检测到动画导出指令时,确定当前处于编辑状态的目标动画的各个动画模型;

将各个动画模型的第一类动画数据,导出到目标动画对应的至少一个数据文件;其中,任一动画模型的第一类动画数据为:该动画模型的三维动画数据中除运动时间数据以外的数据;

将各个动画模型的运动时间数据,导出到目标动画对应的控制文件;其中,控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。

需要说明的是,上述处理器601执行存储器603上存放的程序而实现的3d动画导出方法的其他实现方式,与前述方法实施例部分提供的3d动画导出方法实施例相同,这里不再赘述。

本发明实施例还提供了另一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现上述本发明实施例提供的一种3d动画播放方法。

具体的,上述3d动画播放方法,包括:

当检测到关于播放目标动画的触发指令时,在目标动画所对应的至少一个数据文件和控制文件导入游戏引擎后,从控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识;其中,目标动画视频所对应的至少一个数据文件和控制文件是按照权利要求1-2任一项的方法从三维绘图客户端所导出的;

基于按照时间先后顺序排列的各个运动时间数据和每一运动时间数据对应的模型标识,从至少一个数据文件中,依次读取目标动画的各个动画模型的第一类动画数据;

在读取到每一动画模型的第一类动画数据后,基于所读取的第一类动画数据,还原该动画模型的运动过程;其中,任一动画模型的第一类动画数据为该动画模型的三维动画数据中除运动时间数据以外的数据。

需要说明的是,上述处理器701执行存储器703上存放的程序而实现的3d动画播放方法的其他实现方式,与前述方法实施例部分提供的3d动画播放方法实施例相同,这里不再赘述。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述本发明实施例提供的一种3d动画导出方法。

具体的,上述3d动画导出方法,包括:

当检测到动画导出指令时,确定当前处于编辑状态的目标动画的各个动画模型;

将各个动画模型的第一类动画数据,导出到目标动画对应的至少一个数据文件;其中,任一动画模型的第一类动画数据为:该动画模型的三维动画数据中除运动时间数据以外的数据;

将各个动画模型的运动时间数据,导出到目标动画对应的控制文件;其中,控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。

需要说明的是,上述计算机程序被处理器执行时而实现的3d动画导出方法的其他实现方式,与前述方法实施例部分提供的3d动画导出方法实施例相同,这里不再赘述。

本发明实施例还提供了另一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述本发明实施例提供的一种3d动画播放方法。

具体的,上述3d动画播放方法,包括:

当检测到关于播放目标动画的触发指令时,在目标动画所对应的至少一个数据文件和控制文件导入游戏引擎后,从控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识;其中,目标动画视频所对应的至少一个数据文件和控制文件是按照权利要求1-2任一项的方法从三维绘图客户端所导出的;

基于按照时间先后顺序排列的各个运动时间数据和每一运动时间数据对应的模型标识,从至少一个数据文件中,依次读取目标动画的各个动画模型的第一类动画数据;

在读取到每一动画模型的第一类动画数据后,基于所读取的第一类动画数据,还原该动画模型的运动过程;其中,任一动画模型的第一类动画数据为该动画模型的三维动画数据中除运动时间数据以外的数据。

需要说明的是,上述计算机程序被处理器执行时而实现的3d动画播放方法的其他实现方式,与前述方法实施例部分提供的3d动画播放方法实施例相同,这里不再赘述。

以上可见,在本发明实施例提供的方案中,针对当前处于编辑状态的目标动画的各个动画模型,三维绘图客户端导出各个动画模型对应的至少一个数据文件,该数据文件中不包括运动时间数据,同时,将各个动画模型的运动时间数据,导出到控制文件,该控制文件中的各个运动时间数据按照时间先后顺序排列且每一运动时间数据对应有相应动画模型的模型标识。这样,当游戏引擎检测到关于播放目标动画的触发指令时,便可以从导入的控制文件中,读取按照时间先后顺序排列的各个运动时间数据以及每一运动时间数据对应的模型标识。进而,可以按照读取到的运动时间数据和模型标识,直接从数据文件中依次读取各个动画模型的第一类动画数据,并基于这些第一类动画数据还原各个动画模型的运动过程。这样,应用本发明实施例提供的方案,在3d游戏的制作过程中,当需要在游戏引擎中播放动画时,便不需要人工基于数据文件给定各个动画模型所对应的运动时间数据,简化在游戏引擎中播放画面时的操作,提高播放效率,进而,可以提高3d游戏的制作效率。此外,在本发明实施例提供的方案中,当需要对动画模型的动画数据进行修改时,可以直接在游戏引擎中进行数据更新,而不需要再次回到三维绘图客户端中重新编辑该动画模型。因此,应用本发明实施例提供的方案可以简化对动画模型的数据修改操作。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每一实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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