一种动画制作方法、系统、装置及计算机可读存储介质
文献发布时间:2023-06-19 09:46:20
技术领域
本申请涉及动画制作技术领域,尤其涉及一种动画制作方法、系统、装置及计算机可读存储介质。
背景技术
随着动画制作产业的不断发展,动画制作技术被广泛应用于电影制作、教育以及医疗等领域,动画制作技术在现代生活中有着举足轻重的作用。
现有技术提供的动画制作方案中,一般通过拍摄视频来制作三维动画,不同的场景拍摄不同的视频,或者采集某个模型的静态三维特征,然后根据不同场景分别制作不同的动态仿真动画,当遇到相同或者相近的场景时,每一个不同的场景都需要重新制作模型的动画,现有技术提供的动画制作方法较为繁琐,需要花费动画制作人员大量的时间来对动画变化进行制作和调整,这种动画制作方法效率较低。
发明内容
本申请第一方面提供了一种动画制作方法,所述方法包括:
获取虚拟动画场景,所述虚拟动画场景中包含有至少一个角色和至少一个对象;所述角色为所述虚拟动画场景中被操控的角色,所述对象为所述虚拟动画场景中非所述角色的任意对象;
根据所述角色的坐标从所述虚拟动画场景的对象中确定目标对象;
提取所述目标对象的目标对象信息;
判断模板库中是否有与所述目标对象信息相匹配的相关对象信息;所述模板库中预存有角色动作模板,所述角色动作模板与相关对象信息存在映射关系;
若是,则获取与所述目标对象信息相匹配的相关对象信息对应的角色动作模板,确定为目标动作模板;
控制所述虚拟动画场景中的所述角色根据所述目标动作模板运动。
可选的,所述提取所述目标对象的目标对象信息包括:
提取所述目标对象在所述虚拟动画场景中的参数信息;所述参数信息至少包括尺寸信息和/或形状信息。
可选的,所述判断所述模板库中是否有与所述目标对象信息相匹配的相关对象信息,包括:
获取所述模板库中相关对象信息的参数信息;
将所述目标对象在所述虚拟动画场景中的参数信息与所述模板库中各个相关对象的参数信息进行比对,得到所述目标对象信息与各个相关对象信息之间的参数相似度;
获取数值最高的参数相似度;
判断数值最高的参数相似度是否达到预设阈值;
若是,则将所述参数相似度最高的相关对象信息确定与所述目标对象信息相匹配。
可选的,所述提取所述目标对象在所述虚拟动画场景中的形状信息包括:
提取所述目标对象在所述虚拟动画场景中至少一个方向的视图信息;
根据所述视图信息确定所述目标对象在所述虚拟动画场景中的形状信息。
可选的,所述根据所述目标动作模板控制所述场景中的角色运动包括:
获取所述目标动作模板的模板时间轴;
将所述模板时间轴的起始时刻与所述虚拟动画场景的目标时间轴的目标时刻对齐;
获取所述目标动作模板的模板时间轴中所有的关键帧;
获取所述关键帧中每一帧的样本角色骨骼的所有位置信息;
控制所述虚拟动画场景中所述角色的骨骼依据所述样本角色骨骼的位置信息在对齐后的所述模板时间轴上进行变换。
可选的,在所述获取所述关键帧中每一帧的样本角色骨骼的所有位置信息之后,在所述控制所述虚拟动画场景中所述角色的骨骼依据所述样本角色骨骼的位置信息在对齐后的所述模板时间轴上进行变换之前,所述方法还包括:
获取所述目标对象的参数信息;
根据所述参数信息调整所述样本角色骨骼的位置信息,得到调整后的位置信息。
可选的,在所述获取所述关键帧中每一帧的样本角色骨骼的所有位置信息之后,在所述控制所述虚拟动画场景中所述角色的骨骼依据所述样本角色骨骼的位置信息在对齐后的所述模板时间轴上进行变换之前,所述方法还包括:
获取所述虚拟动画场景中所述角色与所述目标对象的相对位置信息,所述相对位置信息至少包括相对距离信息和相对朝向信息中的一种;
根据所述相对位置信息调整所述虚拟动画场景中所述角色与所述目标对象的相对位置。
可选的,在所述控制所述虚拟动画场景中所述角色的骨骼依据所述样本角色骨骼的位置信息在对齐后的所述模板时间轴上进行变换之后,所述方法还包括:
分别获取调整后的位置信息和所述目标对象信息;
根据调整后的位置信息和所述目标对象信息生成角色动作模板;
根据生成的角色动作模板更新所述模板库。
可选的,所述根据所述角色的坐标从所述虚拟动画场景的对象中确定目标对象,包括:
根据所述角色的坐标确定在所述虚拟动画场景中距离所述角色最近的对象;
将距离所述角色最近的对象确定为目标对象。
可选的,在所述确定在所述虚拟动画场景中距离所述角色最近的对象之后,在所述将距离所述角色最近的对象确定为目标对象之前,所述方法还包括:
判断所述虚拟动画中的所述角色在距离所述角色最近的对象对应的触发区域停留时间是否达到触发阈值;
若是,则将距离所述角色最近的对象确定为目标对象。
可选的,其特征在于,在所述获取虚拟动画场景之前,所述方法还包括:
接收用户对样本角色骨骼的操作指令;
根据所述操作指令创建预设数量的关键帧,所述关键帧中的任一帧均记录有所述样本角色骨骼中所有骨骼节点的位置信息;
将所述关键帧记录在模板时间轴上;
根据所述模板时间轴播放所述关键帧,得到角色动作模板;
将所述角色动作模板存储于模板库中。
本申请第二方面提供了一种动画制作系统,其特征在于,所述系统包括:
第一获取单元,用于获取虚拟动画场景,所述虚拟动画场景中包含有至少一个角色和至少一个对象;所述角色为所述虚拟动画场景中被操控的角色,所述对象为所述虚拟动画场景中非所述角色的任意对象;
确定单元,用于根据所述虚拟动画场景的角色的坐标从所述对象中确定目标对象;
提取单元,用于提取所述目标对象的目标对象信息;
判断单元,用于判断模板库中是否有与所述目标对象信息相匹配的相关对象信息;所述模板库中预存有角色动作模板,所述角色动作模板与相关对象信息存在映射关系;
第二获取单元,用于获取与所述目标对象信息相匹配的相关对象信息对应的角色动作模板,确定为目标动作模板;
控制单元,用于控制所述虚拟动画场景中的所述角色根据所述目标动作模板运动。
本申请第三方面提供了一种动画制作装置,其特征在于,所述装置包括:
处理器、存储器、输入输出单元、总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如第一方面所述的动画制作方法以及第一方面中任一项可选的方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的方法。
本申请提供的动画制作方法,首先创建角色动作模板,角色动作模板中记录有与该角色动作模板相匹配的相关对象信息,并将该角色动作模板存储于模板库中;然后获取虚拟动画场景中的目标对象信息,判断模板库中是否有与该目标对象信息相匹配的相关对象信息,如果有,则获取对应的目标动作模板,控制虚拟动画场景中的角色按照该目标动作模板运动。通过本申请的动画制作方法,当虚拟动画场景中有与模板库中的对象相同的或者相似的目标对象时,可以匹配相应的目标动作模板,无需再重新制作角色的动画,减少了动画制作人员制作动画的时间,提高了动画制作效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中动画制作方法的一个实施例流程示意图;
图2为本申请中动画制作方法的另一个实施例流程示意图;
图3为本申请中动画制作方法的另一个实施例流程示意图;
图4为本申请中动画制作方法的另一个实施例流程示意图;
图5为本申请中动画制作系统的一个实施例结构示意图;
图6为本申请中动画制作装置的一个实施例结构示意图。
具体实施方式
现有技术提供的动画制作方案中,一般通过拍摄视频来制作三维动画,不同的场景拍摄不同的视频,或者采集某个模型的静态三维特征,然后根据不同场景分别制作不同的动态仿真动画,当遇到相同或者相近的场景时,每一个不同的场景都需要重新制作模型的动画,现有技术提供的动画制作方法较为繁琐,需要花费动画制作人员大量的时间来对动画变化进行制作和调整,这种动画制作方法效率较低。
基于此,本申请提供了一种动画制作方法,用于提高动画制作效率。
需要说明的是,本申请实施例提供的动画制作方法,可以应用于终端也可以应用于系统,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本申请实施例中以终端为执行主体进行举例说明。
请参阅图1,图1是本申请提供的动画制作方法一实施例的流程示意图,该动画制作方法包括:
101、获取虚拟动画场景,虚拟动画场景中包含有至少一个角色和至少一个对象;
在实际应用中,终端从本地存储单元或从云端服务器或从移动存储介质中获取一段用户所需要进行编辑的虚拟动画场景,通常为一段待编辑的素材动画,需要说明的是,在本申请实施例中,虚拟动画场景指在实际动画制作时的待制作动画,待制作的动画里面包含有例如天空、地面以及河流等虚拟场景,虚拟场景中包含有角色,本申请实施所提及或讨论的角色是指用户所需要进行编辑的虚拟场景中的角色,一般在制作一段动画时,需要对静态的角色进行动态的编辑,以形成角色和虚拟场景相吻合的动画,所提及或讨论的角色可以是虚拟的人物、动物、植物、交通工具以及科幻角色等动画角色,本申请实施所提及或讨论的对象可以是场景中例如墙、沟、悬崖、悬索、梯子、凸台等地形,也可以是虚拟的人物、动物、植物、交通工具以及科幻角色等动画角色,还可以是场景中的其它动画道具等,具体此处不做限定。本申请中的相关对象信息或目标对象信息可以是指对象的类别信息,也可以是指例如墙的高度宽度,例如梯子的级数以及长度。在该虚拟动画场景中,角色和对象具有对应的坐标,其坐标随角色和对象的移动而实时变化。
102、根据角色的坐标从虚拟动画场景的对象中确定目标对象;
本申请实施例的虚拟动画场景中,包含至少有一个对象,既有一个或多个对象,终端需要根据一定的策略来确定一个或多个对象中哪一个对象是用户所需要和角色进行关联的,并将需要进行关联的对象确定为目标对象。
在具体实施例中,可以设置当角色靠近某一对象时,将该对象确定为目标对象,例如当虚拟动画场景中的角色靠近一面墙时,终端确定该墙为目标对象,进而获取墙的信息。在另一些实施例中,还可以进一步的通过确定角色的朝向来确定目标对象,例如设置当角色靠近某一对象并且朝向为正对着该对象时,则确定该对象为目标对象。具体地,判断角色是否靠近对象,可通过两者的坐标来确定,当对象和角色之间的坐标满足一定的关联条件之后,会进行进一步的匹配操作,由此可以减少一定程度的重复操作。
103、提取目标对象的目标对象信息;
终端确定目标对象后,提取目标对象的目标对象信息,在实际应用中,终端依据一定的提取策略提取目标对象的目标对象信息,用于与模板库中的相关对象信息进行匹配判断,本申请实施例中提及或讨论的相关对象信息或目标对象信息可以是指对象的类别信息,也可以是指对象的高度和宽度,例如还可以是对象的长度、形状、轮廓、颜色、透明度或光照强度等。
104、判断模板库中是否有与目标对象信息相匹配的相关对象信息;若是,则执行步骤105,若否,则执行步骤107;模板库中预存有角色动作模板,角色动作模板中包含有与角色动作模板对应的相关对象信息;
需要说明的是,本申请实施例中,用户可以在终端上预先创建角色动作模板,并将角色动作模板预存于模板库中,模板库中的角色动作模板记录有与该角色动作模板对应的相关对象信息,每一个角色动作模板均对应有与该角色动作模板相关的对象,该相关的对象作为相关对象信息被记录于角色动作模板中。例如,用户创建了样本角色的一个翻墙动作模板和一个游泳动作模板,与翻墙动作模板相关的对象是墙,角色动作模板中将墙的信息作为相关对象信息进行记录,具体地,翻墙动作模板所记录的相关对象信息可以为相对高度为3至5单位长度,宽度为1至3单位长度,长度为6至8个单位长度,颜色为灰色,透明度为0。与游泳动作模板相关的对象为河流,则游泳动作模板中所记录的相关对象信息可以为颜色为淡蓝色,透明度为60%至70%,光照强度为2万至3万勒克斯Lux,本申请实施例所提及或讨论的各个信息均为在虚拟动画场景中的信息。
终端在提取目标对象的目标对象信息后,将目标对象信息与模板库中各个角色动作模板所记录的相关对象信息进行比对,如果目标对象信息和某一角色动作模板所记录的相关对象信息吻合,则可以确定该角色动作模板与目标对象相匹配,即可得到目标动作模板。例如,提取到的目标对象信息为颜色为淡蓝色,透明度为65%,光照强度为2.5万Lux,则确定该目标对象为河流,终端确定该目标对象与游泳动作模板相匹配。例如,提取到的目标对象信息为颜色为灰色,相对高度为4单位长度,宽度为1单位长度,长度为7单位长度,透明度为0,则确定该目标对象为墙,终端确定该目标对象信息与模板库中翻墙动作模板所记录的信息匹配。
需要说明的是,本实施中所阐述的对象信息匹配策略仅仅是示意性的,在实际应用时还可以有其它的实现方式,具体此处不做限定。
105、获取与目标对象信息相匹配的相关对象信息对应的角色动作模板,确定为目标动作模板;
终端在确定模板库中有与目标对象信息相匹配的相关对象信息后,获取与该相关对象信息对应的角色动作模板信息,将该对应的角色动作模板确定为目标动作模板,终端从模板库中获取该目标动作模板,通过该目标动作模板对虚拟动画场景中的角色进行控制。
106、控制虚拟动画场景中的角色根据目标动作模板运动。
终端根据目标动作模板控制虚拟动画场景中的角色运动,例如当确定目标对象为河流时,获取对应的游泳动作模板,控制虚拟动画场景中的角色在该河流中做对应的游泳动作。在实际应用中,角色动作模板记录的可以是角色的骨骼的动态信息,在控制虚拟场景中的角色根据目标动作模板运动时,可以是控制角色的骨骼依据目标动作模板所记录的骨骼的动态信息进行变换,以实现在虚拟动画场景中的运动。
107、结束流程。
当判断模板库中没有与目标对象信息相匹配的相关对象信息时,即可结束流程。
本申请实施例提供的动画制作方法中,用户首先在终端创建角色动作模板,角色动作模板中记录有与该角色动作模板对应的相关对象信息;终端将该角色动作模板存储于模板库中;然后获取虚拟动画场景中的目标对象信息,判断模板库中是否有与该目标对象信息相匹配的相关对象信息,如果有,则获取对应的目标动作模板,控制虚拟动画场景中的角色按照该目标动作模板运动。本申请实施例提供的动画制作方法中,当虚拟动画场景中有与模板库中的对象相同的或者相似的目标对象时,可以匹配相应的目标动作模板,无需再重新制作角色的动画,减少了动画制作人员制作动画的时间,提高了动画制作效率。
本申请提供的动画制作方法中,在实际应用中,判断模板库中是否有与目标对象信息相匹配的相关对象信息可以有多种实现方式,下面将结合附图进行详细阐述。
判断参数信息相似度;
请参阅图2,图2是本申请提供的动画制作方法另一实施例的流程示意图,该动画制作方法包括:
201、获取虚拟动画场景,虚拟动画场景中包含有至少一个角色和至少一个对象;
202、根据角色的坐标从虚拟动画场景的对象中确定目标对象;
本实施例中步骤201至202与前述实施例中步骤101至步骤102类似,此处不再赘述。
203、提取目标对象的参数信息;
本申请实施例中所提及或讨论的参数信息是指在虚拟动画场景中的相对的参数信息,例如长度为5单位长度,宽度为1单位长度,高度为-1单位长度,-1单位长度意味着目标对象的在虚拟动画场景中的高度低于虚拟的地平高度,在虚拟动画场景中可能表现为一条凹槽,因此,目标对象在虚拟动画场景中的特征往往会在参数信息上体现出来,例如类似于山峰、沟壑、凸台以及墙壁等地形对象,本实施例中,通过提取目标对象的参数信息来进行相似性的匹配判断,具体的可以是虚拟动画场景中以一定单元格的方式对所有的空间进行划分,每个对象和角色均占据一定单位的空间,进而根据其所占据单元格的个数来确定对象或信息。
204、获取模板库中相关对象信息的参数信息;
模板库中的角色动作模板在生成时记录了与该角色动作模板对应的相关对象的参数信息,在进行相似性判断时,终端从存储装置或是云端或是本地存储单元获取该角色动作模板所记录的相关对象的参数信息。
205、将目标对象在虚拟动画场景中的参数信息与模板库中各个相关对象的参数信息进行比对,得到目标对象信息与各个相关对象信息之间的参数相似度;
终端将目标对象的参数信息与模板库中角色动作模板所记录的相关对象的参数信息进行相似性比对,得到目标对象与所有相关对象之间的参数相似度。参数相似度可以是体现在参数数值在坐标轴上的临近性或者参数数值范围的重合度,也可以是参数类型的重合度,例如终端从虚拟动画场景中提取到的目标对象的参数信息包括:颜色为灰色,相对高度为4单位长度,宽度为1单位长度,长度为7单位长度,透明度为0,模板库中分别记录有A动作模板和B动作模板,A动作模板中所记录的相关对象信息为颜色为灰色,相对高度为1至7单位长度为,宽度为1单位长度,长度为5单位长度,透明度为0;B动作模板中所记录的相关对象信息为颜色为灰色,相对高度为4至10单位长度,宽度为1单位长度,长度为3单位长度,透明度为0。其中,A中的相对高度数值范围的中点为4单位长度,B中相对高度的中点为7单位长度,而目标对象的相对高度也为4单位长度,终端确定A动作模板中所记录的相关对象信息的参数信息与模板对象的参数信息之间的参数相似度更高。还可以是对参数类型的重合度进行比对,例如目标对象的目标对象信息中包含了透明度信息,而模板库中的C动作模板所记录的相关对象信息中没有透明度信息,显然,C动作模板的参数类型的重合度较低。
需要说明的是,上文中所阐述的举例,仅仅是示意性说明,在不脱离本申请实施例的思想下,还可以有多种实现方式,具体此处不做限定。
206、获取数值最高的参数相似度;
终端将目标对象的参数信息与相关对象的参数信息进行相似性比对,得到目标对象与所有相关对象之间的参数相似度之后,获取数值最高的参数相似度,进行进一步的判断。
207、判断数值最高的参数相似度是否达到预设阈值;若是则执行步骤208,若否则执行步骤211;
在实际应用中,当模板库中存储有多个角色动作模板时,终端在完成比对之后会确定出参数相似度最高的角色动作模板,然而尽管参数相似度是最高的,但是仍有可能并非是真正匹配的,为了达到进一步的精确匹配,本实施例中,还需要判断数值最高的参数相似度是否达到预设阈值,预设阈值可以有用户或是相关人员自行设定,具体此处不做限定。如果参数相似度达到了预设阈值,说明该数值最高的参数相似度所对应的角色动作模板与目标对象匹配度较高,提高了匹配的精确性。
208、将参数相似度最高的相关对象信息确定与目标对象信息相匹配;
如果参数相似度达到了预设阈值,说明该数值最高的参数信息所对应的角色动作模板与目标对象匹配度较高,终端将参数相似度最高的相关对象信息确定与目标对象信息相匹配。
209、获取与目标对象信息相匹配的相关对象信息对应的角色动作模板,确定为目标动作模板;
终端获取参数相似度最高的参数信息所对应的角色动作模板,确定为目标动作模板。
210、控制虚拟动画场景中的角色根据目标动作模板运动。
步骤210与前述实施例中的步骤106类似,此处不再赘述。
211、结束流程。
本实施中,终端通过对目标对象信息与模板库中的各个模板所记录的参数信息进行相似性的比对,实现了目标对象与角色动作模板的精确匹配,进一步提高了动画制作效率。
具体的,当参数信息为形状信息时:
请参阅图3,图3是本申请提供的动画制作方法另一实施例的流程示意图,该动画制作方法包括:
301、获取虚拟动画场景,虚拟动画场景中包含有至少一个角色和至少一个对象;
302、根据角色的坐标从虚拟动画场景的对象中确定目标对象;
本实施例中步骤201至202与前述实施例中步骤101至步骤102类似,此处不再赘述。
303、提取目标对象在虚拟动画场景中至少一个方向的视图信息;
在实际应用中,可以通过提取目标对象的一个或多个方向的视图信息来确定该目标对象在虚拟动画场景中的形状,例如提取该目标对象的正视图,在虚拟动画场景中的正视图可以是指定的方位视图,例如终端在虚拟动画场景中构建了三维XYZ绝对坐标系,正视图可以是Z轴正方向的视图。或是根据多个视图来确定形状信息。
304、根据视图信息确定目标对象在虚拟动画场景中的形状信息。
在实际应用中,有的对象往往具有比较复杂的外形,其参数信息较为复杂,终端需要进行大量的计算,复杂的计算会导致终端的运行速度和效率大幅度下降,会影响动画制作效率。因此,本实施中,可以通过对目标对象的视图进行提取进而确定其形状,再通过形状进行相似性比对。例如,当目标对象为科幻角色时,例如为汽车时,其参数信息,尤其是尺寸信息数据往往较复杂,而终端只需要提取该目标对象的侧视图,即可确定出目标对象的形状。
305、获取模板库中相关对象信息中的形状信息;
模板库中的角色动作模板在生成时记录了与该角色动作模板相匹配的对象的形状信息,在进行相似性判断时,终端从从存储装置或是云端或是本地存储单元获取该角色动作模板所记录的形状信息。
306、将目标对象在虚拟动画场景中的形状信息与模板库中各个相关对象的形状信息进行比对,得到目标对象信息与各个相关对象信息之间的形状相似度;
终端将目标对象的形状信息与模板库中角色动作模板所记录的形状信息进行相似性比对,得到目标对象信息与各个相关对象信息之间的形状相似度。形状相似度的高低可以是体现在形状视图的重合度或是形状视图的几何相似度。例如当才提取到的目标对象的三视图均为矩形,模板库中A动作模板所记录的三视图中也为三个矩形,可以确定该目标对象的目标对象信息与A动作模板所记录的相关对象信息的形状相似度较高。
需要说明的是,上文中所阐述的举例,仅仅是示意性说明,在不脱离本申请实施例的思想下,还可以有多种实现方式,具体此处不做限定。
307、获取数值最高的形状相似度;
终端对形状信息进行相似性比对,得到目标对象信息与各个相关对象信息之间的形状相似度之后,获取数值最高的形状相似度,进行进一步的判断。
308、判断数值最高的形状相似度是否达到预设阈值;若是,则执行步骤309,若否,则执行步骤312;
在实际应用中,当模板库中存储有多个角色动作模板时,终端在完成比对之后会确定出相似度最高的角色动作模板,然而尽管是相似度最高的,但是仍有可能并非是真正匹配的,为了达到进一步的精确匹配,本实施例中,还需要判断数值最高的形状相似度是否达到预设阈值,预设阈值可以由用户或是相关人员自行设定,具体此处不做限定。如果形状相似度达到了预设阈值,说明该数值最高的形状相似度所对应的角色动作模板与目标对象匹配度较高,提高了匹配的精确性。
309、将形状相似度最高的相关对象信息确定与目标对象信息相匹配;
如果形状相似度达到了预设阈值,说明该数值最高的形状信息所对应的角色动作模板与目标对象匹配度较高,终端确定形状相似度最高的相关对象信息确定与目标对象信息相匹配。
310、获取与目标对象信息相匹配的对象信息对应的角色动作模板,确定为目标动作模板;
终端获取形状相似度最高的形状信息所对应的动作模板,确定为目标动作模板。
311、控制虚拟动画场景中的角色根据目标动作模板运动。
步骤311与前述实施例中的步骤106类似,此处不再赘述。
312、结束流程。
本实施中,终端通过对目标对象信息与模板库中的各个模板所记录的形状信息进行相似性的比对,实现了目标对象与角色动作模板的精确匹配,进一步提高了动画制作效率,并且本实施例中,当遇到尺寸信息复杂的目标对象时,终端只需要提取目标对象的视图信息来进行相似性比对,提高了终端的处理效率。
请参阅图4,图4是本申请提供的动画制作方法另一实施例的流程示意图,该动画制作方法包括:
401、接收用户对样本角色骨骼的操作指令;
在实际应用中,角色动作模板可以由用户通过终端来创建,用户在创建角色动作模板时,需要对样本角色的骨骼进行操作,骨骼是指包含了可以三维位置变换的骨骼节点以及连接这些骨骼节点的线条,这些骨骼节点以及线条通过一定的组合连接形成了骨骼,骨骼的运动可以驱动角色的运动,用户在创建角色动作模板时,需要对骨骼进行操控,以形成用户所需要的动作,例如终端接收用户通过鼠标发送的操控指令。终端获取用户对骨骼的一系列操作指令,并将这些操作指令进行记录。
402、根据操作指令创建预设数量的关键帧,关键帧中的任一帧均记录有样本角色骨骼中所有骨骼节点的位置信息;
本实施例中,终端根据用户对样本角色的骨骼进行操作,通过操作指令来创建关键帧,关键帧用于记录骨骼在不同时间点上的位置,即每个关键帧中都记录有该样本角色中所有骨骼在该关键帧的位置信息,本实施例所提及或讨论的位置信息指的是骨骼节点在三维虚拟空间中的位置信息,终端可以将该帧中所有骨骼节点的位置信息存储于存储单元或者云端服务器中,关键帧的数量可以由根据实际需要来确定。
403、将关键帧记录在模板时间轴上;
在创建角色动作模板时,实际上相当于创建了一段动画,角色动作模板包含了一定数量的关键帧和模板时间轴,模板时间轴是指角色动作模板所对应的时间轴,每一个角色动作模板都有其时间轴,将关键帧按照一定的顺序记录在模板时间轴上,具体可以是每一帧之间间隔相同的或不同的时间。
404、根据模板时间轴播放关键帧,得到角色动作模板;
当终端依据一定的顺序来将关键帧记录在模板时间轴上之后,按照该模板时间轴来播放这些关键帧,即可得到动态的角色动作模板。
405、将角色动作模板存储于模板库中;
终端将创建的角色动作模板存储于模板库中,本申请实施例中的模板库可以本地的数据库也可以是云端的数据库,具体可以是终端从本地存储单元中划分一定的存储空间用于角色动作模板的数据存储,也可以是将这些角色动作模板的数据上传云端,当需要获取时从本地获取或者从云端请求数据。
406、获取虚拟动画场景,虚拟动画场景中包含有至少一个角色和至少一个对象;
407、根据角色的坐标从虚拟动画场景的对象中确定目标对象;
408、提取目标对象的目标对象信息;
409、判断模板库中是否有与目标对象信息相匹配的相关对象信息,若是则执行步骤410,若否则执行步骤416;
410、获取与目标对象信息相匹配的相关对象信息对应的角色动作模板,确定为目标动作模板;
本实施例中步骤406至步骤410与前述实施例中步骤101至步骤105类似,此处不再赘述。
411、获取目标动作模板的模板时间轴;
终端从本地存储单元中或者从云端服务器中获取角色动作模板时间轴。
412、将模板时间轴的起始时刻与虚拟动画场景的目标时间轴的目标时刻对齐;
在实际应用中,通过将目标动作模板的模板时间轴与虚拟动画场景的时间轴对齐来确定该工作模板的触发时间点,每一段虚拟动画场景均有其绝对的时间轴,具体可以是将模板时间轴的T0(起始)时刻与虚拟动画场景的时间轴中一个时刻对齐,例如虚拟动画场景时间轴总时长为2H,将模板时间轴的T0时刻与虚拟动画场景的1:08时刻对齐,当动画播放到1:08时触发目标动作模板。具体的可以是终端将该目标时刻存储于数据库中,具体的目标时刻可以根据实际需要来设置。
413、获取目标动作模板的模板时间轴中所有的关键帧;
终端在对齐时间轴之后,从本地存储单元或者云端服务器中获取目标动作模板的所有关键帧的信息。
414、获取关键帧中每一帧的样本角色骨骼的所有位置信息;
目标动作模板的关键帧中记录有该样本角色骨骼在该关键帧对应的时刻时,骨骼的所有位置信息,例如骨骼中所有骨骼节点以及连接骨骼节点的线条的位置信息以及角度信息。
415、控制虚拟动画场景中角色的骨骼依据样本角色骨骼的位置信息在对齐后的模板时间轴上进行变换;
416、结束流程。
终端在获取到样本角色骨骼的位置信息后,控制虚拟动画场景中的角色按照这些位置信息进行变换,由于虚拟动画场景中所采用的每秒帧数和角色动作模板所采用的每秒帧数可能不一样,因此,在变换时所依据的是原来的模板时间轴,减少播放速度的不稳定,提高了匹配精度。
在实际应用中时,目标对象与模板库中所记录的对象可能属于同一个类别,但是会存在参数上的差异,例如目标对象与模板库中的对象均为梯子,当时模板库中的对象所记录的相关对象信息中,梯子的长度为5单位长度,目标对象中的梯子长度为10单位长度,因此,终端在控制角色运动之前,还可以先获取目标对象的参数信息,并调整目标动作模板的位置信息,以提高目标动作模板与目标对象吻合度。
可选的,在虚拟动画场景中时,角色与目标对象可能会存在相对位置上的微小偏移,例如角色与目标对象的相对朝向相反,因此,终端在控制角色运动之前还可以获取角色与目标对象的相对位置信息,相对位置信息包括但不仅限于相对朝向信息和相对距离信息。并调整角色与目标对象的相对位置。以提高目标动作模板与目标对象吻合度。
可选的,在实际应用中,终端控制角色的运动需要先从模板库中获取角色动作模板,但是会受到模板库中角色动作模板数量的限制,因此,当终端对目标动作模板的位置信息进行调整时,意味着可能出现的目标对象与模板库中所记录的对象存在一定差异,终端可以根据调整后的位置信息创建关键帧,并使用上述方法生成新的角色动作模板,将新的角色动作模板存储于本地存储单元或者运动服务器中,更新模板库,以此不断更新模板库可以使得动画的制作更加自主和智能。极大程度地提高了动画制作效率。
本申请实施例提供的动画制作方法中,用户可以通过对样本角色骨骼的操控来创建关键帧进而可以创建角色动作模板,终端将角色动作模板的数据存储在模板库中。当需要使用到模板库中的角色动作模板时,终端通过对模板时间轴和虚拟动画场景的时间轴对齐,可以实现角色动作模板的精确触发,并且对齐时刻可以预设和调整,提高了实用性,提高了动画制作效率。
请参阅图5,图5为本申请提供的动画制作系统的一个实施例结构示意图,该实施例包括:包括:
第一获取单元501,用于获取虚拟动画场景,虚拟动画场景中包含有至少一个角色和至少一个对象;
确定单元502,用于根据角色的坐标从虚拟动画场景的对象中确定目标对象;
提取单元503,用于提取目标对象的目标对象信息;
判断单元504,用于判断模板库中是否有与目标对象信息相匹配的相关对象信息;模板库中预存有角色动作模板,角色动作模板中包含有与角色动作模板相关的相关对象信息;
第二获取单元505,用于获取与目标对象信息相匹配的相关对象信息对应的角色动作模板,确定为目标动作模板;
控制单元506,用于控制虚拟动画场景中的角色根据目标动作模板运动。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供的动画制作系统中,首先获取虚拟动画场景中的目标对象信息,判断模板库中是否有与该目标对象信息相匹配的相关对象信息,如果有,则获取对应的目标动作模板,控制虚拟动画场景中的角色按照该目标动作模板运动。本申请实施例提供的动画制作系统中,当虚拟动画场景中有与模板库中的对象相同的或者相似的目标对象时,可以匹配相应的目标动作模板,无需再重新制作角色的动画,减少了动画制作人员制作动画的时间,提高了动画制作效率。
可选的,提取单元503具体用于提取目标对象在虚拟动画场景中的参数信息和/或形状信息。
可选的,判断单元504具体用于获取模板库中相关对象信息中的参数信息;
判断单元504还用于依次比对目标对象在虚拟动画场景中的参数信息与模板库中各个相关对象信息的参数信息之间的参数相似度;
判断单元504还用于获取数值最高的参数相似度;
判断单元504还用于判断数值最高的参数相似度是否达到预设阈值;
判断单元504还用于将参数相似度最高的相关对象信息确定与目标对象信息相匹配;
可选的,判断单元504具体用于获取模板库中相关对象信息中的形状信息;
判断单元504还用于依次比对目标对象在虚拟动画场景中的形状信息与模板库中各个相关对象信息的形状信息之间的形状相似度;
判断单元504还用于获取数值最高的形状相似度;
判断单元504还用于判断数值最高的形状相似度是否达到预设阈值;
判断单元504还用于将形状相似度最高的相关对象信息确定与目标对象信息相匹配。
可选的,提取单元503具体用于提取目标对象在虚拟动画场景中至少一个方向的视图信息;
提取单元503还用于根据视图信息确定目标对象在虚拟动画场景中的形状信息。
可选的,控制单元506具体用于获取目标动作模板的模板时间轴;
控制单元506还用于将模板时间轴的起始时刻与虚拟动画场景的目标时间轴的目标时刻对齐;
控制单元506还用于获取目标动作模板的模板时间轴中所有的关键帧;
控制单元506还用于获取关键帧中每一帧的样本角色骨骼的所有位置信息;
控制单元506还用于控制虚拟动画场景中角色的骨骼依据样本角色骨骼的位置信息在对齐后的模板时间轴上进行变换。
可选的,系统还包括:
参数信息获取单元507,参数信息获取单元507用于获取单元用于获取目标对象的参数信息;
位置信息调整单元508,位置信息调整单元508用于根据参数信息调整样本角色骨骼的位置信息,得到调整后的位置信息。
可选的,系统还包括:
相对位置信息获取单元509,相对位置信息获取单元509用于获取虚拟动画场景中角色与目标对象的相对位置信息,相对位置信息至少包括相对距离信息和相对朝向信息中的一种;
相对位置调整单元510,相对位置调整单元510用于根据相对位置信息调整虚拟动画场景中角色与目标对象的相对位置。
可选的,系统还包括:
第三获取单元511,第三获取单元511用于分别获取调整后的位置信息和目标对象信息;
生成单元512,生成单元512用于根据调整后的位置信息和目标对象信息生成角色动作模板;
更新单元513,更新单元513用于根据生成的角色动作模板更新模板库。
可选的,系统还包括:
距离确定单元514,距离确定单元514用于确定在虚拟动画场景中距离角色最近的对象;
第一目标对象确定单元515,第一目标对象确定单元515用于将距离角色最近的对象确定为目标对象。
可选的,系统还包括:
停留时间判断单元516,停留时间判断单元516用于判断虚拟动画中的角色在距离角色最近的对象对应的触发区域停留时间是否达到触发阈值;
第二目标对象确定单元517,第二目标对象确定单元517用于将距离角色最近的对象确定为目标对象。
可选的,系统还包括:
操作指令接收单元518,接收单元518用于接收用户对样本角色骨骼的操作指令;
关键帧创建单元519,关键帧创建单元519用于根据操作指令创建预设数量的关键帧,关键帧中的任一帧均记录有样本角色骨骼中所有骨骼节点的位置信息;
关键帧记录单元520,关键帧记录单元520用于将关键帧记录在模板时间轴上;
关键帧播放单元521,关键帧播放单元521用于根据模板时间轴播放关键帧,得到角色动作模板;
存储单元522,存储单元522用于将角色动作模板存储于模板库中。
请参阅图6,图6为本申请提供的动画制作装置的一个实施例结构示意图,该实施例包括:
处理器601、存储器602、输入输出单元603、总线604;
处理器601与存储器602、输入输出单元603以及总线604相连;
存储器602保存有程序,处理器601调用程序以执行如上任一动画制作方法。
本申请实施例还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一动画制作方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
- 一种动画制作方法、系统、装置及计算机可读存储介质
- 一种动画制作方法、设备及计算机可读存储介质