计算;推算;计数设备的制造及其应用技术1.本发明涉及模型绘制技术领域,尤其涉及一种虚拟模型克隆方法和装置。背景技术:2.相关技术中,可以通过不同的虚拟模型绘制软件创建虚拟模型的骨骼或者给虚拟模型蒙皮。在实际应用场景中,用户可能会需要将在其他虚拟模型绘制软件中创建的骨骼克隆到目标虚拟模型绘制软件中使用,其中,其他虚拟模型绘制软件与目标虚拟模型绘制软件是两款不同的软件。由于不同软件的运行逻辑以及能够处理的数据结构是不同的,因此在其他虚拟模型绘制软件中能够正常使用的骨骼数据在目标虚拟模型绘制软件中就无法正常使用。比如说,在ue4(unreal engine 4,虚幻引擎4)中创建的骨骼数据在3dsmax(一款由discreet公司开发的基于计算机系统的3d建模渲染和制作软件)中无法被正常使用。3.为解决上述问题,美工人员会在其他虚拟模型绘制软件中打开已创建好的骨骼的效果图,然后采用手工的方式对该效果图进行临摹,也就是通过视觉观察在目标虚拟模型绘制软件中对着效果图一根一根来绘制出所有的骨骼。采用手工克隆虚拟模型的骨骼的方式,不仅降低了操作效率、提高了人工成本,而且由于美工人员只是通过眼睛观察来临摹出的骨骼,导致临摹出的骨骼与在其他虚拟模型绘制软件中创建的骨骼并不是完全一致的。技术实现要素:4.本发明实施例提供一种虚拟模型克隆方法和装置,用以实现便捷用户的操作,降低人工成本,且能够保证克隆出的骨骼数据与之前的初始骨骼数据的属性信息是相一致的。5.第一方面,本发明实施例提供一种虚拟模型克隆方法,该方法包括:6.通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据;7.基于所述初始骨骼数据,提取所述虚拟模型的骨骼的属性信息;8.基于所述属性信息,采用用户指定的克隆方案,生成所述虚拟模型的骨骼数据;9.基于所述骨骼数据,构建所述虚拟模型的骨骼框架。10.可选地,所述虚拟模型的骨骼的属性信息包括以下任一项或多项:11.骨骼顶点的位置、骨骼的朝向、当前骨骼与其他骨骼之间的父子关系、骨骼的粗细、骨骼的长短。12.可选地,所述克隆方案为全属性匹配方案,所述基于所述属性信息,采用用户指定的克隆方案,生成所述虚拟模型的骨骼数据,包括:13.遍历所述虚拟模型中各待克隆的骨骼,基于所述各待克隆的骨骼分别对应的属性信息,确定所述各待克隆的骨骼之间的相对位置关系;14.基于所述各待克隆的骨骼之间的相对位置关系以及分别对应的属性信息,生成所述虚拟模型的骨骼数据。15.可选地,所述克隆方案为全属性匹配结合镜像修复世界空间的方案,在生成所述虚拟模型的骨骼数据之后,所述方法还包括:16.检测基于所述骨骼数据构建的所述虚拟模型的左侧骨骼与右侧骨骼之间是否对称;17.若基于所述骨骼数据中的任一数据构建出的左侧骨骼与右侧骨骼不对称,则对基于所述任一数据构建出的左侧骨骼和右侧骨骼中的一侧骨骼进行镜像调整。18.可选地,所述克隆方案为世界空间匹配方案,所述基于所述属性信息,采用用户指定的克隆方案,生成所述虚拟模型的骨骼数据,包括:19.遍历所述虚拟模型中各待克隆的骨骼,基于所述各待克隆的骨骼分别对应的属性信息,确定所述各待克隆的骨骼在世界空间中对应的绝对位置;20.基于所述各待克隆的骨骼在世界空间中对应的绝对位置以及分别对应的属性信息,生成所述虚拟模型的骨骼数据。21.可选地,所述通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据,包括:22.检测所述用户在骨骼导入界面中添加的待克隆的骨骼标识;23.加载所述待克隆的骨骼标识对应的初始骨骼数据。24.可选地,所述方法还包括:25.通过蒙皮导入界面,导入所述虚拟模型的待克隆的蒙皮数据;26.对所述蒙皮数据进行复制,通过复制得到的蒙皮数据对所述虚拟模型进行蒙皮渲染处理。27.可选地,所述通过蒙皮导入界面,导入所述虚拟模型的待克隆的蒙皮数据,包括:28.检测所述用户在蒙皮导入界面中添加的待克隆的蒙皮标识;29.加载所述待克隆的蒙皮标识对应的蒙皮数据。30.可选地,所述通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据,包括:31.检测所述用户在骨骼导入界面中为所述初始骨骼数据关联的所述待克隆的蒙皮标识;32.基于预设的蒙皮标识与骨骼标识之间的索引关系,确定所述待克隆的蒙皮标识对应的目标骨骼标识;33.加载所述目标骨骼标识对应的初始骨骼数据。34.可选地,所述通过蒙皮导入界面,导入所述虚拟模型的待克隆的蒙皮数据,包括:35.检测所述用户在蒙皮导入界面中为所述蒙皮数据关联的待克隆的骨骼标识;36.基于预设的蒙皮标识与骨骼标识之间的索引关系,确定所述待克隆的骨骼标识对应的目标蒙皮标识;37.加载所述目标蒙皮标识对应的蒙皮数据。38.可选地,所述基于所述骨骼数据,构建所述虚拟模型的骨骼框架,包括:39.检测所述用户在骨骼参数修改界面输入的目标骨骼参数;40.基于所述目标骨骼参数以及所述骨骼数据,构建所述虚拟模型的骨骼框架。41.可选地,所述骨骼参数修改界面提供以下一项或者多项供所述用户修改的骨骼参数:42.创建的骨骼是固定宽高或者是动态宽高;43.固定系数;44.动态系数;45.固定宽高下的宽度;46.固定宽高下的高度;47.锥化值。48.第二方面,本发明实施例提供一种虚拟模型克隆装置,包括:49.导入模块,用于通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据;50.提取模块,用于基于所述初始骨骼数据,提取所述虚拟模型的骨骼的属性信息;51.克隆模块,用于基于所述属性信息,采用用户指定的克隆方案,生成所述虚拟模型的骨骼数据;52.构建模块,用于基于所述骨骼数据,构建所述虚拟模型的骨骼框架。53.可选地,所述虚拟模型的骨骼的属性信息包括以下任一项或多项:54.骨骼顶点的位置、骨骼的朝向、当前骨骼与其他骨骼之间的父子关系、骨骼的粗细、骨骼的长短。55.可选地,所述克隆方案为全属性匹配方案,所述克隆模块,用于:56.遍历所述虚拟模型中各待克隆的骨骼,基于所述各待克隆的骨骼分别对应的属性信息,确定所述各待克隆的骨骼之间的相对位置关系;57.基于所述各待克隆的骨骼之间的相对位置关系以及分别对应的属性信息,生成所述虚拟模型的骨骼数据。58.可选地,所述克隆方案为全属性匹配结合镜像修复世界空间的方案,所述克隆模块,还用于:59.检测基于所述骨骼数据构建的所述虚拟模型的左侧骨骼与右侧骨骼之间是否对称;60.若基于所述骨骼数据中的任一数据构建出的左侧骨骼与右侧骨骼不对称,则对基于所述任一数据构建出的左侧骨骼和右侧骨骼中的一侧骨骼进行镜像调整。61.可选地,所述克隆方案为世界空间匹配方案,所述克隆模块,用于:62.遍历所述虚拟模型中各待克隆的骨骼,基于所述各待克隆的骨骼分别对应的属性信息,确定所述各待克隆的骨骼在世界空间中对应的绝对位置;63.基于所述各待克隆的骨骼在世界空间中对应的绝对位置以及分别对应的属性信息,生成所述虚拟模型的骨骼数据。64.可选地,所述导入模块,用于:65.检测所述用户在骨骼导入界面中添加的待克隆的骨骼标识;66.加载所述待克隆的骨骼标识对应的初始骨骼数据。67.可选地,所述克隆模块,还用于:68.通过蒙皮导入界面,导入所述虚拟模型的待克隆的蒙皮数据;69.对所述蒙皮数据进行复制,通过复制得到的蒙皮数据对所述虚拟模型进行蒙皮渲染处理。70.可选地,所述克隆模块,用于:71.检测所述用户在蒙皮导入界面中添加的待克隆的蒙皮标识;72.加载所述待克隆的蒙皮标识对应的蒙皮数据。73.可选地,所述导入模块,用于:74.检测所述用户在骨骼导入界面中为所述初始骨骼数据关联的所述待克隆的蒙皮标识;75.基于预设的蒙皮标识与骨骼标识之间的索引关系,确定所述待克隆的蒙皮标识对应的目标骨骼标识;76.加载所述目标骨骼标识对应的初始骨骼数据。77.可选地,所述克隆模块,用于:78.检测所述用户在蒙皮导入界面中为所述蒙皮数据关联的待克隆的骨骼标识;79.基于预设的蒙皮标识与骨骼标识之间的索引关系,确定所述待克隆的骨骼标识对应的目标蒙皮标识;80.加载所述目标蒙皮标识对应的蒙皮数据。81.可选地,所述构建模块,用于:82.检测所述用户在骨骼参数修改界面输入的目标骨骼参数;83.基于所述目标骨骼参数以及所述骨骼数据,构建所述虚拟模型的骨骼框架。84.可选地,所述骨骼参数修改界面提供以下一项或者多项供所述用户修改的骨骼参数:85.创建的骨骼是固定宽高或者是动态宽高;86.固定系数;87.动态系数;88.固定宽高下的宽度;89.固定宽高下的高度;90.锥化值。91.第三方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的虚拟模型克隆方法。92.第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现第一方面中的虚拟模型克隆方法。93.采用本发明,用户可以任意将通过其他虚拟模型绘制软件制作的虚拟模型的初始骨骼数据克隆到目标虚拟模型绘制软件中正常使用。通过集成在目标虚拟模型绘制软件中的插件程序,可以方便地从初始骨骼数据中提取待克隆的骨骼的属性信息,然后基于该属性信息,采用用户指定的克隆方案,生成克隆后的骨骼数据,通过骨骼数据构建虚拟模型的骨骼框架。上述过程完全由插件程序自动执行,相比于需要用户手动在目标虚拟模型绘制软件中一一绘制虚拟模型的骨骼的方式,本发明提供的方法极大地便捷了用户的操作,降低了人工成本,且能够保证克隆出的骨骼数据与之前的初始骨骼数据的属性信息是相一致的。附图说明94.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。95.图1为本发明实施例提供的一种虚拟模型克隆方法的流程示意图;96.图2为本发明实施例提供的一种插件程序中与用户进行交互的界面的示意图;97.图3为本发明实施例提供的一种插件程序中提供的菜单栏的示意图;98.图4为本发明实施例提供的一种添加有骨骼标识的骨骼对象列表的示意图;99.图5为本发明实施例提供的一种骨骼生成方案选项的界面示意图;100.图6为本发明实施例提供的一种克隆完成提示信息的示意图;101.图7为本发明实施例提供的一种初始骨骼数据对应的骨骼的框架图;102.图8为本发明实施例提供的一种采用全属性匹配方案进行克隆后得到的效果示意图;103.图9为本发明实施例提供的一种采用世界空间匹配方案进行克隆后得到的效果示意图;104.图10为本发明实施例提供的一种采用全属性匹配结合镜像修复世界空间的方案进行克隆后得到的效果示意图;105.图11为本发明实施例提供的一种采用不同克隆方案克隆出的效果拼接示意图;106.图12为本发明实施例提供的一种蒙皮导入界面的界面示意图;107.图13为本发明实施例提供的一种添加有蒙皮标识的蒙皮对象列表的示意图;108.图14为本发明实施例提供的一种蒙皮对象示意图;109.图15为本发明实施例提供的一种蒙皮标识导入结果示意图;110.图16为本发明实施例提供的一种骨骼标识添加结果示意图;111.图17为本发明实施例提供的一种克隆结果示意图;112.图18为本发明实施例提供的一种克隆蒙皮结果检测示意图;113.图19为本发明实施例提供的另一种克隆蒙皮结果检测示意图;114.图20为本发明实施例提供的一种骨骼参数修改界面的界面示意图;115.图21为本发明实施例提供的一种与用户进行交互的界面示意图;116.图22为本发明实施例提供的一种虚拟模型克隆装置的结构示意图;117.图23为本发明实施例提供的一种电子设备的结构示意图。具体实施方式118.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。119.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。120.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。121.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。122.图1为本发明实施例提供的一种虚拟模型克隆方法的流程图,该方法可以应用于电子设备。如图1所示,该方法包括如下步骤:123.101、通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据。124.102、基于初始骨骼数据,提取虚拟模型的骨骼的属性信息。125.103、基于属性信息,采用用户指定的克隆方案,生成虚拟模型的骨骼数据。126.104、基于骨骼数据,构建虚拟模型的骨骼框架。127.实际应用中会存在这样的一种需求:用户想要将其他虚拟模型绘制软件中制作的虚拟模型导入到当前的虚拟模型绘制软件中进行使用,其中,想要导入的虚拟模型可以由两方面的数据构成,包括初始骨骼数据、蒙皮数据。但是由于不同软件的运行逻辑以及能够处理的数据结构是不同的,因此在其他虚拟模型绘制软件中能够正常使用的数据在当前的虚拟模型绘制软件中就无法正常使用。比如说,在ue4中创建的数据在3dsmax中无法被正常使用。128.为了解决上述问题,在本发明实施例中可以通过在当前的虚拟模型绘制软件中集成的插件程序对初始骨骼数据进行转换,以使得转换后得到的骨骼数据能够正常被当前的虚拟模型绘制软件读取以及处理。或者,该插件程序也可以实现对虚拟模型的蒙皮数据的复制,以实现对虚拟模型的蒙皮数据的克隆。129.上述插件程序可以提供与用户进行交互的界面,该界面可以划分为骨骼导入界面、蒙皮导入界面、骨骼参数修改界面等几个子界面。这些子界面可以设置在一整个显示界面中的不同显示区域中,或者也可以单独将每个子界面设置为一个显示界面。如图2所示,为插件程序中与用户进行交互的界面的一种示意图。130.用户可以通过插件程序对虚拟模型的初始骨骼数据进行克隆,对初始骨骼数据的克隆为必选项。在对初始骨骼数据进行克隆之后,用户还可以对与初始骨骼数据属于同一虚拟模型的蒙皮数据进行克隆,这样可以将蒙皮数据应用在克隆后得到的骨骼数据上,或者用户也可以采用传统的方式手动为克隆后得到的骨骼数据添加蒙皮数据。由此可见,对蒙皮数据的克隆为可选项,而对初始骨骼数据的克隆为必选项,因为如果没有骨骼数据做基础,则无法进行蒙皮操作。131.在某些可选实施例中,如图3所示,上述插件程序还可以提供菜单栏。该菜单栏中可以设置有帮助教程、更新日志、关于工具等几个选项供用户选择,用户可以通过这些选项方便地对该插件程序进行深入了解与学习。132.下面介绍骨骼导入界面提供的各个功能接口、以及如何通过骨骼导入界面提供的各个功能接口实现对初始骨骼数据的转换。133.在骨骼导入界面中可以设置有添加选项,通过该添加选项用户可以导入任意想要克隆的初始骨骼数据。比如说,用户可以点击该添加选项,插件程序响应于用户的操作可以弹出文件夹选择界面,在该界面中可以显示有多个可以导入的文件,每个文件的文件名可以是相应的骨骼标识。通过文件名用户可以知道每个文件对应的初始骨骼数据是虚拟模型中哪个部位的,然后选择想要导入的文件。用户选中的文件中包含有初始骨骼数据,这样插件程序就可以获取到初始骨骼数据。134.基于此,可选地,通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据的过程可以实现为:检测用户在骨骼导入界面中添加的待克隆的骨骼标识;加载待克隆的骨骼标识对应的初始骨骼数据。135.如图4所示,用户选中的多个初始骨骼数据可以添加到骨骼对象列表中进行展示,具体地,可以在骨骼对象列表中显示该多个初始骨骼数据对应的骨骼标识。136.值得注意的是,在骨骼导入界面中除了可以设置有添加选项之外,还可以设置移除、清空等选项。其中,如果用户在添加完某个初始骨骼数据之后,又不想添加该初始骨骼数据了,用户则可以在骨骼对象列表中找到该初始骨骼数据对应的骨骼标识,选中该骨骼标识并点击移除选项,这样该初始骨骼数据就会被移除出骨骼对象列表。另外,如果用户在添加完多个初始骨骼数据之后,又不想对它们进行克隆了,为了便于操作,避免用户挨个选中它们进行移除,可以直接点击清空选项,这样骨骼对象列表中所有的已添加的初始骨骼数据都会被移除。137.在骨骼导入界面中还可以设置有在场景中选中对象选项。可以理解的是,虚拟模型可以包括多个初始骨骼数据,可以先在场景中展示所有初始骨骼数据对应的骨骼对象。在用户在骨骼对象列表中添加了某几个初始骨骼数据之后,这些被添加的初始骨骼数据对应的骨骼对象在场景中是允许被点击选中的。而对于虚拟模型中那些未被添加到骨骼对象列表中的初始骨骼数据,它们对应的骨骼对象也是可以展示在场景中的,但是这种类型的骨骼对象无法被点击选中。138.另外,还值得注意的是,当添加到骨骼对象列表中的初始骨骼数据被移除之后,该初始骨骼数据对应的骨骼对象仍可以展示在场景中,也是处于不能被选中的状态。当添加到骨骼对象列表中的所有初始骨骼数据被清空之后,所有初始骨骼数据对应的骨骼对象也可以展示在场景中,但它们都是不能被点击选中的。139.最后,可选地,在骨骼导入界面中还可以设置有通过蒙皮对象自动获取选项,该选项的具体作用功能会在后文中进行介绍,在此暂不展开进行说明。140.通过骨骼导入界面,用户可以自由地添加待克隆的初始骨骼数据。在添加待克隆的初始骨骼数据之后,用户可以指定进行克隆的克隆方案。可选地,该克隆方案可以包括但不限于全属性匹配方案、全属性匹配结合镜像修复世界空间的方案、以及世界空间匹配方案。具体地,可以在界面中设置骨骼生成方案选项,通过点击该选项可以调取出下拉菜单。如图5所示,在该下拉菜单中可以展示有全属性匹配方案、全属性匹配结合镜像修复世界空间的方案、以及世界空间匹配方案三个选项。用户可以根据实际需求在三个方案中选择一个方案进行初始骨骼数据的克隆,克隆结果可以以效果图的方式呈现给用户,如果用户认为当前的效果图不满足需求,可以选择换一种方案重新对初始骨骼数据进行克隆,直到挑选到合适的克隆效果为止。141.下面介绍上述三种方案如何实现对初始骨骼数据的克隆处理。142.总体来说,虽然3dsmax可能不能完全识别其他虚拟模型绘制软件中制作的初始骨骼数据,但是3dsmax仍然能够从初始骨骼数据中提取一些有用的信息,比如说虚拟模型的骨骼的属性信息,基于该属性信息推导出虚拟模型的骨骼数据,以实现对初始骨骼数据的转换。其中,可选地,属性信息可以包括但不限于骨骼顶点的位置、骨骼的朝向、当前骨骼与其他骨骼之间的父子关系、骨骼的粗细、骨骼的长短。143.可以理解的是,上述属性信息中的全部信息可以共同决定一个骨骼在虚拟模型中到底是什么样的。而对于3dsmax来说,它可能只能从初始骨骼数据中提取属性信息中的部分信息,剩下的信息需要通过推导和计算得出。在获得属性信息中的全部信息之后,可以唯一确定一个骨骼的位姿以及形态。144.比如说,当前能够从初始骨骼数据中提取到骨骼的朝向、骨骼的长短、以及当前骨骼与其他骨骼之间的父子关系,不知道骨骼的具体位置。此时,由于已经知道当前骨骼与其他骨骼之间的父子关系,因此可以基于其他骨骼的位置推断出当前骨骼中的一个顶点的位置。例如,知道骨骼a与骨骼b连接且在骨骼b的后面,那么骨骼b的末端的顶点位置就是骨骼a的始端的顶点位置,进而就可以确定出骨骼a的始端的顶点位置。然后又知道了骨骼的朝向以及骨骼的长短,进而就可以从骨骼a的始端的顶点位置出发推测出骨骼a的末端的顶点位置。这样,在知道了骨骼a的始端的顶点位置以及骨骼a的末端的顶点位置之后,就能唯一确定出骨骼a的位置。145.上述过程概括来说,可以先提取初始骨骼数据中的骨骼的属性信息,该属性信息可以认为是不全的信息。然后基于该属性信息,确定出虚拟模型的骨骼数据。其中,该骨骼数据可以认为是在3dsmax中能够唯一确定骨骼对象的位姿和形态所需的所有属性信息。146.在确定出骨骼数据之后,也就是知道了待克隆的所有骨骼的位姿和形态之后,就可以构建出虚拟模型的骨骼框架。147.可选地,如果采用全属性匹配方案,则基于属性信息,采用用户指定的克隆方案,生成虚拟模型的骨骼数据的过程可以实现为:遍历虚拟模型中各待克隆的骨骼,基于各待克隆的骨骼分别对应的属性信息,确定各待克隆的骨骼之间的相对位置关系;基于各待克隆的骨骼之间的相对位置关系以及分别对应的属性信息,生成虚拟模型的骨骼数据。148.实际应用中,由于待克隆的骨骼之间不是完全相互独立的,而是具有连接关系或者说父子关系,因此在克隆初始骨骼数据的过程中,需要参照其他骨骼来创建当前骨骼,进而可以先遍历虚拟模型中各待克隆的骨骼,以理清各待克隆的骨骼之间的父子关系,然后再基于各待克隆的骨骼分别对应的属性信息,确定各待克隆的骨骼之间的相对位置关系。149.需要说明的是,对于全属性匹配方案来说,可以确定各待克隆的骨骼之间的相对位置关系。简单举例来说,假设有3个待克隆的骨骼包括骨骼a、骨骼b和骨骼c,如果采用全属性匹配方案,那么最终确定出的各骨骼的位置是一种相对的位置关系。比如说,可以确定出骨骼a相对于骨骼b在什么位置,骨骼b相对于骨骼c在什么位置等。150.最后,可以基于各待克隆的骨骼之间的相对位置关系以及分别对应的属性信息,生成虚拟模型的骨骼数据。151.在某些应用场景中,当采用了全属性匹配方案生成虚拟模型的骨骼数据之后,通过效果图可以发现有些地方的骨骼左右两边是不对称的。比如说,构建一个人物角色模型,但是通过效果图发现克隆出来的人物角色模型的骨骼框架中左手和右侧都是朝一侧的,或者说本在该构建右手的地方上构建出了一只左手,那么该人物角色模型就同时拥有两只左手。这显然与人物角色模型的设计是违背的。152.在上述情况中,可选地,插件程序还可以基于克隆好的虚拟模型的骨骼数据,识别虚拟模型所属的目标类型。其中,虚拟模型的类型比如可以包括人物角色模型、动物模型、道具模型等。其中,动物模型又可以划分为不同种动物的模型。在插件程序中,还可以预先建立有虚拟角色模型的类型与参考模型之间的对应关系,基于该对应关系,可以查找与虚拟模型所属的目标类型对应的目标参考模型。其中,目标参考模型与虚拟模型属于同类型的模型。比如说,虚拟模型是人物角色模型,则目标参考模型也是人物角色模型。同类型的模型具有共同的特征,比如说它们的骨骼架构是相似的。因此,可以参照目标参照模型对虚拟模型的骨骼数据进行初步的修正,以将虚拟模型中骨骼左右不对称的部分、骨骼错位的部分进行初步地调整。采用这样的调整方式,可以节省虚拟模型制作所需的计算开销。153.如果上述初步调整的模型能够满足用户的设计需求,用户可以直接使用该初步调整的模型。进一步地,如果想要获得更优的调整结果,可选地,用户还可以尝试选择全属性匹配结合镜像修复世界空间的方案,以对虚拟模型进行进一步调整。可选地,在生成虚拟模型的骨骼数据之后,还可以检测基于骨骼数据构建的虚拟模型的左侧骨骼与右侧骨骼之间是否对称;若基于骨骼数据中的任一数据构建出的左侧骨骼与右侧骨骼不对称,则对基于任一数据构建出的左侧骨骼和右侧骨骼中的一侧骨骼进行镜像调整。154.实际应用中,可以自动检测基于骨骼数据构建的虚拟模型的左侧骨骼与右侧骨骼之间是否对称。在检测到基于骨骼数据中的任一数据构建出的左侧骨骼与右侧骨骼不对称时,可以自动对基于该任一数据构建出的左侧骨骼和右侧骨骼中的一侧骨骼进行镜像调整。通过采用镜像调整的方式,可以让在应该对称的地方却不对称的骨骼架构中的骨骼部分变的对称,以符合虚拟模型在视觉上的美观设计。155.或者,用户也可以选择世界空间匹配方案。可选地,基于属性信息,采用用户指定的克隆方案,生成虚拟模型的骨骼数据的过程可以实现为:遍历虚拟模型中各待克隆的骨骼,基于各待克隆的骨骼分别对应的属性信息,确定各待克隆的骨骼在世界空间中对应的绝对位置;基于各待克隆的骨骼在世界空间中对应的绝对位置以及分别对应的属性信息,生成虚拟模型的骨骼数据。156.实际应用中,虽然待克隆的骨骼之间不是完全相互独立的,而是具有父子关系的,但是也可以不参照其他骨骼来创建当前骨骼。在世界空间匹配方案中,可以暂时忽略待克隆的骨骼之间的父子关系,将每个待克隆的骨骼作为独立的个体。基于此,可以基于各待克隆的骨骼的属性信息,在预先建立的世界空间中确定各待克隆的骨骼各自对应的绝对位置。需要说明的是,各待克隆的骨骼的位置仅由各待克隆的骨骼在世界空间中对应的绝对位置来决定,无需参照其他骨骼的位置来确定当前骨骼的位置。比如说,骨骼a的位置仅由骨骼a在世界空间中对应的绝对位置来决定,而无需参照骨骼b、骨骼c……等骨骼的位置来确定。最后,可以基于各待克隆的骨骼在世界空间中对应的绝对位置以及分别对应的属性信息,生成虚拟模型的骨骼数据。157.以上介绍了三种具体的克隆初始骨骼数据的实现方式,用户可以自由选择合适的克隆方案。在用户选择好需要使用的克隆方案之后,可以点击界面中的开始克隆骨骼选项,这样3dsmax中的插件程序可以自动通过用户选择的克隆方案对初始骨骼数据进行克隆操作。在完成克隆操作之后,可以在界面中弹出提示信息,以提示用户已完成克隆操作,一种提示信息的示意可见图6所示。158.接着,还可以在界面中展示克隆后的效果图,用户可以通过查看效果图决定是否使用当前的克隆方案。如图7所示,为初始骨骼数据对应的骨骼的框架图。通过对图7所示的初始骨骼数据采用不同的克隆方案进行克隆操作所得的克隆后的效果图可见图8-图10所示,依次为采用全属性匹配方案、世界空间匹配方案、以及全属性匹配结合镜像修复世界空间的方案进行克隆后得到的效果。由图8可见,采用全属性匹配方案克隆出的骨骼没有达到预期,有些骨骼部分的骨骼朝向是不对称的。由图9-图10可见,采用世界空间匹配方案、以及全属性匹配结合镜像修复世界空间的方案克隆出的效果还是能够符合设计需求的。159.在某些可选实施例中,还可以将不同克隆方案克隆出的效果图拼接在一起供用户进行比对,这样比对效果更加直观。如图11所示,可以将分别通过全属性匹配方案、世界空间匹配方案、以及全属性匹配结合镜像修复世界空间的方案克隆出的效果图拼接在一起展示给用户。160.可选地,除了可以克隆虚拟模型的初始骨骼数据以外,还可以对虚拟模型的蒙皮数据进行克隆。克隆蒙皮数据为可选项,用户也可以选择手动为骨骼数据制作蒙皮数据。如果选择克隆的方式,那么可以通过蒙皮导入界面,导入虚拟模型的待克隆的蒙皮数据,然后对蒙皮数据进行复制,通过复制得到的蒙皮数据对虚拟模型进行蒙皮渲染处理。161.首先,需要说明的是,来自其他虚拟模型绘制软件的蒙皮数据不像初始骨骼数据那样无法直接被3dsmax所识别以及处理,因此蒙皮数据可以不经过数据转换的处理仅通过复制到3dsmax中就可以直接被使用。162.在本发明实施例中也提供了一种蒙皮导入界面,该蒙皮导入界面与骨骼导入界面的界面元素是类似的。如图12所示,在蒙皮导入界面中可以设置有添加选项,通过该添加选项用户可以导入任意想要克隆的蒙皮数据。可选地,响应于用户对添加选项的点击操作,3dsmax中插件程序可以检测用户在蒙皮导入界面中添加的待克隆的蒙皮标识,然后加载待克隆的蒙皮标识对应的蒙皮数据。如图13所示,用户选择的多个蒙皮数据可以添加到蒙皮对象列表中进行展示,具体地,可以在蒙皮对象列表中显示该多个蒙皮数据对应的蒙皮标识。163.蒙皮导入界面中还可以设置有移除、清空、在场景中选中对象等选项,其中,蒙皮导入界面中的移除、清空、在场景中选中对象等选项的具体功能与骨骼导入界面中的移除、清空、在场景中选中对象等选项的具体功能类似,可以参考对骨骼导入界面中的移除、清空、在场景中选中对象等选项的具体功能的描述,在此不再展开说明蒙皮导入界面中的移除、清空、在场景中选中对象等选项的具体功能。164.接下来,结合添加初始骨骼数据与添加蒙皮数据的操作,来说明骨骼导入界面中的通过蒙皮对象自动获取选项以及蒙皮导入界面中的通过骨骼对象自动获取选项的功能。165.可选地,通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据的过程可以实现为:检测用户在骨骼导入界面中为初始骨骼数据关联的待克隆的蒙皮标识;基于预设的蒙皮标识与骨骼标识之间的索引关系,确定待克隆的蒙皮标识对应的目标骨骼标识;加载目标骨骼标识对应的初始骨骼数据。166.上述用户在骨骼导入界面中为初始骨骼数据关联待克隆的蒙皮标识的过程,就可以理解为用户点击了通过蒙皮对象自动获取选项。举例来说,假设用户已在蒙皮对象列表中添加了人物角色模型中的蒙皮a、蒙皮b以及蒙皮c,那么当用户点击通过蒙皮对象自动获取选项时,蒙皮对象列表中的蒙皮a、蒙皮b以及蒙皮c就被关联到待添加的初始骨骼数据。167.值得注意的是,骨骼数据与蒙皮数据之间不是相互独立的,它们之间存在着关联关系。比如说,人物角色模型的手指的骨骼需要通过手指蒙皮数据进行蒙皮,而从另外一面来说,手指蒙皮数据是需要蒙皮到手指的骨骼上的。也就是说,骨骼数据与蒙皮数据之间是存在对应关系的,可以将该对应关系总结为二者之间的索引关系。那么,可以预先建立并存储蒙皮标识与骨骼标识之间的索引关系,然后当用户点击通过蒙皮对象自动获取选项时,可以通过查找该索引关系来一一确定与蒙皮对象列表中的各蒙皮标识对应的目标骨骼标识。随后,可以加载目标骨骼标识对应的初始骨骼数据。168.为理解上述过程,简单举例来说,假设用户在蒙皮对象列表中添加了人物角色模型的手指蒙皮标识,该手指蒙皮标识对应着手指蒙皮数据,那么通过查找索引关系可以确定与手指蒙皮标识关联的目标骨骼标识为手指的骨骼标识,该手指的骨骼标识对应着手指的初始骨骼数据。169.以此,就可以通过蒙皮对象列表中已添加的蒙皮标识,获得待克隆的骨骼的目标骨骼标识,并将目标骨骼标识添加到骨骼对象列表中。采用这样的方式,用户可以不用一一从虚拟模型的所有骨骼标识中选择需要克隆的骨骼标识,而仅通过点击一次通过蒙皮对象自动获取选项,就可以自动将待克隆的目标骨骼标识一次性添加到骨骼对象列表,极大地便捷了用户的操作,提高了克隆虚拟模型的效率。170.相类似地,蒙皮导入界面中也可以设置有通过骨骼对象自动获取选项,该通过骨骼对象自动获取选项的功能与骨骼导入界面中的通过蒙皮对象自动获取选项的功能是相类似的。可选地,通过蒙皮导入界面,导入虚拟模型的待克隆的蒙皮数据的过程可以实现为:检测用户在蒙皮导入界面中为蒙皮数据关联的待克隆的骨骼标识;基于预设的蒙皮标识与骨骼标识之间的索引关系,确定待克隆的骨骼标识对应的目标蒙皮标识;加载目标蒙皮标识对应的蒙皮数据。171.当在骨骼对象列表中添加了骨骼标识之后,响应于用户点击的通过骨骼对象自动获取选项的操作,通过查找预设的蒙皮标识与骨骼标识之间的索引关系,可以确定出与骨骼对象列表中添加的骨骼标识对应的目标蒙皮标识。可以将目标蒙皮标识自动添加到蒙皮对象列表,以供用户查看都自动获得了哪些蒙皮数据对应的目标蒙皮标识。172.举例来说,假设用户在骨骼对象列表中添加了手指的骨骼标识,那么通过查找索引关系可以确定与手指的骨骼关联的蒙皮为手指蒙皮,进而可以输出手指蒙皮数据对应的手指蒙皮标识。这样可以基于手指蒙皮标识,加载手指蒙皮数据。173.在某些应用场景中,假设用户准备了一个如图14所示的蒙皮对象,该蒙皮对象已建立有骨骼数据,接下来就可以对该蒙皮对象进行蒙皮操作。首先,用户可以通过蒙皮导入界面导入该蒙皮对象对应的蒙皮标识,导入结果如图15所示。然后,在骨骼导入界面中选择通过蒙皮对象自动获取选项,选择结果可见图16所示。这样,蒙皮对象列表以及骨骼对象列表中分别添加了对应的内容。接着,可以选择开始克隆骨骼蒙皮选项,这样插件程序就自动对蒙皮对象进行骨骼数据以及蒙皮数据的克隆处理,克隆结果可见图17所示。克隆完毕之后,还可以进一步对蒙皮的克隆结果进行检测,如图18-图19所示。174.值得注意的是,可以通过插件程序默认的方式来克隆初始骨骼数据,在某些可选实施例中,也可以允许用户控制克隆初始骨骼数据过程中使用的骨骼参数。这样,当用户设置了克隆初始骨骼数据过程中使用的骨骼参数之后,就可以结合插件程序默认的方式以及用户追加的骨骼参数共同控制克隆初始骨骼数据的过程。其中,用户设置骨骼参数的过程可以在骨骼参数修改界面中实现。175.基于此,可选地,可以检测用户在骨骼参数修改界面输入的目标骨骼参数;基于目标骨骼参数以及骨骼数据,构建虚拟模型的骨骼框架。176.其中,可选地,骨骼参数修改界面支持修改的骨骼参数可以包括但不限于创建的骨骼是固定宽高或者是动态宽高、固定系数、动态系数、固定宽高下的宽度、固定宽高下的高度、锥化值。177.其中,创建的骨骼是固定宽高或者是动态宽高可以设计为单选框的形式,用户可以在动态宽高的选项和固定宽高的选项中二选一。如果选择了动态宽高的选项,那么当创建的骨骼越长时,相应地骨骼的粗细会越粗。如果选择了固定宽高的选项,那么无论创建的骨骼的长短如何,骨骼的粗细都是固定值。178.固定系数的单位是厘米,它是在动态宽高的模式下使用的一个骨骼参数,固定系数的大小表示在动态宽高的模式下骨骼的粗细的最小值。虽然动态宽高的模式下的骨骼的粗细是可以随着骨骼的长短变化的,但是骨骼的粗细变化的最小值是受控制的,不是无下限的。也就是说,当通过骨骼的长短计算出的骨骼的粗细已经小于固定系数时,那么直接将这种情况下的骨骼的粗细调整为固定系数所指定的粗细。179.动态系数的单位是%,它是在动态宽高的模式下使用的一个骨骼参数,动态系数的大小表示每当骨骼的长短调整了一个单位时,相应地骨骼的粗细被调整的大小。180.固定宽高下的宽度、固定宽高下的高度的单位都是厘米,它是在固定宽高的模式下使用的骨骼参数,它们的大小依次表示骨骼的固定的宽度值(粗细)、骨骼的固定的高度值(长短)。181.锥化值的单位为%。当锥化值越大时,骨骼的形态越接近椎体,当锥化值越小时,骨骼的形态越接近长方体。182.另外,可选地,还可以在骨骼参数修改界面中设置修改骨骼参数开关的选项,通过调节该选项,用户可以选择是否开启骨骼参数设置的功能。如前文所述,如果用户未选择打开修改骨骼参数开关,那么通过插件程序默认的方式来克隆初始骨骼数据。如果用户选择了打开修改骨骼参数开关,那么结合插件程序默认的方式以及用户追加的骨骼参数共同控制克隆初始骨骼数据的过程。通过提供修改骨骼参数开关的选项,可以使得用户可以便捷地选择是否开启骨骼参数设置的功能。183.基于以上介绍,本发明实施例中提供的一种骨骼参数修改界面的界面示意图可见图20所示。184.另外,基于初始骨骼数据克隆出的骨骼对象可以沿用初始骨骼数据对应的骨骼标识进行命名,或者界面也支持对克隆出的骨骼对象进行重命名的功能,用户可以通过界面提供的重命名的名称修改窗口来设置克隆出的骨骼对象的重命名标识。一种与用户进行交互的界面可以实现为如图21所示的样式。185.采用本发明,用户可以任意将通过其他虚拟模型绘制软件制作的虚拟模型的初始骨骼数据克隆到目标虚拟模型绘制软件中正常使用。通过集成在目标虚拟模型绘制软件中的插件程序,可以方便地从初始骨骼数据中提取待克隆的骨骼的属性信息,然后基于该属性信息,采用用户指定的克隆方案,生成克隆后的骨骼数据,通过骨骼数据构建虚拟模型的骨骼框架。上述过程完全由插件程序自动执行,相比于需要用户手动在目标虚拟模型绘制软件中一一绘制虚拟模型的骨骼的方式,本发明提供的方法极大地便捷了用户的操作,降低了人工成本,且能够保证克隆出的骨骼数据与之前的初始骨骼数据的属性信息是相一致的。186.以下将详细描述本发明的一个或多个实施例的虚拟模型克隆装置。本领域技术人员可以理解,这些虚拟模型克隆装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。187.图22为本发明实施例提供的一种虚拟模型克隆装置的结构示意图,如图22所示,该装置包括:188.导入模块221,用于通过骨骼导入界面,导入虚拟模型的待克隆的初始骨骼数据;189.提取模块222,用于基于所述初始骨骼数据,提取所述虚拟模型的骨骼的属性信息;190.克隆模块223,用于基于所述属性信息,采用用户指定的克隆方案,生成所述虚拟模型的骨骼数据;191.构建模块224,用于基于所述骨骼数据,构建所述虚拟模型的骨骼框架。192.可选地,所述虚拟模型的骨骼的属性信息包括以下任一项或多项:193.骨骼顶点的位置、骨骼的朝向、当前骨骼与其他骨骼之间的父子关系、骨骼的粗细、骨骼的长短。194.可选地,所述克隆方案为全属性匹配方案,所述克隆模块223,用于:195.遍历所述虚拟模型中各待克隆的骨骼,基于所述各待克隆的骨骼分别对应的属性信息,确定所述各待克隆的骨骼之间的相对位置关系;196.基于所述各待克隆的骨骼之间的相对位置关系以及分别对应的属性信息,生成所述虚拟模型的骨骼数据。197.可选地,所述克隆方案为全属性匹配结合镜像修复世界空间的方案,所述克隆模块223,还用于:198.检测基于所述骨骼数据构建的所述虚拟模型的左侧骨骼与右侧骨骼之间是否对称;199.若基于所述骨骼数据中的任一数据构建出的左侧骨骼与右侧骨骼不对称,则对基于所述任一数据构建出的左侧骨骼和右侧骨骼中的一侧骨骼进行镜像调整。200.可选地,所述克隆方案为世界空间匹配方案,所述克隆模块223,用于:201.遍历所述虚拟模型中各待克隆的骨骼,基于所述各待克隆的骨骼分别对应的属性信息,确定所述各待克隆的骨骼在世界空间中对应的绝对位置;202.基于所述各待克隆的骨骼在世界空间中对应的绝对位置以及分别对应的属性信息,生成所述虚拟模型的骨骼数据。203.可选地,所述导入模块221,用于:204.检测所述用户在骨骼导入界面中添加的待克隆的骨骼标识;205.加载所述待克隆的骨骼标识对应的初始骨骼数据。206.可选地,所述克隆模块223,还用于:207.通过蒙皮导入界面,导入所述虚拟模型的待克隆的蒙皮数据;208.对所述蒙皮数据进行复制,通过复制得到的蒙皮数据对所述虚拟模型进行蒙皮渲染处理。209.可选地,所述克隆模块223,用于:210.检测所述用户在蒙皮导入界面中添加的待克隆的蒙皮标识;211.加载所述待克隆的蒙皮标识对应的蒙皮数据。212.可选地,所述导入模块221,用于:213.检测所述用户在骨骼导入界面中为所述初始骨骼数据关联的所述待克隆的蒙皮标识;214.基于预设的蒙皮标识与骨骼标识之间的索引关系,确定所述待克隆的蒙皮标识对应的目标骨骼标识;215.加载所述目标骨骼标识对应的初始骨骼数据。216.可选地,所述克隆模块223,用于:217.检测所述用户在蒙皮导入界面中为所述蒙皮数据关联的待克隆的骨骼标识;218.基于预设的蒙皮标识与骨骼标识之间的索引关系,确定所述待克隆的骨骼标识对应的目标蒙皮标识;219.加载所述目标蒙皮标识对应的蒙皮数据。220.可选地,所述构建模块224,用于:221.检测所述用户在骨骼参数修改界面输入的目标骨骼参数;222.基于所述目标骨骼参数以及所述骨骼数据,构建所述虚拟模型的骨骼框架。223.可选地,所述骨骼参数修改界面提供以下一项或者多项供所述用户修改的骨骼参数:224.创建的骨骼是固定宽高或者是动态宽高;225.固定系数;226.动态系数;227.固定宽高下的宽度;228.固定宽高下的高度;229.锥化值。230.图22所示装置可以执行前述图1至图21所示实施例中提供的虚拟模型克隆方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。231.在一个可能的设计中,上述图22所示虚拟模型克隆装置的结构可实现为一电子设备,如图23所示,该电子设备可以包括:处理器91、存储器92。其中,所述存储器92上存储有可执行代码,当所述可执行代码被所述处理器91执行时,使所述处理器91至少可以实现如前述图1至图21所示实施例中提供的虚拟模型克隆方法。232.可选地,该电子设备中还可以包括通信接口93,用于与其他设备进行通信。233.另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图1至图21所示实施例中提供的虚拟模型克隆方法。234.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。235.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。236.本发明实施例提供的虚拟模型克隆方法可以由某种程序/软件来执行,该程序/软件可以由网络侧提供,前述实施例中提及的电子设备可以将该程序/软件下载到本地的非易失性存储介质中,并在其需要执行前述虚拟模型克隆方法时,通过cpu将该程序/软件读取到内存中,进而由cpu执行该程序/软件以实现前述实施例中所提供的虚拟模型克隆方法,执行过程可以参见前述图1至图21中的示意。237.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
虚拟模型克隆方法和装置与流程 专利技术说明
作者:admin
2022-12-06 19:06:56
818
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术