CN116012497A - 动画重定向方法、装置、设备及介质 - Google Patents
动画重定向方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116012497A CN116012497A CN202310321008.7A CN202310321008A CN116012497A CN 116012497 A CN116012497 A CN 116012497A CN 202310321008 A CN202310321008 A CN 202310321008A CN 116012497 A CN116012497 A CN 116012497A
- Authority
- CN
- China
- Prior art keywords
- bounding volume
- local object
- animation
- local
- model
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种动画重定向方法、装置、设备及介质,方法包括:显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型;对显示的与第一对象相关联的N个第一局部对象包围体进行空间语义检测,基于空间语义检测结果从N个第一局部对象包围体中筛选第一局部对象包围体对作为有效互动包围体,从显示的与第二对象相关联的M个第二局部对象包围体查找待传递包围体,将有效互动包围体的空间语义信息传递至待传递包围体,得到传递包围体;对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,可以提升动画重定向效率,且可以提升在动画重定向过程中空间语义传递的准确度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种动画重定向方法、装置、设备及介质。
背景技术
动画重定向技术可以将某一角色模型(即动画传递源模型)的动画数据传递到另一角色模型(即动画传递目标模型)上,实现同一动画数据的复用,省去为另一角色模型重新设计动画数据的过程。
目前,动画重定向方式主要为:对动画传递源模型的网格(即mesh)以及动画传递目标模型赋予一层额外的外壳mesh,并且要求不同角色模型之间的外壳mesh所对应拓扑结构的顶点结构信息(比如,顶点数量以及顶点之间连接方式)需要保持相同,这意味着,现有的动画重定向技术,需要将该动画传递源模型所赋予的外壳mesh的顶点作为互动点,并将动画传递源模型上的这些互动点之间的顶点结构信息无差别传递到具有相同拓扑结构的对应点上。但是,由于不同模型的复杂性,在重定向过程中所传递的顶点结构信息的数据量可能会较大,导致在动画重定向所耗费的时长较长,进而会导致动画重定向效率较低。
除此之外,由于不同模型的复杂性不同,以至于通过直接传递顶点结构信息的方式,很容易导致最终所得到的动画传递目标模型和动画传递源模型所呈现的动画数据不一致的问题,换句话说,在动画重定向过程中空间语义传递存在不准确的问题。
发明内容
本申请实施例提供一种动画重定向方法、装置、设备及介质,可以提升动画重定向效率,且可以提升在动画重定向过程中空间语义传递的准确度。
一方面,本申请实施例提供了一种动画重定向方法,该方法包括:
在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型;
在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体,以及显示与第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象;
对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足动画重定向策略的第一局部对象包围体对作为第一对象的有效互动包围体;
在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体,将查找到的满足动画重定向策略的第二局部对象包围体作为待传递包围体,在基于空间语义检测结果获取到有效互动包围体的空间语义信息时,将空间语义信息由有效互动包围体传递至待传递包围体,得到携带空间语义信息的传递包围体;
获取由空间语义信息确定的模型修正参数,基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,且在动画重定向配置界面上显示模型修正处理后的动画传递目标模型,模型修正处理后的动画传递目标模型的空间语义信息与动画传递源模型的相同空间语义信息保持一致。
其中,N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;第一局部对象包围体i和第一局部对象包围体j为可接触定义表中满足局部接触条件的局部对象包围体;可接触定义表是针对动画传递源模型所配置的;
对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,包括:
从N个第一局部对象包围体所关联的可接触定义表中,获取第一局部对象包围体i和第一局部对象包围体j;
确定第一局部对象包围体i的第一几何属性以及第一局部对象包围体j的第二几何属性;
基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,确定第一局部对象包围体i的第一局部接触面和第一局部对象包围体j的第二局部接触面;
基于第一局部接触面和第二局部接触面,确定第一局部对象包围体i与第一局部对象包围体j之间的第一最近点对;第一最近点对包含在第一局部对象包围体i上的第一最近点以及在第一局部对象包围体j上的第二最近点;
确定第一最近点与第二最近点之间的最近点距离,并将所述第一最近点与所述第二最近点之间的最近点距离作为所述第一局部对象包围体i与所述第一局部对象包围体j之间的第一最近点距离;
将第一最近点对和第一最近点距离,作为第一局部对象包围体i和第一局部对象包围体j之间的空间语义检测结果。
其中,第一几何属性与第二几何属性均为球体属性;确定第一最近点与第二最近点之间的最近点距离,包括:
确定第一局部对象包围体i和第一局部对象包围体j之间的球心距离;
根据球心距离、第一局部对象包围体i的半径和第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,第一几何属性为球体属性,第二几何属性为胶囊体属性;
确定第一最近点与第二最近点之间的最近点距离,包括:
若局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的球体侧面,则基于第一局部对象包围体i的球心与第一局部对象包围体j之间的球心距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,该方法还包括:
若局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的柱体侧面,则基于第一局部对象包围体i的球心到第一局部对象包围体j所包含的柱体中心线段之间的距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,第一几何属性为胶囊体属性,第二几何属性为胶囊体属性;第一局部对象包围体i包含柱体和球体;第一局部对象包围体j包含柱体和球体;
确定第一最近点与第二最近点之间的最近点距离,包括:
若局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段不位于第一局部对象包围体j所包含的柱体侧面,且第一局部对象包围体j的柱体中心线段不位于第一局部对象包围体i所包含的柱体侧面,则确定第一局部对象包围体i的柱体中心线段与第一局部对象包围体j的柱体中心线段之间的最近端点距离;
基于最近端点距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,该方法还包括:
若局部接触条件所指示的接触关系包含第一局部对象包围体i和第一局部对象包围体j中,任一局部对象包围体的柱体中心线段的目标端点位于另一局部对象包围体的柱体侧面,则确定任一局部对象包围体的柱体中心线段的目标端点到另一局部对象包围体的柱体中心线段之间的目标距离;
基于目标距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,该方法还包括:
若局部接触条件所指示的接触关系包含第一最近点和第二最近点分别投影在各自的柱体中心线段上,且处在各自的柱体中心线段内,则确定第一最近点到第一局部对象包围体i的距离,作为第一局部对象包围体i的半径;确定第二最近点到第一局部对象包围体j的距离,作为第一局部对象包围体j的半径;
确定第一局部对象包围体i的柱体中心线段对应的空间直线与第一局部对象包围体j的柱体中心线段对应的空间直线之间的第二最近点距离;
基于第二最近点距离、第一局部对象包围体i的半径与第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;动画重定向策略包含互动检测策略,互动检测策略包含用于进行互动检测的交互距离阈值;
基于空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,包括:
基于空间语义检测结果,从N个第一局部对象包围体中获取第一局部对象包围体i和第一局部对象包围体j,确定第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离;
若第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离小于交互距离阈值,则将第一局部对象包围体i与第一局部对象包围体j,作为从N个第一局部对象包围体中所筛选出的满足动画重定向策略的第一局部对象包围体对。
其中,有效互动包围体包含第一有效互动包围体和第二有效互动包围体,待传递包围体包含第一待传递包围体和第二待传递包围体;空间语义信息包含第一有效互动包围体和所第二有效互动包围体之间的最近点对、第一有效互动包围体的第一空间语义信息以及第二有效互动包围体的第二空间语义信息;传递包围体包含第一传递包围体以及第二传递包围体;第一有效互动包围体和第二有效互动包围体之间的最近点对包含第一有效互动包围体的最近点以及第二有效互动包围体的最近点;
将空间语义信息由有效互动包围体传递至待传递包围体,得到携带空间语义信息的传递包围体,包括:
在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点,以及在第二待传递包围体上确定与第二有效互动包围体的最近点具有相同第二空间语义信息的第二位置点;
将第一有效互动包围体的最近点的第一空间语义信息,传递到第一位置点,得到携带第一空间语义信息的第一传递包围体;
将第二有效互动包围体的最近点的第二空间语义信息,传递到第二位置点,得到携带第二空间语义信息的第二传递包围体;
基于携带第一空间语义信息的第一传递包围体以及携带第二空间语义信息的第二传递包围体,生成携带空间语义信息的传递包围体。
其中,该方法还包括:
以第一有效互动包围体构建第一坐标系,并将第一坐标系的原点指向第一有效互动包围体的最近点的向量确定为第一有效互动包围体的最近点的局部向量;
基于第一有效互动包围体的最近点的局部向量,生成第一有效互动包围体的第一空间语义信息。
其中,第一有效互动包围体为胶囊体;
基于第一有效互动包围体的最近点的局部向量,生成第一有效互动包围体的第一空间语义信息,包括:
确定第一有效互动包围体的最近点,在第一局部对象包围体i的轴向量上所对应的比例系数;
将第一有效互动包围体的局部向量进行投影,得到第一有效互动包围体的最近点的投影向量;
基于第一有效互动包围体的最近点对应的比例系数和投影向量,生成第一有效互动包围体的第一空间语义信息。
其中,获取由空间语义信息确定的模型修正参数,包括:
从包含传递包围体的动画传递目标模型中确定作为末端效应器的第一传递包围体;
将第一位置点与第二位置点作为第一传递包围体与第二传递包围体之间的第二最近点对;
沿垂直于第一传递包围体表面的方向,对第二最近点对中的第二位置点叠加第一有效互动包围体与第二有效互动包围体之间的最近点距离,得到第二位置点对应的交互估计点;
基于第二位置点对应的交互估计点、第二最近点对中的第一位置点以及调整权重,确定第一传递包围体的调整向量;
基于第一传递包围体的调整向量,生成模型修正参数。
其中,基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,包括:
基于第一传递包围体的调整向量,对动画传递目标模型中的第一传递包围体进行平移调整,得到平移调整后的第一传递包围体;
基于平移调整后的第一传递包围体对动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型。
其中,动画重定向配置界面包含动画传递源模型选项以及动画传递目标模型选项,该方法还包括:
响应于针对动画传递源模型选项的触发操作,从目标动画数据所包含的多帧动画数据中确定目标帧动画数据,目标帧动画数据对应待进行空间语义传递与第一对象相关联的动画传递源模型;
响应于针对动画传递目标模型选项的触发操作,从传递模型数据库中选择待进行空间语义传递的动画传递目标模型。
其中,动画重定向配置界面包含第一包围体初始选项以及第二包围体初始选项,在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体,以及显示与第二对象相关联的M个第二局部对象包围体,包括:
响应于第一包围体初始选项的触发操作,显示与第一对象相关联的N个第一初始局部对象包围体,对N个第一初始局部对象包围体与动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体;
响应于针对解绑后的N个第一初始局部对象包围体的调整操作,对解绑后的N个第一初始局部对象包围体进行调整处理,得到与第一对象相关联的N个第一局部对象包围体,并在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体;
响应于第二包围体初始选项的触发操作,显示与第二对象相关联的M个第二初始局部对象包围体;响应于针对M个第二初始局部对象包围体的调整操作,对M个第二初始局部对象包围体进行调整处理,得到与第二对象相关联的M个第二局部对象包围体,并在动画重定向配置界面上显示与第二对象相关联的M个第二局部对象包围体;
其中,调整操作包括以下至少一种或多种:缩放操作、移动操作、旋转操作。
一方面,本申请实施例提供了一种动画重定向装置,该装置包括:
第一模型显示模块,用于在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型;
包围体显示模块,用于在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体,以及显示与第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象;
检测模块,用于对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果;
筛选模块,用于基于空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足动画重定向策略的第一局部对象包围体对作为第一对象的有效互动包围体;
查找模块,用于在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体,将查找到的满足动画重定向策略的第二局部对象包围体作为待传递包围体;
传递模块,用于在基于空间语义检测结果获取到有效互动包围体的空间语义信息时,将空间语义信息由有效互动包围体传递至待传递包围体,得到携带空间语义信息的传递包围体;
获取模块,用于获取由空间语义信息确定的模型修正参数
修正模块,用于基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型;
第二模型显示模块,用于在动画重定向配置界面上显示模型修正处理后的动画传递目标模型,所述模型修正处理后的动画传递目标模型的空间语义信息与所述动画传递源模型的相同空间语义信息保持一致。
其中,N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;第一局部对象包围体i和第一局部对象包围体j为可接触定义表中满足局部接触条件的局部对象包围体;可接触定义表是针对动画传递源模型所配置的;
检测模块包括第一获取单元、属性确定单元、接触面确定单元、最近点确定单元、距离确定单元,语义结果确定单元;
第一获取单元,用于从N个第一局部对象包围体所关联的可接触定义表中,获取第一局部对象包围体i和第一局部对象包围体j;
属性确定单元,用于确定第一局部对象包围体i的第一几何属性以及第一局部对象包围体j的第二几何属性;
接触面确定单元,用于基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,确定第一局部对象包围体i的第一局部接触面和第一局部对象包围体j的第二局部接触面;
最近点确定单元,用于基于第一局部接触面和第二局部接触面,确定第一局部对象包围体i与第一局部对象包围体j之间的第一最近点对;第一最近点对包含在第一局部对象包围体i上的第一最近点以及在第一局部对象包围体j上的第二最近点;
距离确定单元,确定第一最近点与第二最近点之间的最近点距离,将第一最近点与第二最近点之间的最近点距离作为第一局部对象包围体i与第一局部对象包围体j之间的第一最近点距离;
语义结果确定单元,用于将第一最近点对和第一最近点距离,作为第一局部对象包围体i和第一局部对象包围体j之间的空间语义检测结果。
其中,第一几何属性与第二几何属性均为球体属性;距离确定单元,用于:
确定第一局部对象包围体i和第一局部对象包围体j之间的球心距离;
根据球心距离、第一局部对象包围体i的半径和第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,第一几何属性为球体属性,第二几何属性为胶囊体属性;
距离确定单元,用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的球体侧面,则基于第一局部对象包围体i的球心与第一局部对象包围体j之间的球心距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
距离确定单元,还用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的柱体侧面,则基于第一局部对象包围体i的球心到第一局部对象包围体j所包含的柱体中心线段之间的距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,第一几何属性为胶囊体属性,第二几何属性为胶囊体属性;第一局部对象包围体i包含柱体和球体;第一局部对象包围体j包含柱体和球体;
距离确定单元,还用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段不位于第一局部对象包围体j所包含的柱体侧面,且第一局部对象包围体j的柱体中心线段不位于第一局部对象包围体i所包含的柱体侧面,则确定第一局部对象包围体i的柱体中心线段与第一局部对象包围体j的柱体中心线段之间的最近端点距离;
基于最近端点距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
距离确定单元,还用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i和第一局部对象包围体j中,任一局部对象包围体的柱体中心线段的目标端点位于另一局部对象包围体的柱体侧面,则确定任一局部对象包围体的柱体中心线段的目标端点到另一局部对象包围体的柱体中心线段之间的目标距离;
基于目标距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
距离确定单元,还用于:
若局部接触条件所指示的接触关系包含第一最近点和第二最近点分别投影在各自的柱体中心线段上,且处在各自的柱体中心线段内,则确定第一最近点到第一局部对象包围体i的距离,作为第一局部对象包围体i的半径;确定第二最近点到第一局部对象包围体j的距离,作为第一局部对象包围体j的半径;
确定第一局部对象包围体i的柱体中心线段对应的空间直线与第一局部对象包围体j的柱体中心线段对应的空间直线之间的第二最近点距离;
基于第二最近点距离、第一局部对象包围体i的半径与第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,筛选模块包括:第二获取单元以及包围体对确定单元;
第二获取单元,用于基于空间语义检测结果,从N个第一局部对象包围体中获取所述第一局部对象包围体i和第一局部对象包围体j,确定第一局部对象包围体i和所述第一局部对象包围体j之间的第一最近点距离;
包围体对确定单元,用于若第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离小于交互距离阈值,则将第一局部对象包围体i与第一局部对象包围体j,作为从N个第一局部对象包围体中所筛选出的满足动画重定向策略的第一局部对象包围体对。
其中,有效互动包围体包含第一有效互动包围体和第二有效互动包围体,待传递包围体包含第一待传递包围体和第二待传递包围体;空间语义信息包含第一有效互动包围体和第二有效互动包围体之间的最近点对、第一有效互动包围体的第一空间语义信息以及第二有效互动包围体的第二空间语义信息;传递包围体包含第一传递包围体以及第二传递包围体;第一有效互动包围体和第二有效互动包围体之间的最近点对包含第一有效互动包围体的最近点以及第二有效互动包围体的最近点;
传递模块包括位置确定单元、传递单元和生成单元。
位置确定单元,用于在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点,以及在第二待传递包围体上确定与第二有效互动包围体的最近点具有相同第二空间语义信息的第二位置点;
传递单元,用于将第一有效互动包围体的最近点的第一空间语义信息,传递到第一位置点,得到携带第一空间语义信息的第一传递包围体;
传递单元,用于将第二有效互动包围体的最近点的第二空间语义信息,传递到第二位置点,得到携带第二空间语义信息的第二传递包围体;
生成单元,用于基于携带第一空间语义信息的第一传递包围体以及携带第二空间语义信息的第二传递包围体,生成携带空间语义信息的传递包围体。
传递模块还包括:构建单元。
构建单元,用于以第一有效互动包围体构建第一坐标系,并将第一坐标系的原点指向第一有效互动包围体的最近点的向量确定为第一有效互动包围体的最近点的局部向量;
生成单元,用于基于第一有效互动包围体的最近点的局部向量,生成第一有效互动包围体的第一空间语义信息。
其中,第一有效互动包围体为胶囊体;生成单元包括系数确定子单元、投影子单元以及信息生成子单元;
系数确定子单元,用于确定第一有效互动包围体的最近点,在第一局部对象包围体i的轴向量上所对应的比例系数;
投影子单元,用于将第一有效互动包围体的局部向量进行投影,得到第一有效互动包围体的最近点的投影向量;
信息生成子单元,用于基于第一有效互动包围体的最近点对应的比例系数和投影向量,生成第一有效互动包围体的第一空间语义信息。
其中,获取模块包括:效应器确定单元、最近点对确定单元、估计点确定单元、调整向量确定单元以及参数生成单元。
效应器确定单元,用于从包含传递包围体的动画传递目标模型中确定作为末端效应器的第一传递包围体;
最近点对确定单元,用于将第一位置点与第二位置点作为第一传递包围体与第二传递包围体之间的第二最近点对;
估计点确定单元,用于沿垂直于第一传递包围体表面的方向,对第二最近点对中的第二位置点叠加第一有效互动包围体与第二有效互动包围体之间的最近点距离,得到第二位置点对应的交互估计点;
调整向量确定单元,用于基于第二位置点对应的交互估计点、第二最近点对中的第一位置点以及调整权重,确定第一传递包围体的调整向量;
参数生成单元,用于基于第一传递包围体的调整向量,生成模型修正参数。
其中,修正模块,包括调整单元以及修正单元;
调整单元,用于基于第一传递包围体的调整向量,对动画传递目标模型中的第一传递包围体进行平移调整,得到平移调整后的第一传递包围体;
修正单元,用于基于平移调整后的第一传递包围体对动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型。
其中,动画重定向配置界面包含动画传递源模型选项以及动画传递目标模型选项,该装置包括:模型选择模块,其中:
模型选择模块,用于响应于针对动画传递源模型选项的触发操作,从目标动画数据所包含的多帧动画数据中确定目标帧动画数据,目标帧动画数据对应待进行空间语义传递与第一对象相关联的动画传递源模型;
模型选择模块,用于响应于针对动画传递目标模型选项的触发操作,从传递模型数据库中选择待进行空间语义传递的动画传递目标模型。
其中,动画重定向配置界面包含第一包围体初始选项以及第二包围体初始选项,所述包围体显示模块包含初始包围体显示单元、解绑单元、编辑单元;
初始包围体显示单元,用于响应于第一包围体初始选项的触发操作,显示与第一对象相关联的N个第一初始局部对象包围体;
解绑单元,用于对N个第一初始局部对象包围体与动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体;
编辑单元,用于响应于针对解绑后的N个第一初始局部对象包围体的调整操作,对解绑后的N个第一初始局部对象包围体进行调整处理,得到与第一对象相关联的N个第一局部对象包围体,并在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体;
初始包围体显示单元,用于响应于第二包围体初始选项的触发操作,显示与第二对象相关联的M个第二初始局部对象包围体;
编辑单元,用于响应于针对M个第二初始局部对象包围体的调整操作,对M个第二初始局部对象包围体进行调整处理,得到与第二对象相关联的M个第二局部对象包围体,并在动画重定向配置界面上显示与第二对象相关联的M个第二局部对象包围体;
其中,调整操作包括以下至少一种或多种:缩放操作、移动操作、旋转操作。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
在本申请实施例中,计算机设备可以在动画重定向配置界面中为动画传递源模型构建第一局部包围体以及为动画传递目标模型构建第二局部包围体,得到与第一对象相关联的N 个第一局部对象包围体以及与第二对象相关联的M个第二局部对象包围体。通过N个第一局部对象包围体可以形成动画传递源模型的空间表达,进而可以对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果从N个第一局部对象包围体中满足动画重定向策略的有效互动包围体,从而计算机设备可以将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体中,得到映射包围体,通过直接传递有效互动包围体的空间语义信息相较于传递顶点结构信息,在一定程度上节省传递的数据量,提升了动画重定向效率;同时,可以从M个第二局部对象包围体中筛选满足动画重定向策略的第二局部对象包围体作为待传递包围体,并将有效互动包围体的空间语义信息传递到待传递包围体,意味着本申请实施例能够将映射源模型中的有效交互包围体的空间语义信息较为精确地映射至映射目标模型中的相应第二局部对象包围体中,在动画重定向过程中能够提升空间语义传递的准确度。进一步地,本申请实施例可以根据由空间语义信息确定的模型修正参数来对包含映射包围体的动画传递目标模型进行模型修正处理,得到模型修正后的动画传递目标模型,可以自动化进行模型修正,从而使得该模型修正后的动画传递目标模型的空间语义信息与动画传递源模型的空间语义信息保持一致,在提升了动画重定向效率同时,也可以在动画重定向过程中提升空间语义传递的准确度,进而提升动画传递目标模型和动画传递源模型所呈现的动画数据一致性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种模型的包围体层次结构的示意图;
图2是本申请实施例提供的一种动画重定向系统的结构图;
图3是本申请实施例提供的一种动画重定向方案的流程图;
图4是本申请实施例提供的一种动画重定向方法的流程示意图;
图5是本申请实施例提供的一种在动画重定向配置界面上显示第一动画传递模型对的示意图;
图6是本申请实施例提供的另一种在动画重定向配置界面上显示第一动画传递模型对的示意图;
图7是本申请实施例提供的一种动画重定向配置界面的示意图;
图8是本申请实施例提供的一种移动操作的示意图;
图9是本申请实施例提供的一种缩放操作的示意图;
图10是本申请实施例提供的一种旋转操作的示意图;
图11是本申请实施例提供的另一种动画重定向方法的流程示意图;
图12是本申请实施例提供的一种球体与球体之间最近点的示意图;
图13是本申请实施例提供的一种球体与胶囊体之间的最近点的示意图;
图14是本申请实施例提供的一种胶囊体与胶囊体之间的最近点的示意图;
图15是本申请实施例提供的一种第一有效互动包围体的最近点的局部向量的示意图;
图16是本申请实施例提供的另一种第一有效互动包围体的最近点的局部向量的示意图;
图17是本申请实施例提供的一种第一有效互动包围体的最近点对应的比例系数确定示意图;
图18是本申请实施例提供的一种确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点的示意图;
图19是本申请实施例提供的另一种确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点的示意图;
图20是本申请实施例提供的一种第一传递包围体对应的交互估计点计算示意图;
图21是本申请实施例提供的一种包含传递包围体的动画传递目标模型与模型修正处理后的动画传递目标模型的对比示意图;
图22是本申请实施例提供的另一种包含传递包围体的动画传递目标模型与模型修正处理后的动画传递目标模型的对比示意图;
图23是本申请实施例提供的一种动画重定向装置的结构示意图;
图24是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,下面对本申请实施例涉及的基础概念进行解释说明:
一、动画重定向
动画重定向是一种常用的动画复用技术,它允许在共用相同骨架资源但比例差异很大的模型之间实现复用动画。简单来说,动画重定向可以实现将某一模型的动画数据传递到另一模型上,实现同一动画数据的复用,省去为另一模型重新设计动画数据的过程。
其中,在本申请实施例中,可以将所要传递动画数据的模型称为动画传递源模型,将被传递动画数据的模型称为动画传递目标模型。例如,动画重定向可以实现将模型A的动画数据传递到另一模型B上,此时,所要传递动画数据的模型A称为动画传递源模型,将被传递动画数据的模型B称为动画传递目标模型。
其中,可以理解的是,本申请实施例中的动画传递源模型与第一对象相关联,动画传递目标模型与第二对象相关联,所谓相关联是指:动画传递源模型中包含第一对象,动画传递源模型可以用于呈现第一对象对应的动画数据,动画传递目标模型包含第二对象,动画传递目标模型可以用于呈现第二对象对应的动画数据。
应当理解的是,第一对象与第二对象具备相同骨架资源,即第一对象与第二对象具备相同的对象属性,例如,第一对象与第二对象可以均为真实人物、动漫人物等等;再如,第一对象与第二对象可以均为动物,本申请实施例对此不作任何限定。在本申请实施例中,动画传递源模型和动画传递目标模型可以是游戏场景中的游戏角色模型、社交场景中的社交人物模型等等,本申请实施例对此不作任何限定。
其中,可以理解的是,在本申请实施例中,动画传递源模型例如可以是通过多帧动画数据中的任意帧动画数据对应的模型,该动画传递源模型可以称为演员模型;该多帧动画数据可以是通过动画捕捉设备捕捉的人体运动或者动物运动得到的。动画传递目标模型主要由骨骼与网格(mesh)构成,骨骼与mesh之间的运动关系通常为线性混合蒙皮模型(LBS,Linear Blend Skinning)。其中,线性混合蒙皮模型通常作为游戏或影视制作中作为人类动作或表情的载体。
二、包围体(BV,Bounding volume)
包围体通常是指较为简单的几何体,例如矩形,圆形,箱体,球体等等,包围体可以用于包围较为复杂的模型,例如包围体可以用于包覆游戏角色模型的某些身体部位,代替其进行碰撞检测等任务。在本申请实施例中,包围体可以用于包覆第一对象的局部对象以及第二对象中的局部对象。以第一对象为角色对象为例,本申请实施例中的包围体可以用于包覆第一对象中的某些角色肢体,如包围体可以用于包围第一对象的头部、腰部、胸部等等。
其中,可以理解的是,本申请实施例所提供的包围体还可用于包覆额外的运动物体,运动物体例如可以是游戏类装备、社交类装备,游戏类装备可以如背包、铠甲等等,社交类装备例如可以是荧光棒等等。
应当理解的是,在本申请实施例中,将包围第一对象的局部对象的包围体可以称为第一局部对象包围体,将包围第二对象的局部对象的包围体可以称为第二局部对象包围体。第一局部对象包围体和第二局部对象包围体可用于在动画重定向过程的空间语义检测以及空间语义传递。
三、包围体层次结构(BVH,Bounding volume hierarchy )
包围体层次结构由将上述包围体通过并排,内嵌,包覆等方式形成一个包含树状结构的包围体集合,该包围体层次结构通常服务于碰撞检测任务中减少计算量的目的。例如,图1为本申请实施例提供的一种模型的包围体层次结构的示意图,该包围体层次结构中包含多个包围体,该包围体可以是球体(如图1中的球体11a、球体11b)、胶囊体(如图1中的胶囊体11c、胶囊体11d)等等。在本申请实施例中,该包围体层次结构可以用于在动画重定向过程的空间语义检测以及空间语义传递。
其中,应当理解的是,在本申请实施例可以通过简单几何体或者进一步构成几何体层次结构来刻画动画传递目标模型以及传递源模型之间的空间关系,从而辅助动画重定向过程的空间语义检测以及空间语义传递。
四、空间语义信息
空间语义信息用于刻画包围体之间的空间关系,该空间关系包括不接触,接触,碰撞对应的特征语义,其特征包含但不限于:包围体之间的最近点对,最近点对中的各最近点的方向,距离等数值或向量。
五、空间语义检测
空间语义检测是指一个空间几何体集合内的空间语义的计算过程,也即检测空间几何体集合中所包含的空间几何体之间的空间语义。在本申请实施例中,空间几何体集合是指包围体层次结构BVH,空间语义检测是指对BVH中的BV进行空间语义计算。
六、空间语义传递
在动画重定向过程中,将动画传递源模型所对应BVH的空间语义信息,以形状尺寸不变以及空间姿态不变的准则,传递到动画传递目标模型相应的BVH上。在本申请实施例中,被传递到动画传递目标模型相应的BVH上的空间语义信息可以包括最近点、最近点在BV内的局部方向(即局部向量)。在本申请实施例中,若BV为胶囊体,还会包括最近点在胶囊体轴向量上的比例系数。
进一步地,可以理解的是,在进行空间语义传递之后,可以基于传递后的空间语义信息计算出能够使得动画传递目标模型与动画传递源模型的包围体遵守同样的空间关系所需要的调整量(即后续称为调整向量)。
其中,可以理解的是,本申请实施例中的空间语义传递也可以称为空间语义映射。
七、空间语义保持修正
空间语义保持修正又可以称为模型修正。空间语义保持修正是指在动画重定向过程中,将动画传递目标模型上的BVH通过合理的调整,达到与动画传递源模型上的BVH 具备相同的包围体集合空间关系。
八、末端效应器(EEF,End-effector)
在动画人物上通常为肢体的末端,例如手部与足部。
九、逆向运动学(IK,Inversed kinematic)
给定一个串联的运动链条与末端EEF 的位置,计算各个中间关节旋转角度的过程。在本申请实施例中,通过IK 调整,可以使得动画传递目标模型上的对应BV 的空间关系与动画传递源模型上的空间关系保持一致。例如,在本申请实施例中,末端效应器为左手,相应的,一个串联的运动链条可以是:左手-左前臂-左上臂。
请参阅图2,图2为本申请实施例提供的一种动画重定向系统的结构示意图。该动画重定向系统包括终端设备101和服务器102,其中,终端设备101以及服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本申请涉及的终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表、车载设备、可穿戴设备等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备101和服务器102的数量也不做限制。
其中,终端设备101可以用于显示动画重定向配置界面,用户(如美术师、动画设计师)可以在动画重定向配置界面上选择待进行空间语义传递的第一动画传递模型对,其中,该第一动画传递模型对包含与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型。然后,用户对动画传递源模型和动画传递目标模型进行处理(如为动画传递源模型构建BVH、调整动画传递目标模型的位置等等)。进一步地,可以理解的是,当需要将动画传递源模型的动画数据传递到动画传递目标模型时,此时,终端设备101可以对动画传递源模型的BVH进行空间语义检测,然后将空间语义检测到空间语义信息传递至动画传递目标模型相应的BVH上,并对传递后的动画传递目标模型进行IK调整(即模型修正),得到与动画传递源模型具有相同空间语义信息的动画传递修正模型。此外,动画重定向配置界面可以用于显示动画传递源模型以及动画传递修正模型。
其中,可以理解的是,终端设备101运行有动画软件(如MotionBuilder ),本申请实施例所提供的动画重定向配置界面可以通过插件的方式在动画软件中运行显示。当然,终端设备101也可以提供专用于运行显示动画重定向配置界面的一个软件,本申请实施例对此不作任何限定。
服务器102可以为终端设备101所提供的服务(如显示动画重定向配置界面等)提供技术支持。其中,可以理解的是,服务器102可以用于存储通过动画捕捉设备捕捉与第一对象(如人体)相关联的目标动画数据,该目标动画数据形成第一对象的动作序列,该目标动画数据中可以包含多帧动画数据。每帧动画数据均对应一个第一对象的一个动作,且每帧动画数据所包含的动作均通过与第一对象相关联的动画传递源模型来进行呈现。
其中,可以理解的是,动画捕捉设备可以包括但不限于:摄像设备、扫描设备;其中,摄像设备可以包括普通摄像头、立体摄像头、以及光场摄像头等。扫描设备可以包括三维激光扫描设备等。
进一步地,为便于了解,请参见图3,图3为本申请实施例提供了一种动画重定向方案的流程示意图。该动画重定向方案可以由上述终端设备101执行或者由上述服务器102执行。当该动画重定向方案由终端设备101执行时,终端设备101可以显示待进行空间语义传递的第一动画传递模型对,并对第一动画传递模型对中的动画传递源模型的BVH进行空间语义检测,然后将空间语义检测到空间语义信息传递至第一动画传递模型对中的动画传递目标模型的BVH上,并对传递后的动画传递目标模型进行IK调整(即模型修正),得到与动画传递源模型具有相同空间语义信息的动画传递修正模型(即模型修正处理后的动画传递目标模型)。服务器102则可以用于存储第一动画传递模型对以及存储包含动画传递修正模型和动画传递源模型的第二动画传递模型对。当动画重定向方案由服务器102执行时,服务器102可以对动画传递源模型的BVH进行空间语义检测,然后将空间语义检测到空间语义信息传递至动画传递目标模型相应的BVH上,并对传递后的动画传递目标模型进行IK调整(即模型修正),得到与动画传递源模型具有相同空间语义信息的动画传递修正模型。而终端设备101则用于在动画重定向配置界面上显示第一动画传递模型对、显示包含动画传递修正模型和传递源模型的第二动画传递模型对等等。
为便于阐述,接下来以动画重定向方案由终端设备101执行,分别阐述对动画传递源模型的BVH进行空间语义检测、将空间语义检测到空间语义信息传递至动画传递目标模型相应的BVH上、对传递后的动画传递目标模型进行IK调整,得到与动画传递源模型具有相同空间语义信息的动画传递修正模型。
其中,如图3所示,终端设备101可以执行步骤S1:可以从服务器102中获取目标动画数据,并从目标动画数据所包含的多帧动画数据中确定目标帧动画数据,目标帧动画数据对应待进行空间语义传递的与第一对象相关联的动画传递源模型,并在动画重定向配置界面中显示与第一对象相关联的动画传递源模型。
其中,可以理解的是,终端设备101可以执行步骤S2:选择待进行空间语义传递的与第二对象相关联的动画传递目标模型,并在动画重定向配置界面中显示与第二对象相关联的动画传递目标模型。
进一步地,终端设备101可以执行步骤S3:为动画传递源模型构建第一局部对象包围体集合(即如图3中的第一BVH),第一局部对象包围体集合中包含与第一对象相关联的N个第一局部对象包围体,N为正整数,一个第一局部对象包围体包含第一对象的一个局部对象。具体的,当用户通过动画重定向界面中选择与第一对象相关联的动画传递源模型,终端设备101可以根据默认BV 参数为动画传递源模型构建第一初始局部对象包围体集合。由于默认BV参数只适配例如骨骼长度方向等参数,其半径大小通常采用默认的数值,因此通过默认BV参数所构建的第一初始局部对象包围体集合中的第一初始局部对象包围体可能无法全部包含(即包覆)一个局部对象。因此,在本申请实施例中,用户可以对第一初始局部对象包围体集合中的部分或者全部的第一初始局部对象包围体进行微调,从而得到动画传递源模型对应的第一局部对象包围体集合,通过微调可以实现使得第一局部对象包围体集合中的第一局部对象包围体的大小与相应的第一对象的局部对象的尺度适配,实现对局部对象的合理包覆。
其中,应当理解的是,为动画传递源模型构建第一局部对象包围体集合,实际是构建与第一对象相关联的N个第一局部对象包围体,一个第一局部对象包围体包第一对象的一个局部对象。例如,第一对象为动漫人物,一个第一局部对象包围体可以包含该动漫人物中的一个人物肢体(如右手)、另一个第一局部对象包围体可以包含该动漫人物的左腿等等。
其中,可以理解的是,在对第一初始局部对象包围体进行微调时,还可以根据第一初始局部对象包围体之间交互的不同对第一初始局部对象包围体的大小以及位置进行调整,例如第一初始局部对象包围体x和第一初始局部对象包围体y存在交互,此时可以调整第一初始局部对象包围体y以及第一初始局部对象包围体x的位置,使得第一初始局部对象包围体y以及第一初始局部对象包围体x呈现交互状态。
进一步地,终端设备101可以执行步骤S4:为动画传递目标模型构建第二局部对象包围体集合(即图3中的第二BVH),第二局部对象包围体中包含与第二对象相关联的M个第二局部对象包围体,M为正整数。一个第二局部对象包围体包含第二对象的一个局部对象。具体的,当用户通过动画重定向界面中选择与第二对象相关联的动画传递目标模型,终端设备101可以根据默认BV 参数为动画传递目标模型构建第二初始局部对象包围体集合。由于默认BV参数只适配例如骨骼长度方向等参数,其半径大小通常采用默认的数值,因此通过默认BV参数所构建的第二初始局部对象包围体集合中的第二初始局部对象包围体可能无法全部包含一个第二对象的局部对象。因此,在本申请实施例中,用户可以对第二初始局部对象包围体集合中的部分或者全部的第二初始局部对象包围体进行微调,从而得到动画传递目标模型对应的第二局部对象包围体集合,通过微调可以实现使得第二局部对象包围体集合中的第二局部对象包围体的大小与相应的第二对象的局部对象的尺度适配,实现对局部对象的合理包覆。
其中,可以理解的是,为动画传递目标模型构建第二局部对象包围体集合,实际是构建与第二对象相关联的M个第二局部对象包围体,一个第二局部对象包围体可以包含一个第二对象的一个局部对象。例如,第二对象为动漫人物,每个第二局部对象包围体可以包含该动漫人物中的一个人物肢体(如右手、左腿、手臂等等)。
其中,可以理解的是,在对第二初始局部对象包围体进行微调时,还可以根据第二初始局部对象包围体之间交互的不同对第二初始局部对象包围体的大小以及位置进行调整。应当里面的是,对第二初始局部对象包围体的微调与对第一初始局部对象包围体的微调过程类似,在此不再赘述。
其中,应当理解的是,在步骤S3和步骤S4所构建的第一局部对象包围体集合和第二局部对象包围体集合之后,形成了动画传递源模型与动画传递目标模型之间的空间表达,因此终端设备101可以进一步执行步骤S5:对第一局部对象包围体集合中的N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对。作为一种实现方式,动画重定向策略包含互动检测策略,该互动检测策略包含用于进行互动检测的交互距离阈值,此时终端设备可以检测第一局部对象包围体集合中任意两个第一局部对象包围体之间的最近点,并基于任意两个第一局部对象包围体之间的最近点距离从N个第一局部对象包围体中确定最近点距离小于交互距离阈值对应的两个第一局部对象包围体,这两个第一局部对象包围体即为第一局部对象包围体对。
进一步地,终端设备可以将第一局部对象包围体对作为第一对象的有效互动包围体,并进一步执行步骤S6空间语义传递:获取空间语义检测之后所得到的有效互动包围体的空间语义信息,并将有效互动包围体的空间语义信息传递至动画传递目标模型中相对应的第二局部对象包围体上,得到携带该空间语义信息的传递包围体。
其中,应当理解的是,有效互动包围体的空间语义信息可以用于指示第一局部对象包围体对中两个第一局部对象包围体之间的空间关系,因此有效互动包围体的空间语义信息在动画重定向调整过程中可以用于约束动画传递目标模型上相应第二局部对象包围体之间的空间关系。由于第一局部对象包围体与第二局部对象包围体可能存在尺寸以及朝向上的不同,这就要求在空间语义检测步骤中得到的有效互动包围体的空间语义信息在传递时需要保证动画传递源模型与动画传递目标模型的形状尺寸与空间姿态不变性,因此在空间语义检测步骤中得到的有效互动包围体的空间语义信息需要传递到第二局部对象包围体集合中相对应的第二局部对象包围体上,即在空间语义传递过程中应合理传递相应第二局部对象包围体的同语义位置。例如,有效互动包围体的空间语义信息包含前臂内侧中点,那么需要在M个第二局部对象包围体中能够正确定位到包含前臂的第二局部对象包围体,进一步定位到第二局部对象包围体中的前臂内侧中点。
进一步地,在进行空间语义传递之后,为使得包含传递包围体的动画传递目标模型上的空间关系与动画传递源模型上的空间关系保持一致,终端设备101可以进一步执行步骤S7:对包含传递包围体的动画传递目标模型进行模型修正,得到动画传递修正模型,然后在动画重定向配置界面中显示动画传递修正模型以及动画传递源模型。具体的,可从包含传递包围体的动画传递目标模型中确定末端效应器,该末端效应器通常对应有第二对象相关的关节点链条,通过调整末端效应器的位置可以使得该末端效应器所在的关节链条中发生变化,如末端效应器为手部或足部,通过调整手部和足部可以使得其余上游关节发生符合约束的相应变化的过程,从而得到动画传递修正模型,从而实现动画传递修正模型的空间关系与动画传递源模型上的空间关系保持一致。为便于理解,请参见图3,图3为本申请实施例提供的一种模型修正的示意图。在图3中,动画传递源模型3a的左手与右手肘保持有一定的距离(即如图3中的31b所示),在空间语义传递之后所得到的包含传递包围体的动画传递目标模型3b的左手与右手肘的接触过近(即如图3中的31a所示),此时,为了使得包含传递包围体的动画传递目标模型上的包围体之间的空间关系与动画传递源模型上之间的空间关系保持一致,则通过调整末端效应器(如左手)加大左手与右手肘之间距离,从而实现对包含传递包围体的动画传递目标模型进行模型修正,得到动画传递修正模型3c,此时动画传递修正模型的左手与右手肘一致(即如图3中的31c所示),空间关系得到提升,提升了动画重定向效果。
其中,可以理解的是,终端设备101如何对第一局部对象包围体集合进行空间语义检测、如何基于空间语义检测结果进行空间语义传递以及如何对包含传递包围体的动画传递目标模型进行模型修正的具体实现过程可以参见图4至图22所对应实施例的描述。
为便于理解,进一步的,请参阅图4,图4为本申请实施例提供的一种动画重定向方法的流程示意图。该动画重定向方法可以由计算机设备执行,该计算机设备可以是上述动画重定向系统中的终端设备101或者服务器102,为便于理解,以计算机设备为终端设备101为例进行阐述本申请实施例所提供的动画重定向方法。在本申请实施例中,该动画重定向方法至少可以包括以下步骤S101至步骤S105:
步骤S101、在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型。
其中,可以理解的是,与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型可以称为待进行空间语义传递的第一动画传递模型对。
其中,可以理解的是,第一对象和第二对象可以为游戏人物、社交人物、动物等等。第一动画传递模型对可以在动画重定向配置界面上的任意区域(如动画重定向配置界面的中间区域、右边区域等等)显示,本申请实施例对此不作限定。例如,请参见图5,图5为本申请实施例提供了一种在动画重定向配置界面上显示第一动画传递模型对的示意图。在图5中,可以在动画重定向配置界面500的区域50中显示第一动画传递模型对,该第一动画传递模型对包含与第一对象相关联的动画传递源模型51a和与第二对象相关联的动画传递目标模型51b。
其中,应当理解的是,第一对象可以包含L个第一子对象,相应的,与第一对象相关联的动画传递源模型包含与每个第一子对象相关联的动画传递源子模型。第二对象同样可以包含L个第二子对象,与第二对象相关联的动画传递目标模型包含与每个第二子对象相关联的的动画传递目标子模型,L为正整数,当L为1时,即第一对象所包含的第一子对象为其本身,第二对象所包含的第二子对象为其他本身。
其中,应当理解的是,当L大于等于2时,此时第一动画传递模型对包含L个动画传递子模型对,即一个动画传递子模型对包含一个与第一子对象相关联的动画传递源子模型以及一个与第二子对象相关联的动画传递目标子模型。为便于理解,请参图6,图6为本申请实施例提供的另一种在动画重定向配置界面上显示第一动画传递模型对的示意图。在图6中,在动画重定向配置界面600的区域60显示与第一对象相关联的动画传递源模型61a以及与第二对象相关联的动画传递目标模型62a。其中,第一对象包含两个第一子对象,分别第一子对象A和第二子对象B,此时,与第一对象相关联的动画传递源模型61a包含与第一子对象A相关联的动画传递源子模型611a以及与第一子对象B相关联的动画传递源子模型611b;第二对象包含两个第二子对象,分别第二子对象C和第二子对象D,与第二对象相关联的动画传递目标模型62a包含与第二子对象C相关联的动画传递目标子模型621a以及与第二子对象D相关联的动画传递目标子模型621b;那么第一动画传递模型对可以包含两个动画传递子模型对,即一个动画传递子模型对可以包含与第一子对象A相关联的动画传递源子模型611a以及与第二子对象C相关联的动画传递目标子模型621a;另一个动画传递子模型对可以包含与第一子对象B相关联的动画传递源子模型611b以及与第二子对象D相关联的动画传递目标子模型621b。
步骤S102、在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体,以及显示与第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象。
其中,可以理解的是,第一对象的局部对象可以根据第一对象确定,例如,第一对象为游戏角色,第一对象的局部对象可以包括但不限于:头部、左手、右手、左脚、右脚、左下臂、右下臂等等;又例如,第一对象为动物,第一对象的局部对象可以包括但不限于:头部、左前掌、右前掌等等。同理,第二对象的局部对象可以根据第二对象确定,例如,第一对象为游戏角色,第二对象的局部对象可以包括但不限于:头部、左手、右手、左脚、右脚、左下臂、右下臂等等。
其中,可以理解的是,第一局部对象包围体的第一几何属性可以是球体属性、胶囊体属性、正方体属性等等,相应的,第一几何属性对应的第一局部对象的包围体为球体、胶囊体、正方体等等;第二局部对象包围体的第二几何属性可以是球体属性、胶囊体属性、正方体属性等等,相应的,第二几何属性对应的第二局部对象的包围体为球体、胶囊体、正方体等等;第一几何属性与第二几何属性可以相同,也可以不同,本申请实施例对此不作限定。
其中,可以理解的是,在本申请实施例中可以为在动画重定向配置界面上显示的动画传递源模型与动画传递目标模型配置BVH,以及为动画传递源模型与动画传递目标模型配置的BVH中的BV进行调整,载入以及保存等操作。为便于理解,请参见图7,图7为本申请实施例提供了一种动画重定向配置界面的示意图,通过该动画重定向配置界面可以设置动画重定向组数、对显示的动画传递源模型以及动画传递目标模型构建BVH等等。在图7中,动画重定向配置界面700中包含模型对显示区域70以及动画重定向设置区域71a,模型对显示区域70可以上述图5中的区域50,也可以是图6中的区域60,本申请对此不限定;该动画重定向设置区域71a用于设置场景中需要进行动画重定向的组数。此处的动画重定向的组数可以根据需求设置,例如动画重定向的组数为1、2等等。其中,应当理解的是,在本申请实施例中,与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型可以称为一组重定向。当第一对象包含L个第一子对象;第二对象包含L个第二子对象时,也就是说,第一动画传递模型对包含L个动画传递子模型对,此时该动画重定向的组数为L。可选地,在该动画定向设置区域中包含应用选项710a,通过触发(如点击、双击)应用选项710a,响应于针对应用选项710a的触发操作,可以根据动画重定向的组数,产生满足动画重定向的组数的一组或者多组动画重定向组(即Retarget or)。
其中,可以理解的是,在动画重定向配置界面上包含动画传递源模型选项711a以及动画传递目标模型选项721a,此时,在动画重定向配置界面上显示待进行空间语义传递的第一动画传递模型对之前,可以触发该动画传递源模型选项711a,响应于与动画传递源模型选项711a的触发操作,可以显示多帧动画数据,每帧动画数据包含与第一对象相关联的动画传递源模型,从多帧动画数据中确定目标帧动画数据,该目标帧动画数据中对应与第一对象相关联的动画传递源模型。同理,用户可以触发该动画传递目标模型选项721a,响应于与动画传递目标模型选项的触发操作,可以从动画传递目标模型库中选择动画传递目标模型。
进一步地,可以理解的是,在动画重定向界面包含动画传递源模型配置区域71b以及动画传递目标模型配置区域71c。动画传递源模型选项711a位于动画传递源模型配置区域71b中,动画传递目标模型选项721a位于动画传递目标模型配置区域71c。其中,动画传递源模型配置区域71b包含第一包围体初始选项711b、解绑选项711c、第一镜像选项711d、第一保存选项711e、第一载入选项711f。
其中,第一包围体初始选项711b可以用于初始化动画传递源模型的局部对象包围体,得到与第一对象相关联的N个第一初始局部对象包围体。解绑选项711c用于对动画传递源模型与N个第一初始局部对象包围体进行解绑处理。第一镜像选项711d用于当第一对象存在对称肢体(即对称的局部对象)时,将对称肢体中一侧编辑好的第一局部对象包围体的参数信息传递到与其对称的另一肢体的第一局部对象包围体。例如,第一对象的左右手臂为对称肢体,当对包含左手臂的第一初始局部对象包围体编辑完整得到包含左手臂的第一局部对象包围体之后,可以将第一局部对象包围体的参数信息直接通过第一镜像选项传递到包含右手臂的第一初始局部对象包围体,从而得到包含右手臂的第一局部对象包围体,通过第一镜像选项可以快速构建与第一对象相关联的N个第一局部对象包围体。
第一保存选项711e用于保存与第一对象相关联的N个第一局部对象包围体对应的配置文件。第一载入选项711f用于载入所保存的与第一对象相关联的N个第一局部对象包围体的配置文件。
其中,应当理解的是,在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体可以是:响应于第一包围体初始选项的触发操作,显示与第一对象相关联的N个第一初始局部对象包围体;然后,对N个第一初始局部对象包围体与动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体;响应于针对解绑后的N个第一初始局部对象包围体的调整操作,对解绑后的N个第一初始局部对象包围体进行调整处理,得到与第一对象相关联的N个第一局部对象包围体,并在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体。
需要说明的是,在对N个第一初始局部对象包围体编辑之前,需要将N个第一初始局部对象包围体与动画传递源模型进行解绑处理,而在对M个第二初始局部对象包围体编辑时,无需将M个第二初始局部对象包围体与动画传递目标模型进行解绑处理。
其中,应当理解的是,对N个第一初始局部对象包围体与动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体可以是:响应于针对解绑选项711c的触发操作(如点击操作、双击操作、互动操作等等),对N个第一初始局部对象包围体与动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体。
进一步地,动画传递目标模型配置区域71c包含第二包围体初始选项721b、第一几何属性包围体增加选项721c、第二几何属性包围体增加选项721d、第二镜像选项721e、第二保存选项721f、第二载入选项721g。其中,第二包围体初始选项721b可以用于初始化动画传递目标模型的局部对象包围体,得到与第二对象相关联的M个初始第二局部对象包围体。第一几何属性包围体增加选项721c用于在场景中增加一个第一几何属性的包围体,用于包覆额外的运动物体。第二几何属性包围体增加选项721d用于在场景中增加一个第二几何属性的包围体,用于包覆额外的运动物体。
其中,应当理解的是,此处的运动物体可以根据不同的场景来确定。例如,场景为游戏场景,该运动物体可以包括但不限于:游戏类装备、社交类装备,游戏类装备可以如背包、铠甲等等,社交类装备例如可以是荧光棒等等。
其中,可以理解的是,第二镜像选项721e用于当第二对象存在对称肢体(即对称的局部对象)时,将对称肢体中一侧编辑好的第二局部对象包围体的参数信息传递到与其对称的另一肢体的第二局部对象包围体。第二保存选项721f用于保存与第二对象相关联的M个第二局部对象包围体对应的配置文件。第二载入选项721g用于载入所保存的与第二对象相关联的M个第二局部对象包围体的配置文件。
其中,可以理解的是,在动画重定向配置界面上显示与第二对象相关联的M个第二局部对象包围体可以包括:响应于第二包围体初始选项的触发操作,显示与第二对象相关联的M个第二初始局部对象包围体;响应于针对M个第二初始局部对象包围体的调整操作,对M个第二初始局部对象包围体进行调整处理,得到与第二对象相关联的M个第二局部对象包围体,并在动画重定向配置界面上显示与第二对象相关联的M个第二局部对象包围体。
其中,应当理解的是,第一局部对象包围体与第二局部对象包围可以是球体、胶囊体、正方体、长方体等等。本申请实施例中的调整操作可以包含以下一种或多种:移动操作、缩放操作、旋转操作。在本申请实施例中可以对N个第一初始局部对象包围体中的部分或全部第一初始局部对象包围体进行调整操作,也可以对M个第二初始局部对象包围体中的部分或全部第二初始局部对象包围体进行调整操作,通过调整操作处理得到的第一局部对象包围体或者第二局部对象包围体能够更加合理的包覆相应的局部对象。
在本申请实施例种,通过建立第一局部对象包围体、第二局部对象包围体以及额外包覆运动物体的包围体,并引入对第一局部对象包围体、第二局部对象包围体的调整,使得包围体对对象的局部对象的包覆程度更为合理,并且可以正确的包覆肢体上的刚性物品,例如背包,铠甲、头盔等等,甚至可以根据需要引入战斗工具的BV,赋予战斗工具的交互重定向,极大的提升了对各种复杂模型的适应能力,在处理复杂模型,解决了其通用的外壳mesh 无法正确的在复杂模型上生成,可以提升包含铠甲,或者怪物模型上的处理效果。
其中,可以理解的是,移动操作可以是针对不同方向的移动操作。例如,请参见图8,图8为本申请实施例提供的一种移动操作的示意图。在图8中,示意性的给出了从三个方向(即方向1、方向2以及方向3)可以对第一初始局部对象包围体或者第二初始局部对象包围体进行移动。当调整操作为移动操作时,响应于针对第一初始局部对象包围体的移动操作,可以对第一初始局部对象包围体按照移动操作所指示的方向进行移动。
其中,可以理解的是,缩放操作可以是针对不同方向对第一初始局部对象包围体或第二初始局部对象包围体进行放大或者缩小,实现对第一初始局部对象包围体的大小的调整。例如,请参见图9,图9为本申请实施例提供的一种缩放操作的示意图。在图9中,示意性的给出了从三个方向(即方向x、方向y以及方向z)对第一初始局部对象包围体或者第二初始局部对象包围体进行缩放。当调整操作为第一缩放操作时,响应于针对第一初始局部对象包围体的第一缩放操作,那么可以对第一初始局部对象包围体按照缩放操作所指示的方向进行放大。响应于针对第一初始局部对象包围体的第二缩放操作,那么可以对第一初始局部对象包围体按照缩放操作所指示的方向进行缩小。
其中,可以理解的是,旋转操作可以是沿着不同方向对第一初始局部对象包围体或第二初始局部对象包围体进行位置调整。例如,请参见图10,图10为本申请实施例提供的一种旋转操作的示意图。在图10中,示意性的给出了从三个方向(即方向A、方向B以及方向C)对第一初始局部对象包围体或者第二初始局部对象包围体进行旋转。当调整操作为旋转操作时,响应于针对第一初始局部对象包围体的旋转操作,可以对第一初始局部对象包围体按照旋转操作所指示的方向进行旋转。
其中,可以理解的是,进一步地,在动画重定向配置界面中包含选择接触表选项731a,通过触发选择接触表选项可以为动画传递源模型配置可接触定义表,该可接触定义表可以用于定义动画传递源模型中不同第一局部对象包围体之间的接触可能性,例如该接触可能性可以通过如0/1来指示,当任意两个第一局部对象包围体之间的接触可能性为0时,表示这两个第一局部对象包围体之间的接触关系为不接触,当第一局部对象包围体之间的接触可能性为1时,表示这两个第一局部对象包围体可能存在接触。例如,如表1所示,表1为动画传递源模型中部分第一局部对象包围体之间的接触可能性:
表1
从表1中可以知:右手的BV(即包含右手的第一局部对象包围体)与右手的BV(即包含右手的第一局部对象包围体)之间的接触可能性为不接触;左手的BV(即包含左手的第一局部对象包围体)与右手的BV(即包含右手的第一局部对象包围体)之间的接触可能性为可能接触;以此类推,在可接触定义表中可以定义动画传递源模型中所有第一局部对象包围体之间的接触关系。通过为传递源配置可接触定义表可以用于后续进行空间语义检测时节省一定的计算量,即后续可以对可能接触的第一局部对象包围体进行空间语义检测。
需要说明的是,当第一对象包含L个第一子对象时,这意味着各第一子对象之间会存在第一局部对象包围体接触的可能性,此时,在可接触定义表中可以定义与第一子对象相关联的动画传递源子模型中各第一局部对象包围体之间的接触可能性,该可接触定义表中还可以定义不同动画传递源子模型中第一局部对象包围体之间的接触可能性。例如,第一对象包含2个第一子对象(即第一子对象1和第一子对象2),此时,在可接触定义表中可以定义与第一子对象1相关联的动画传递源子模型1中各第一局部对象包围体之间的接触可能性,在该可接触定义表中还可以定义两个动画传递源子模型(即与第一子对象1相关联的动画传递源子模型1、与第一子对象2相关联的动画传递源子模型2)中的第一局部对象包围体之间的接触可能性。
其中,可以理解的是,通过触发选择接触表按键还可以为动画传递目标模型配置可接触定义表,此时,可接触定义表可以用于定义动画传递目标模型中不同第二局部对象包围体之间的接触可能性。当然,为动画传递源模型所配置的可接触定义表源以及为动画传递目标模型所配置的可接触定义表可以为一张表,也就是说,在一个可接触定义表中可以包含第一局部对象包围体之间的接触可能性,也可以包含第二局部对象包围体之间的接触可能性。或者,为动画传递源模型所配置的可接触定义表以及为动画传递目标模型所配置的可接触定义表可以为不同的两张表。
进一步地,在动画重定向配置界面中可以包括末端效应器配置选项731b,通过末端效应器配置选项731b可以从与第一对象相关联的N个第一局部对象包围体中选择作为末端效应器的第一局部对象包围体,通过设置末端效应器可以对模型进行修正。用户可以触发末端效应器配置选项731b,响应于对末端效应器配置选项731b的触发操作,可以显示N个第一局部对象包围体,并从N个第一局部对象包围体中选择作为末端效应器的第一局部对象包围体。
其中,应当理解的是,通过末端效应器配置选项还可以从与第二对象相关联的M个第二局部对象包围体中选择作为末端效应器的第二局部对象包围体。
可选地,可以理解的是,在该动画重定向配置界面中可以包含第一交互阈值设置区域731c,该第一交互阈值设置区域731c用于设置用于进行互动检测的第一交互距离阈值,通过第一交互距离阈值可以判断与第一对象相关联的第一局部对象包围体之间是否存在有效交互。显示接触按键731e以及显示碰撞按键731d。其中,通过该显示接触按键731e可以选择是否在场景中突出显示接触的第一局部对象包围体以及第二局部对象包围体。通过显示碰撞按键731d可以选择是否在场景中突出显示碰撞的第一局部对象包围体以及是否在场景中突出显示碰撞的第二局部对象包围体。
其中,可以理解的是,突出显示方式本申请实施例不做限定。作为一种实现方式,当通过该显示接触按键选择在场景中以不同颜色显示接触的第一局部对象包围体。那么当第一局部对象包围体S1和第一局部对象包围体S2之间存在接触可能性时,可以以红色显示可能接触的第一局部对象包围体S1和第一局部对象包围体S2。而其他不存接触的第一局部对象包围体,则以黑色显示不存接触的第一局部对象包围体。作为另一种实现方式,通过该显示接触按键731e可以选择在场景中以加粗方式显示可能接触的第一局部对象包围体。那么当第一局部对象包围体S1和第一局部对象包围体S2之间存在接触可能性,可以以加粗显示可能接触的第一局部对象包围体S1和第一局部对象包围体S2。而其他不存接触的第一局部对象包围体,则不需要加粗。
其中,可以理解的是,由于动画传递源模型为从多帧动画数据中选取的一帧动画数据的模型,多帧动画数据即构成第一对象的动作序列,此时,当将每帧传递模型中的动画数据传递到动画传递目标模型时,同样可以构成第二对象的动作序列。在此情况下,在动画重定向平台中可以包含单对象序列检测修正区域71d,该单对象序列检测修正区域71d用于对第一对象的动作序列(即以动画传递源模型进行呈现)进行检测、传递与修正。此处的检测是指与第一对象相关联的N个第一局部对象包围体进行空间语义检测,传递是指将N个第一局部对象包围体进行空间语义检测所得到的空间语义信息传递到动画传递目标模型。修正是指对空间语义信息传递至动画传递目标模型之后,对传递所得到的动画传递目标模型进行模型修正。
其中,该单对象序列检测修正区域71d中可以包含起始帧设置选项741a以及结束帧设置选项741b,通过起始帧设置选项741a与结束帧设置选项741b可以定义需要进行检测与修正帧的范围。例如,目标动画数据包含10帧动画数据,那么该起始帧可以为第1帧,结束帧为第7帧,那么意味着在第1帧到第7帧的动画数据可能会被检测、传递、修正;进一步地,该单对象序列检测修正区域可以包含接触帧标记选项741c以及碰撞帧标记选项741d。通过接触帧标记选项741c可以设置是否对存在接触的帧进行高亮标记,通过碰撞帧标记选项741d可以设置是否对存在碰撞的帧进行高亮标记。其中,可以理解的是,存在接触的帧是指在该帧动画数据对应的动画传递源模型中的第一局部对象包围体之间存在接触。存在碰撞的帧是指在该帧动画数据对应的动画传递源模型中的第一局部对象包围体之间存在碰撞。其中,应当理解的是,高亮标记可以是以不同颜色标记或者通过文字标记等方式等等。
进一步地,单对象序列检测修正区域71d还可以包含手指接触语义选项741e,通过该手指接触语义选项741e可以设置在对动画传递源模型中的N个第一局部对象包围体进行空间语义检测时,是否需要考虑包含手指接触语义。可选地,单对象序列检测修正区域71d还可以包含调整间隔帧数设置选项741f,调整间隔帧数设置选项用于配置进行空间语义检测、传递、模型修正的帧数比例(即可以理解为帧采样比例),该帧数比例例如可以是0.4、0.5等等。例如,通过设置起始帧和结束帧之后,可以对起始帧与结束帧之间的帧按照帧数比例进行采样,并对采样到的帧所对应的动画传递源模型进行行空间语义检测、传递、模型修正。
其中,可以理解的是,单对象序列检测修正区域71d还可以包含保持系数配置选项741g,该保持系数配置选项用于配置对动画传递目标模型当前所处位置进行保持的权重系数,其中,保持系数越大,对动画传递目标模型当前所处位置的调整将越小。此外,单对象序列检测修正区域71d还可以包含关节点角度最大差值设置选项741h,该关节点角度最大差值设置选项741h可以用于在对包含传递包围体的动画传递目标模型进行模型修正过程中,设置对包含传递包围体的动画传递目标模型中第二对象的关节点所能调整的关节角度最大差值。应当理解的是,在模型修正处理过程中,如遇到调整需要使关节点的关节角度大于设置的关节角度最大差值,则不进行该调整。
其中,可以理解的是,单对象序列检测修正区域71d还可以包含最大单次调整量设置区域741i。最大单次调整量设置区域741i用于在进行模型修正过程中,设置第二对象对应的关节点所能调整的距离的上限(如每次第二对象对应的关节点所能调整的距离为5cm)。可选地,单对象序列检测修正区域71d还可以包含第一互动检测按键741j以及第一互动传递按键741k,通过第一互动检测按键741j可以对第一对象相关联的N个第一局部对象包围体进行空间语义检测。通过第一互动传递按键741k可以将N个第一局部对象包围体中的空间语义信息传递到动画传递目标模型,并进行相应的修正。
其中,可以理解的是,当第一对象包含L个第一子对象,第二对象包含L个第二子对象时,L为大于1的正整数。此时可以理解为存在多对象互动的动作场景。例如,以L为2为例,此时,意味着两对象互动场景。针对多对象互动的动作场景,本申请实施例在动画重定向配置界面上提供多对象互动调整区域71e。如图7所示,在多对象互动调整区域71e中包含重定向设置组选择区域751a,在重定向设置组选择区域751a中可以选择多组重定向组,对应场景中的多个重定向映射。例如L为2,那么在重定向设置组选择区域751a中可以选择两组重定向组,对应场景中的两个重定向映射。
其中,可以理解的是,在多对象互动场景中,存在多对象对应的模型)进行修正(即在本申请实施例中,第二对象包含L个第二子对象,此时对L个第二子对象中每个第二子对象相关联的动画传递目标子模型进行模型修正),此时需要对与每个第二子对象相关联的动画传递目标子模型对应的全局根坐标进行调整。所谓根坐标即为动画传递目标子模型的坐标。此时,在动画重定向配置界面上还包含末端调整权重配置区域751b以及根调整权重配置区域751c。其中,末端调整权重配置区域751b用于配置动画传递目标子模型的末端调整权重,该末端调整权重是指在对某个动画传递目标子模型进行模型修正时,该动画传递目标子模型中作为末端效应器的包围体达到某个末端位置时所需要的调整权重。根调整权重配置区域751c用于配置某个动画传递目标子模型的根调整权重,根调整权重是指在某个动画传递目标子模型进行模型修正时,作为末端效应器的包围体要达到某个末端位置(即目标位置)时,该动画传递目标子模型所需要的调整权重。简单来说,就是多对象互动场景中,由于存在不同动画传递源子模型之间的交互,因此将空间语义信息传递到不同动画传递目标子模型之后,此时例如在调整包含第二子对象的手部的包围体的位置时,不仅需要配置包含第二子对象的手部的包围体的末端调整权重,还需要考虑不同动画传递目标子模型之间的交互,因此,还要配置移动整个动画传递目标子模型时所需要的根调整权重。通过末端调整权重和根调整权重可以实现模型修正的准确性。
进一步的,在动画重定向配置界面中包含交互距离阈值设置区域751d,交互距离阈值设置区域751d可以用于设置用于进行互动检测的第二交互距离阈值,该第二交互距离阈值用于判断不同第一子对象相关联的第一局部对象包围体中是否存在有效交互。
进一步的,多对象互动调整区域71e还可以包含第二互动检测按键751e以及第二互动传递按键751f,通过第二互动检测按键751e可以对与第一对象相关联的N个第一局部对象包围体进行空间语义检测。通过第二互动传递按键可以用于将N个第一局部对象包围体之间的空间语义信息传递到动画传递目标模型上,并进行相应的模型修正,使空间语义得到保持。
步骤S103、对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足动画重定向策略的第一局部对象包围体对作为第一对象的有效互动包围体。
其中,可以理解的是,响应于针对N个第一局部对象包围体的空间语义检测触发操作,可以对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果。其中,该空间语义检测结果可以包含N个第一局部对象包围体中任意两个第一局部对象包围体之间的最近点对以及最近点距离。其中,应当理解是,空间语义检测触发操作可以是针对第一互动检测按键的触发操作或者针对第二互动检测按键的触发操作,触发操作例如可以是点击、双击等等。有效互动包围体包含第一局部对象包围体。
其中,可以理解的是,动画重定向策略包含互动检测策略以及互动传递策略。互动检测策略用于从N个第一局部对象包围体中筛选第一局部对象包围体对,互动传递策略用于进行互动传递(即空间语义传递)。
其中,可以理解的是,互动检测策略可以包含用于进行互动检测的交互距离阈值,此时,N个第一局部对象包围体中包含第一局部对象包围体i和第一局部对象包围体j,i不等于j,且i和j均为小于或者等于N的正整数。
基于第一局部对象包围体i和第一局部对象包围体j之间的空间语义检测结果,从N个第一局部对象包围体中筛选出第一局部对象包围体对可以包含:基于空间语义检测结果,从N个第一局部对象包围体中获取第一局部对象包围体i和第一局部对象包围体j,确定第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离;若第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离小于交互距离阈值,则将第一局部对象包围体i与第一局部对象包围体j,作为从N个第一局部对象包围体中所筛选出的满足动画重定向策略的第一局部对象包围体对。
其中,可以理解的是,交互距离阈值可以包含第一交互距离阈值和第二交互距离阈值。当第一对象不包含第一子对象时,此时该交互距离阈值包含第一交互距离阈值,当第一对象包含L个第一子对象时,此时,该交互距离阈值包含第一交互距离阈值和第二距离交互阈值。第一交互距离阈值可以用于判断与某个第一子对象相关联的第一局部对象包围体之间是否存在有效交互,第二交互阈值则用于判断不同第一子对象相关联的第一局部对象包围体之间是否存在有效交互。
其中,可以理解的是,当空间语义检测触发操作为针对第一互动检测按键的触发操作时,此时交互距离阈值可以包含第一交互距离阈值;当空间语义检测触发操作为针对第二互动检测按键的触发操作时,此时交互距离阈值可以包含第一交互距离阈值和第二交互阈值。
步骤S104、在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体,将查找到的满足动画重定向策略的第二局部对象包围体作为待传递包围体,在基于空间语义检测结果获取到有效互动包围体的空间语义信息时,将空间语义信息由有效互动包围体传递至待传递包围体,得到携带空间语义信息的传递包围体。
其中,空间语义信息用于描述有效互动包围体的空间关系,有效互动包围体的空间语义信息可以在重定向调整过程中用于约束动画传递目标模型上相同局部对象属性的待传递包围体的空间关系。
其中,可以理解的是,响应于针对互动传递操作,可以在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体。其中,该互动传递操作可以是针对第一互动传递按键的触发操作和/或第二互动传递选项的触发操作。
其中,可以理解的是,动画重定向策略包含互动传递策略,该互动传递策略包含有效交互包围体的局部对象属性。此时,在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体可以是:在M个第二局部对象包围体中查找与有效互动包围体具有相同局部对象属性的第二局部对象包围体,并将与有效互动包围体具有相同局部对象属性的第二局部对象包围体确定为满足动画重定向策略的第二局部对象包围体。
其中,可以理解的是,在本申请实施例中,有效互动包围体可以包含第一有效互动包围体和第二有效互动包围体,此时,在M个第二局部对象包围体中查找与有效互动包围体具有相同局部对象属性的第二局部对象包围体可以包括:在M个第二局部对象包围体中查找与第一有效互动包围体具备相同局部对象属性的第二局部对象包围体作为第一有效互动包围体对应的第一待传递包围体,并在M个第二局部对象包围体中查找与第二有效互动包围体具备相同局部对象属性的第二局部对象包围体作为第二有效互动包围体对应的第二待传递包围体。
其中,可以理解的是,第二对象包含L个第二子对象,此时M个第二局部对象包围体中包含与L个第二子对象相关联的第二局部对象包围体,此时先确定有效互动包围体所对应的动画传递源子模型,并根据重定向设置组选择区域751a所配置的多组重定向组,确定与动画传递源子模型具备动画重定向关系的动画传递目标子模型,并在与动画传递源子模型具备动画重定向关系的动画传递目标子模型中查找与有效互动包围体具有相同局部对象属性的第二局部对象包围体。
其中,可以理解的是,局部对象属性例如可以是左手、右手等等。
步骤S105、获取由空间语义信息确定的模型修正参数,基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,且在动画重定向配置界面上显示模型修正处理后的动画传递目标模型。模型修正处理后的动画传递目标模型的空间语义信息与模型修正处理后的动画传递目标模型的空间语义信息保持一致。
其中,应当理解的是,可以将模型修正处理后的动画传递目标模型作为动画传递修正模型,且在动画重定向配置界面上显示动画传递修正模型以及动画传递源模型,该动画传递修正模型和动画传递源模型可以称为第二动画传递模型对。通过将模型修正后的动画传递目标模型作为动画传递修正模型,在动画重定向界面上显示该动画传递修正模型和动画传递源模型,可以更加直观地呈现动画传递修正模型与动画传递源模型之间具有相同空间语义信息(如动画传递修正模型与动画传递源模型具有相同的空间语义信息“手放在头顶”上,此时,动画传递源模型的第第二对象的手放在头顶,动画传递修正模型中的第二对象的手同样放在头顶)的效果。
在本申请实施例中,为动画传递源模型构建第一局部包围体以及为动画传递目标模型构建第二局部包围体,可以得到与第一对象相关联的N 个第一局部对象包围体以及与第二对象相关联的M个第二局部对象包围体。通过N个第一局部对象包围体可以形成动画传递源模型的空间表达,进而可以对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果从N个第一局部对象包围体中满足动画重定向策略的有效互动包围体,从而将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体中,得到映射包围体,通过直接传递有效互动包围体的空间语义信息节省传递的数据量,在一定程度上可以提升重定向效率;同时,将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体,意味着本申请实施例能够将映射源模型中的有效交互包围体的空间语义信息较为精确地映射至映射目标模型中的相应第二局部对象包围体中,在动画重定向过程中能够提升空间语义传递的准确度。进一步地,本申请实施例可以根据由空间语义信息确定的模型修正参数来对包含映射包围体的动画传递目标模型进行模型修正处理,得到模型修正后的动画传递目标模型,可以自动化进行模型修正,从而使得该模型修正后的动画传递目标模型的空间语义信息与动画传递源模型保持一致,无需人工进行调整,提升了动画重定向效率的同时,有效保障模型修正后的动画传递目标模型以及动画传递源模型的空间姿势一致,也可以在动画重定向过程中提升空间语义传递的准确度以及维持空间语义传递的准确性,提升动画传递目标模型和动画传递源模型所呈现的动画数据一致性。此外,将模型修正后的动画传递目标模型作为动画传递修正模型,在动画重定向界面上显示该动画传递修正模型,可以更加直观地呈现动画传递修正模型的效果。
进一步地,请参见图11,图11为本申请实施例提供另一种动画重定向方法的流程示意图。该动画重定向方法可以由计算机设备执行,该计算机设备可以是上述动画重定向系统中的终端设备101或者服务器102,为便于理解,以计算机设备为终端设备101为例进行阐述本申请实施例所提供的动画重定向方法。在本申请实施例中,该动画重定向方法至少可以包括以下步骤S201至步骤212:
步骤S201、在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型。
步骤S202、在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体,以及显示与第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象。N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数。
其中,步骤S201-步骤S202的具体实现方式可参见上述步骤S101-步骤S102的具体实现方式,在此不再赘述。
步骤S203、从N个第一局部对象包围体所关联的可接触定义表中,获取第一局部对象包围体i和第一局部对象包围体j。
其中,N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;第一局部对象包围体i和第一局部对象包围体j为可接触定义表中满足局部接触条件的局部对象包围体;可接触定义表是针对动画传递源模型所配置的。
其中,可以理解的是,在本申请实施例中也可以直接从N个第一局部对象包围体中获取任意两个第一局部对象包围体(如第一局部对象包围体i和第一局部对象包围体j),并执行步骤S204。由于本申请实施例中,主要针对存在交互或者存在可能接触的第一局部包围体进行空间语义检测,因此从N个第一局部对象包围体所关联的可接触定义表中,获取第一局部对象包围体i和第一局部对象包围体j可以节省一定的计算量。
步骤S204、确定第一局部对象包围体i的第一几何属性以及第一局部对象包围体j的第二几何属性。
其中,第一几何属性与第二几何属性可以为同一属性,也可以为不同属性。第一几何属性可以为球体属性、胶囊体属性、正方体属性等等,第二几何属性可以为球体属性、胶囊体属性、正方体属性。
步骤S205、基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,确定第一局部对象包围体i的第一局部接触面和第一局部对象包围体j的第二局部接触面。
其中,可以理解的是,步骤S205可以包括以下但不限于三种情况:
①第一几何属性为球体属性,第二几何属性为球体属性,即第一局部对象包围体i为球体,第一局部对象包围体j为球体。此时,基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,可以确定第一局部对象包围体i的第一局部接触面为局部球体接触面,第一局部对象包围体j的第二局部接触面也为局部球体接触面。例如,如图12所示,图12为本申请实施例提供的一种球体与球体之间最近点的示意图,在图12中,第一局部对象包围体i为球体1,第一局部对象包围体j为球体2,此时,基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,可以确定第一局部对象包围体i的第一局部接触面为局部球体接触面,第一局部对象包围体j的第二局部接触面也为局部球体接触面。
②第一几何属性为球体属性,第二几何属性为胶囊体属性,即第一局部对象包围体i为球体,第二局部对象包围体j为胶囊体,胶囊体包含球体和柱体。
假设局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的球体侧面。例如,图13所示,图13为本申请实施例提供的球体与胶囊体之间的最近点的示意图;第一局部对象包围体i为球体3,第一局部对象包围体j为胶囊体511,该胶囊体511包含球体5111a以及柱体5111b。局部接触条件所指示的接触关系包含球体3位于胶囊体511所包含的球体5111a侧面,此时,基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,可以确定第一局部对象包围体i的第一局部接触面为局部球体接触面,第一局部对象包围体j的第二局部接触面也为局部球体接触面。
假设局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的柱体侧面,例如,在图13中,局部接触条件所指示的接触关系包含球体4位于胶囊体511所包含的柱体5111b侧面,那么可以确定第一局部对象包围体i的第一局部接触面为局部球体接触面,第一局部对象包围体j的第二局部接触面为局部柱体接触面。
③第一几何属性为胶囊体属性,第二几何属性为胶囊体属性,即第一局部对象包围体i和第一局部对象包围体j为胶囊体,胶囊体包含球体和柱体。
假设局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段不位于第一局部对象包围体j所包含的柱体侧面,且第一局部对象包围体j的柱体中心线段不位于第一局部对象包围体i所包含的柱体侧面,例如,请参见图14,图14为胶囊体与胶囊体之间的最近点示意图。在图14中,第一局部对象包围体i为胶囊体6,第一局部对象包围体j为胶囊体8,此时胶囊体6包含球体6a以及柱体6b,胶囊体8包含球体8a以及柱体8b。此时,可以看出局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段AB不位于第一局部对象包围体j所包含的柱体8b侧面,此时基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,可以确定第一局部对象包围体i的第一局部接触面为局部球体接触面,第一局部对象包围体j的第二局部接触面也为局部球体接触面。
假设局部接触条件所指示的接触关系包含第一局部对象包围体i和第一局部对象包围体j中,任一局部对象包围体(如第一局部对象包围体i)的柱体中心线段的目标端点位于另一局部对象包围体(如第一局部对象包围体j)的柱体侧面,例如,在图14中,第一局部对象包围体i为胶囊体7,第一局部对象包围体j为胶囊体8,此时胶囊体7包含球体7a以及柱体7b,胶囊体8包含球体8a以及柱体8b。此时,可以看出局部接触条件所指示的接触关系包含:第一局部对象包围体i的柱体中心线段CD的端点D位于第一局部对象包围体j所包含的柱体8b侧面,那么可以确定第一局部对象包围体i的第一局部接触面为局部球体接触面,第一局部对象包围体j的第二局部接触面为局部柱体接触面。
假设局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体线段与第一局部对象包围体j的柱体线段之间的最近点分别投影在各自的柱体中心线段上,且处在所述各自的柱体中心线段内。例如,在图14中,第一局部对象包围体i为胶囊体9,第一局部对象包围体j为胶囊体8,此时胶囊体9包含球体9a以及柱体9b,胶囊体8包含球体8a以及柱体8b。此时,第一局部对象包围体i的柱体线段与第一局部对象包围体j的柱体线段之间的最近点分别为点m6和点n6;此时,点m6投影在柱体中心线段GH上,且处在柱体中心线段GH内,点n6投影在柱体中心线段EF上,且处在柱体中心线段EF内,那么可以确定第一局部对象包围体i的第一局部接触面为局部柱体接触面,第一局部对象包围体j的第二局部接触面为局部柱体接触面。
步骤S206、基于第一局部接触面和第二局部接触面,确定第一局部对象包围体i与第一局部对象包围体j之间的第一最近点对。
其中,可以理解的是,通过对第一接触面与第二接触面上的点进行连线,可以确定第一局部接触面和第二局部接触面之间的第一最近点对。应当理解的是,第一局部对象包围体i与第一局部对象包围体j之间的第一最近点对中包含第一局部对象包围体i的第一最近点(即在第一局部包围体i上的最近点)以及第一局部对象包围体j的第二最近点(即在第一局部包围体j上的最近点)。
步骤S207、确定第一最近点与第二最近点之间的最近点距离,将第一最近点与第二最近点之间的最近点距离作为第一局部对象包围体i与第一局部对象包围体j之间的第一最近点距离。
其中,可以理解的是,第一最近点与第二最近点之间的最近点距离即为第一最近点对的距离,也即第一最近点与第二最近点之间的距离,第一最近点与第二最近点之间的最近点距离可以作为第一局部对象包围体i与第一局部对象包围体j之间的第一最近点距离。针对局部接触条件所指示的接触关系、第一几何属性以及第二几何属性,确定第一最近点与第二最近点之间的最近点距离存在一定的不同。接下来对本申请实施例提供的确定第一最近点与第二最近点之间的最近点距离的方式进行阐述,应当理解的是,本申请实施例对于如何确定第一最近点与第二最近点之间的最近点距离不作任何限定。
(1)第一几何属性与第二几何属性均为球体属性,即第一局部对象包围体i与第一局部对象包围体j均为球体。此时确定第一最近点与第二最近点之间的最近点距离,可以包括:确定第一局部对象包围体i和第一局部对象包围体j之间的球心距离;根据球心距离、第一局部对象包围体i的半径和第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,应当理解的是,第一局部对象包围体i的半径以及第一局部对象包围体i的半径的确定方式可以如下:确定第一局部对象包围体i的球心,并基于第一局部对象包围体i的球心与第一最近点确定第一局部对象包围体i的半径;然后确定第一局部对象包围体j的球心,并基于第一局部对象包围体j的球心与第二最近点确定第一局部对象包围体j的半径。例如在上述图12中,第一局部对象包围体i为球体1,第一局部对象包围体j为球体2,此时,第一局部对象包围体i的球心为O1,第一局部对象包围体j的球心为O2,第一最近点为m1,第二最近点为n1。终端设备可以计算第一最近点到球心O1的距离作为第一局部对象包围体i的半径;同理,可以计算第二最近点到球心O2的距离作为第一局部对象包围体j的半径。然后,通过球心O1与球心O2之间的球心距离减去第一局部对象包围体i与第一局部对象包围体j的半径之和,得到第一最近点与第二最近点之间的最近点距离,即最近点距离为第一最近点m1与第二最近点n1之间的距离。
(2)第一几何属性为球体属性,第二几何属性为胶囊体属性,也即第一局部对象包围体i为球体,第一局部对象包围体j为胶囊体,第一局部对象包围体j包含柱体和球体。
①局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的球体侧面,此时,确定第一最近点与第二最近点之间的最近点距离,可以包括:确定第一局部对象包围体i的球心与第一局部对象包围体j之间的球心距离,并基于第一局部对象包围体i的球心与第一局部对象包围体j之间的球心距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,可以理解的是,第一局部对象包围体i的半径以及第一局部对象包围体j的半径的确定方式可以是:基于第一最近点与第一局部对象包围体i的球心确定第一局部对象包围体i的半径;基于第一最近点与第一局部对象包围体i的球心确定第一局部对象包围体i的半径;基于第二最近点与第一局部对象包围体j的球心确定第二局部对象包围体j的半径。
例如,在上述图13中,第一局部对象包围体i为球体3,第一局部对象包围体i的球心为O3,第一局部对象包围体j为胶囊体511,第一局部对象包围体j的球心为O4,局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的球体5111a侧面,第一最近点对为点m2(即第一最近点)和点n2(即第二最近点),此时,终端设备可以计算第一最近点与第一局部对象包围体i的球心O3之间的距离作为第一局部对象包围体i的半径,然后计算第一局部对象包围体j的球心O4与第二最近点之间的距离,作为第一局部对象包围体j的半径;然后计算球心O3和球心O4之间的球心距离,并根据球心距离、第一局部对象包围体i的半径和所述第一局部对象包围体j的半径之间的半径和,确定第一最近点与第二最近点之间的最近点距离,即最近点距离即为点m2与点n2之间的最近点距离。
②局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的柱体侧面;此时确定第一最近点与第二最近点之间的最近点距离,可以包括:基于第一局部对象包围体i的球心到第一局部对象包围体j所包含的柱体中心线段之间的距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,可以理解的是,第一局部对象包围体i的半径以及第一局部对象包围体j的半径的确定方式可以是基于第一最近点与第一局部对象包围体i的球心确定第一局部对象包围体i的半径;将第二最近点到第一局部对象包围体j所包含的柱体中心线段之间的距离确定为第一局部对象包围体j的半径。
例如在图13中,第一局部对象包围体i为球体4,第一局部对象包围体j为胶囊体511,此时,第一最近点为m3,第二最近点为n3,终端设备可以计算第一最近点与第一局部对象包围体i的球心O5之间的距离作为第一局部对象包围体i的半径,将第二最近点n3到第一局部对象包围体j所包含的柱体中心线段之间的距离作为第一局部对象包围体j的半径;然后,计算第二最近点n3到第一局部对象包围体j的中心柱体线段O4O6之间的距离作为第一局部对象包围体j的半径,接着,计算第一局部对象包围体i的球心O5到第一局部对象包围体j所包含的柱体中心线段O4O6之间的距离,基于计算得到距离减去第一局部对象包围体i的半径与第一局部对象包围体j的半径之间的半径之和,得到第一最近点与第二最近点之间的最近点距离,即最近点距离为m3与n3之间的距离。
(3)第一几何属性为胶囊体属性,第二几何属性为胶囊体属性;即第一局部对象包围体i为胶囊体,第二局部对象包围体j为胶囊体,第一局部对象包围体j包含柱体和球体;第一局部对象包围体j包含柱体和球体;第一最近点对包含第一局部对象包围体i的第一最近点以及第一局部对象包围体j的第二最近点:
①局部接触条件所指示的接触关系指示第一局部对象包围体i的柱体中心线段不位于第一局部对象包围体j所包含的柱体侧面,且第一局部对象包围体j的柱体中心线段不位于第一局部对象包围体i所包含的柱体侧面。此时,确定第一最近点与第二最近点之间的最近点距离,可以包括:若局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段不位于第一局部对象包围体j所包含的柱体侧面,且第一局部对象包围体j的柱体中心线段不位于第一局部对象包围体i所包含的柱体侧面,则确定第一局部对象包围体i的柱体中心线段与第一局部对象包围体j的柱体中心线段之间的最近端点距离,并基于最近端点距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,可以理解的是,第一局部对象包围体i的半径以及第一局部对象包围体j的半径的确定方式可以是:将第一最近点与第一局部对象包围体i的球心之间的距离作为第一局部对象包围体i的半径,将第二最近点与第一局部对象包围体j的球心确定第一局部对象包围体j的半径。
例如,上述图14中,第一局部对象包围体i为胶囊体6,第一局部对象包围体j为胶囊体8,此时胶囊体6包含球体6a以及柱体6b,胶囊体8包含球体8a以及柱体8b。此时,可以看出局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段AB不位于第一局部对象包围体j所包含的柱体8b侧面,第一局部对象包围体i的第一最近点为m4,第一局部对象包围体j的第二最近点为n4,终端设备可以将第一最近点m4与第一局部对象包围体i的球心B之间的距离作为第一局部对象包围体i的半径,将第二最近点n4与第一局部对象包围体j的球心E之间的距离作为第一局部对象包围体j的半径,然后确定第一局部对象包围体i的柱体中心线段与第一局部对象包围体j的柱体中心线段之间的最近端点距离(即最近端点B与最近端点E之间的距离),并基于最近端点距离BE、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点m4与第二最近点n4之间的最近点距离。
②局部接触条件所指示的接触关系包含第一局部对象包围体i和第一局部对象包围体j中,任一局部对象包围体的柱体中心线段的目标端点位于另一局部对象包围体的柱体侧面。其中,应当理解的是,目标端点为任一局部对象包围体的柱体中心线段上距离另一局部对象包围体的柱体侧面最近的一个端点,在本申请实施例中,局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段的目标端点位于第一局部对象包围体j的柱体侧面,或者局部接触条件所指示的接触关系包含第一局部对象包围体j的柱体中心线段的目标端点位于第一局部对象包围体i的柱体侧面。例如在图14中,第一局部对象包围体i为胶囊体7,第一局部对象包围体j为胶囊体8,此时胶囊体7包含球体7a以及柱体7b,胶囊体8包含球体8a以及柱体8b。此时,目标端点即为第一局部对象包围体i的柱体中心线段CD的端点D。此时,局部接触条件所指示的接触关系包含:第一局部对象包围体i的柱体中心线段CD的端点D位于第一局部对象包围体j所包含的柱体8b侧面,终端设备确定第一最近点与第二最近点之间的最近点距离可以包括:若局部接触条件所指示的接触关系包含第一局部对象包围体i和第一局部对象包围体j中,任一局部对象包围体的柱体中心线段的目标端点位于另一局部对象包围体的柱体侧面,则确定任一局部对象包围体的柱体中心线段的目标端点到另一局部对象包围体的柱体中心线段之间的目标距离;基于目标距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,可以理解的是,第一局部对象包围体i的半径以及第一局部对象包围体j的半径的确定方式为:确定第一最近点与第一局部对象包围体i的球心之间距离作为第一局部对象包围体i的半径,并确定第二最近点到第一局部对象包围体j的柱体中心线段之间的距离作为第一局部对象包围体j的半径。
例如,在图14中,第一最近点为m5,第二最近点为n5,此时可以确定第一最近点m5与球心D之间的距离作为第一局部对象包围体i的半径,确定第二最近点n5到第一局部对象包围体j的柱体中心线段EF之间的距离作为第一局部对象包围体j的半径,然后确定第一局部对象包围体i的柱体中心线段的目标端点D到第一局部对象包围体j的柱体中心线段EF之间的目标距离;基于目标距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点m5与第二最近点n5之间的最近点距离。
③局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体线段的第一最近点与第一局部对象包围体j的柱体线段的第二最近点分别投影在各自的柱体中心线段上,且处在各自的柱体中心线段内。此时,确定第一最近点与第二最近点之间的最近点距离,包括:若局部接触条件所指示的接触关系指示所述第一最近点和第二最近点分别投影在各自的柱体中心线段上,且处在各自的柱体中心线段内,则确定第一局部对象包围体i的柱体中心线段对应的空间直线与第一局部对象包围体j的柱体中心线段对应的空间直线之间的第二最近点距离;基于第二最近点距离、第一局部对象包围体i的半径与第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,可以理解的是,第一局部对象包围体i的半径以及第一局部对象包围体j的半径的确定方式可以是:确定第一最近点到第一局部对象包围体i的距离,作为第一局部对象包围体i的半径;确定第二最近点到第一局部对象包围体j的距离,作为第一局部对象包围体j的半径。
例如,在图14中,第一最近点为m6,第二最近点为n6,此时可以确定第一最近点m6与第一局部对象包围体i的柱体中心点段GH之间的距离作为第一局部对象包围体i的半径,确定第二最近点n6到第一局部对象包围体i的柱体中心线段EF之间的距离作为第一局部对象包围体j的半径,然后确定柱体中心点段GH对应的空间直线以及柱体中心点段EF对应的空间直线之间的第二最近点距离,基于第二最近点距离、第一局部对象包围体i的半径与第一局部对象包围体j的半径,确定第一最近点m6与第二最近点n6之间的最近点距离。
具体的,可以将第二最近点距离、第一局部对象包围体i的半径与第一局部对象包围体j的半径所得到距离,作为第一最近点m6与第二最近点n6之间的最近点距离。
应当理解的是,步骤S206-步骤S207的先后顺序不作任何限定,步骤S206以及步骤S207也可以同时执行,即确定第一最近点对和最近点距离其实可以一并执行,如确定最近点距离同时,最近点距离其实是第一局部包围体i与第一局部对象包围体j上最近点连线,根据最近点距离可以找到第一最近点以及第二最近点。
步骤S208、将第一最近点对和第一最近点距离,作为第一局部对象包围体i和第一局部对象包围体j之间的空间语义检测结果。
步骤S209、基于第一局部对象包围体i和第一局部对象包围体j之间的空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足动画重定向策略的第一局部对象包围体对作为第一对象的有效互动包围体。
在一个实施例中,若第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离小于交互距离阈值,则将第一局部对象包围体i与第一局部对象包围体j,作为从N个第一局部对象包围体中所筛选出的满足所述动画重定向策略的第一局部对象包围体对。应当理解的是,有效互动包围体可以包含第一局部对象包围体对,该第一局部对象包围体对可以包含第一局部对象包围体i和第一局部对象包围体j。
步骤S210、在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体,将查找到的满足动画重定向策略的第二局部对象包围体作为待传递包围体,在基于空间语义检测结果获取到有效互动包围体的空间语义信息时,将空间语义信息由有效互动包围体传递至待传递包围体,得到携带空间语义信息的传递包围体。
其中,可以理解的是,第一待传递包围体的几何属性与第一有效互动包围体的几何属性相同,第二待传递包围体的几何属性与第二有效互动包围体的几何属性相同;例如,第一有效互动包围体为球体,那么第一待传递包围体同样为球体。有效互动包围体的空间语义信息用以约束动画传递目标模型中相应第二局部对象包围体之间的空间关系,因此要求在传递时需要保证尺寸大小(shape-invariant)与空间姿态(orientation-invariant)不变性,因此在本申请实施例中引入空间语义传递描述子,该空间语义传递描述子用以描述有效互动包围体中的第一有效互动包围体与第二有效互动包围体之间的空间语义信息,即该空间语义传递描述子可以包含比例系数(即scp ratio)和/或局部向量,其中比例系数用于描述最近点在有效互动包围体的轴向量上的比例,局部向量用于描述在以有效互动包围体为中心坐标系上的局部坐标。其中,可以理解的是,空间语义信息可以包含第一有效互动包围体(如第一局部对象包围体i)与第二有效互动包围体(如第一局部对象包围体j)之间的最近点对,该空间语义信息还包括第一有效互动包围体的第一有效空间语义信息以及第二有效互动包围体的第二有效空间语义信息。第一有效互动包围体与第二有效互动包围体之间的最近点对包含第一有效互动包围体的最近点和第二有效互动包围体的最近点。有效互动包围体的空间语义信息的获取方式可以是:以第一有效互动包围体构建第一坐标系,并将第一坐标系的原点指向第一有效互动包围体的最近点的向量确定为第一有效互动包围体的最近点的局部向量;基于第一有效互动包围体的最近点的局部向量,生成第一有效互动包围体的第一空间语义信息。同理,以第二有效互动包围体构建第二坐标系,并将第二坐标系的原点指向第二有效互动包围体的最近点的向量确定为第二有效互动包围体的最近点的局部向量;基于第二有效互动包围体的最近点的局部向量,生成第二有效互动包围体的第二空间语义信息,基于第一有效互动包围体的第一空间语义信息与第二有效互动包围体的第二空间语义信息,生成有效互动包围体的空间语义信息。
其中,可以理解的是,当第一有效互动包围体为球体时,所构建的第一坐标系的原点可以为球心,当第一有效互动包围体为胶囊体时,所构建的第一坐标系的原点可以为胶囊体的柱体中心线段上的中点。应当理解的是,第二有效互动包围体与第一有效互动包围体类似,在此不再赘述。
为便于理解,请参见图15,图15为本申请实施例提供的一种第一有效互动包围体的最近点的局部向量的示意图。在图15中,第一有效互动包围体的最近点为点K1,第一有效互动包围体为球体,以第一有效互动包围体的球心为原点,构建第一坐标系XYZ。此时,将第一坐标系的原点指向第二有效互动包围体的最近点K1的向量作为第一有效互动包围体的最近点K1的局部向量。又例如,如图16所示,图16为本申请实施例提供的另一种第一有效互动包围体的最近点的局部向量的示意图。在图16中,第一有效互动包围体的最近点为点K2,第一有效互动包围体为胶囊体,以第一有效互动包围体的中心柱体线段ab的中心为原点,构建第一坐标系XYZ。此时,将第一坐标系的原点指向第二有效互动包围体的最近点K2的向量作为第一有效互动包围体的最近点K2的局部向量。
其中,应当理解的是,第一坐标系的原点指向第一有效互动包围体的最近点的向量即为第一有效互动包围体在第一坐标系中的局部坐标。
其中,应当理解的是,当第一有效互动包围体或者第二有效互动包围体为胶囊体时,由于第一有效互动包围体的第一空间语义信息与第二有效互动包围体的第二空间语义信息生成方式类似,因此以第一有效互动包围体为例,基于第一有效互动包围体的最近点的局部向量,生成第一有效互动包围体的第一空间语义信息,包括:确定第一有效互动包围体的最近点,在第一局部对象包围体i的轴向量上所对应的比例系数;将第一有效互动包围体的局部向量进行投影,得到第一有效互动包围体的最近点的投影向量;基于第一有效互动包围体的最近点对应的比例系数和投影向量,生成第一有效互动包围体的第一空间语义信息。
其中,应当理解的是,第一局部对象包围体i的轴向量是指第一局部对象包围体的柱体中心线段。
为便于理解,请参见图17,图17为本申请实施例提供的一种第一有效互动包围体的最近点对应的比例系数确定过程。第一有效互动包围体的最近点为c,最近点c在轴向量上的投影点为d,第一有效互动包围体的轴向量为ab,最近点c在第一局部对象包围体i的轴向量ab上所对应的比例系数ɑ表示为:
ɑ = ad/ab
其中,应当理解的是,。
其中,应当理解的是,将第一有效互动包围体的局部向量进行投影,得到第一有效互动包围体的最近点的投影向量是指将第一有效互动包围体的局部向量沿着目标轴进行投影,得到第一有效互动包围体的最近点的投影向量。例如,第一坐标系由X轴、Y轴以及Z轴构成,那么目标轴为X轴和Y轴,即将第一有效互动包围体的局部向量X-Y面进行投影,得到投影向量。
需要说明的是,当第一有效互动包围体或者第二有效互动包围体为球体时,无需确定相应最近点对应的比例系数以及无需将局部向量进行投影处理。
进一步地,可以理解的是,将空间语义信息由有效互动包围体传递至所述待传递包围体,得到携带空间语义信息的传递包围体,可以包括:在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点,以及在第二待传递包围体上确定与第二有效互动包围体的最近点具有相同第二空间语义信息的第二位置点;将第一有效互动包围体的最近点的第一空间语义信息,传递到第一位置点,得到携带第一空间语义信息的第一传递包围体;将第二有效互动包围体的最近点的第二空间语义信息,传递到第二位置点,得到携带第二空间语义信息的第二传递包围体,基于携带第一空间语义信息的第一传递包围体和携带第二空间语义信息的第二传递包围体,确定携带空间语义信息的传递包围体。
其中,可以理解的是,在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点可以包含:以第一待传递包围体建立第三坐标系,并根据第一空间语义信息中所包含的局部向量在第三坐标系中确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点。为便于理解,请参见图18,图18为本申请实施例提供的一种确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点的示意图。第一有效互动包围体为球体,第一待传递包围体同样为球体,此时,以第一待传递包围体的球心建立第三坐标系,并根据第一空间语义信息中所包含的局部向量,从第三坐标系的原点出发,按照该局部向量所指示的方向可以在第一待传递包围体找到点C’,此时在第一待传递包围体上的点C’与第一有效互动包围体上的点C具备相同的第一空间语义信息。
其中,可以理解的是,当第一待传递包围体为球体时,所构建的第一坐标系的原点可以为球心,当第一待传递包围体为胶囊体时,所构建的第一坐标系的原点可以为胶囊体的柱体中心线段上的中点。应当理解的是,第二待传递包围体与第二待传递包围体类似,在此不再赘述。
其中,可以理解的是,当第一空间语义信息包含第一有效互动包围体的最近点对应的比例系数以及投影向量时,在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点可以包含:以第一待传递包围体建立第四坐标系,并根据第一空间语义信息中所包含的比例系数在第一待传递包围体的轴向量上确定满足该比例系数的候选位置点,然后根据第一空间语义信息所包含的投影向量以及满足该比例系数的候选位置点,可以确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点。例如,请参见图19,图19为本申请实施例提供的另一种确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点的示意图。第一有效互动包围体为胶囊体,以第一有效互动包围体的轴向量AB的中点建立的坐标系,第一有效互动包围体的最近点为点C,第一待传递包围体同样为胶囊体,此时,也以第一待传递包围体的轴向量A’B’的中点建立第四坐标系,首先在第一待传递包围体的轴向量A’B’上确定满足比例系数的位置点D’,然后在以第一待传递包围体构建的第四坐标系上,根据第一空间语义信息中所包含的投影向量所指示的方向以及满足比例系数的位置点,找到点C’,即该点C’即为在待传递包围体上与第一有效互动包围体上的点C具备相同的第一空间语义信息的第一位置。
应当理解的是,在第二待传递包围体上确定与第二有效互动包围体的最近点具有相同第二空间语义信息的第二位置点的具体实现方式与在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点的具体实现方式类似,在此不再赘述。
步骤S211、获取由空间语义信息确定的模型修正参数。
其中,应当理解的是,在执行步骤S210将空间语义信息由有效互动包围体传递至所述待传递包围体之后,完成了不变性语义点传递,即第一有效互动包围体的最近点与第一传递包围体上的第一位置点的空间语义相同,第二有效互动包围体的最近点与第二传递包围体上的第一位置点的空间语义相同,因此第一传递包围体与第二传递包围体同样存在有效交互,第一位置点与第二位置点即为第一传递包围体与第二传递包围体之间的第二最近点对,即第一位置点为第一传递包围体上的最近点,第二位置点为第二传递包围体上的最近点。
其中,应当理解的是,为了使得包含传递包围体的动画传递目标模型的空间关系与动画传递源模型上的空间关系保持一致,本申请实施例可以通过IK调整对包含传递包围体的动画传递目标模型进行修正,即确定包含传递包围体的动画传递目标模型中的末端效应器,并在包含传递包围体的动画传递目标模型中确定与该末端效应器存在有效交互的交互传递包围体,然后可以根据与该末端效应器存在有效交互的交互传递包围体以及末端效应器计算末端效应器的目标位置,从而确定需要调整到目标位置对应的模型修正参数,基于该模型修正参数可以将该末端效应器从当前位置调整到目标位置,完成对包含传递包围体的动画传递目标模型。此时获取由空间语义信息确定的模型修正参数可以包括:从包含传递包围体的动画传递目标模型中确定作为末端效应器的第一传递包围体,确定与第一传递包围体具备有效交互的第二传递包围体(即交互传递包围体),并将第一位置点与第二位置点作为第一传递包围体与第二传递包围体之间的第二最近点对;沿垂直于第一传递包围体表面的方向,对第二最近点对中的第二位置点叠加第一有效互动包围体与第二有效互动包围体之间的最近点距离(该第一有效互动包围体与第二有效互动包围体之间的最近点距离即为上述空间语义检测所确定的,第一有效互动包围体与第二有效互动包围体之间的最近点距离即为第一有效互动包围体的最近点与第二有效互动包围体的最近点之间的最近点距离),得到第二位置点对应的交互估计点;基于第一传递包围体对应的交互估计点、第二最近点对中的第一位置点以及调整权重,确定第一传递包围体的调整向量;基于第一传递包围体的调整向量,生成模型修正参数。
其中,应当理解的是,在本申请实施例中,与第一传递包围体具有有效交互的第二传递包围体的数量可以为R,此时获取由空间语义信息确定的模型修正参数可以包括:从包含传递包围体的动画传递目标模型中确定作为末端效应器的第一传递包围体,确定与第一传递包围体具备有效交互的R个第二传递包围体。此时,在第一传递包围体中存在R个第一位置点,第一传递包围体的每个第一位置点与相应第二传递包围体上的第二位置点会构成该第二传递包围体与第一传递包围体之间的第二最近点对;也就是说,当与第一传递包围体具有有效交互的第二传递包围体的数量可以为R时,那么存在R个第二最近点对,即R个第二传递包围体中每个第二传递包围体与第一传递包围体之间均存在最近点对。终端设备可以在步骤S210之后,获取第一传递包围体与第二传递包围体t之间的第二最近点对,第一传递包围体与第二传递包围体t之间的第二最近点对包含第一传递包围体上的最近点t(即第一位置点)以及第二传递包围体t上的最近点(即第二传递包围体t上的第二位置点);t为小于等于R的正整数;然后沿垂直于第一传递包围体表面的方向,对第二传递包围体t的最近点叠加第一有效互动包围体与第二传递包围体t对应的第二有效互动包围体之间的最近点距离,得到第二传递包围体t的第二位置对应的交互估计点;基于第二传递包围体t的第二位置对应的交互估计点、第二最近点对中的第一位置点以及与第二传递包围体t的第二位置点对应的交互估计点相关联的调整权重,确定第一传递包围体的调整向量;基于第一传递包围体的调整向量,生成模型修正参数。
其中,便于理解,请参见图20,图20为本申请实施例中提供了一种第一传递包围体对应交互估计点计算示意图。以与第一传递包围体具有有效交互的第二传递包围体的数量为2为例。终端设备可以从包含传递包围体的动画传递目标模型中确定作为末端效应器的第一传递包围体为BVK,第一传递包围体为BVK的目标位置由与第一传递包围体存在有效交互的两个第二传递包围体(即BVi和BVj)确定,也即与第一传递包围体BVK具有有效交互的第二传递包围体为BVi和BVj。其中,在动画传递源模型中,第一传递包围体对应第一有效互动包围体,第二传递包围体BVi对应第二有效互动包围体1;第二传递包围体BVj对应第二有效互动包围体2;第一有效互动包围体与第二有效互动包围体1之间的最近点距离为;第一有效互动包围体与第二有效互动包围体2之间的最近点距离为;通过步骤S210进行空间语义传递之后可以确定第一传递包围体BVK与第二传递包围体BVi之间的第二最近点对(即第一传递包围体BVK与第二传递包围体BVi之间的第二最近点对包含在第一传递包围体BVK上的最近点,在第二传递包围体BVi上的最近点);同理,确定第一传递包围体BVK与第二传递包围体BVj之间的第二最近点对(即第一传递包围体BVK与第二传递包围体BVj之间的第二最近点对包含在第一传递包围体BVK上的最近点,在第二传递包围体BVj上的最近点);然后沿垂直于第一传递包围体BVK表面的方向,对第二传递包围体BVi上的叠加第一有效互动包围体与第二有效互动包围体1之间的最近点距离,得到对应的交互估计点;然后,沿垂直于第一传递包围体BVK表面的方向,对第二传递包围体BVj上的叠加第一有效互动包围体与第二有效互动包围体2之间的最近点距离,得到对应的交互估计点。然后确定与交互估计点相关联的调整权重以及与交互估计点相关联的调整权重,接着根据交互估计点、最近点、与交互估计点相关联的调整权重、交互估计点、最近点、与交互估计点相关联的调整权重,确定第一传递包围体BVK的调整向量。
其中,可以理解的是,第一传递包围体的调整向量的计算方式如下:
其中,表示第一传递包围体的调整向量。表示与第二传递包围体t的第二位置点对应的交互估计点相关联的调整权重。表示第二传递包围体t的第二位置点对应的交互估计点;表示在动画传递源模型上,第一传递包围体对应的第一有效互动包围体与第二传递包围体t对应的第二有效互动包围体之间的最近点距离。表示在第二传递包围体t上的第二位置点(即最近点)。
其中,与第二传递包围体t的第二位置点对应的交互估计点相关联的调整权重的确定方式为:计算第一有效互动包围体与各第二传递包围体对应的第二有效互动包围体之间的最近点距离之和,得到总距离和,并根据第一有效互动包围体与第二传递包围体t对应的第二有效互动包围体之间的最近点距离,确定与第二传递包围体t的第二位置点对应的交互估计点相关联的调整权重,
其中,权重计算为:
为动画传递源模型上,第一传递包围体对应的第一有效互动包围体与第二传递包围体t对应的第二有效互动包围体之间的最近点距离的绝对值。m为常数。
应当理解的是,上述仅示例性给出第一传递包围体作为末端效应器时,确定模型修正参数过程。当末端效应器为包含传递包围体的动画传递目标模型中的其他包围体时,可参见第一传递包围体确定模型修正参数的具体实现方式,在此不再赘述。
其中,可以理解的是,在动画重定向配置界面中可以通过末端效应器设置选项设置有作为末端效应器的第二局部对象包围体,且由前述可知,传递包围体是指进行了空间语义信息传递之后的第二局部对象包围体,终端设备可以获取与动画传递目标模型相关联的末端效应器配置文件,并基于末端效应器配置文件从传递包围体中确定作为末端效应器的第一传递包围体。
其中,应当理解的是,基于模型修正参数对包含所述传递包围体的动画传递目标模型进行模型修正处理,可以包括:基于第一传递包围体的调整向量,对动画传递目标模型中的第一传递包围体进行平移调整,得到平移调整后的第一传递包围体;基于平移调整后的第一传递包围体对所述动画传递目标模型进行模型修正,得到模型修正处理后的动画传递目标模型,从而使得第一传递包围体所包含的局部对象到达目标位置,完成对动画画传递目标模型的模型修正处理,此处的目标位置即为第一传递包围体实际所在的位置。
步骤S212、基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,且在动画重定向配置界面上显示模型修正处理后的动画传递目标模型。其中,模型修正处理后的动画传递目标模型与模型修正处理后的动画传递目标模型具有相同空间语义信息,也即动画传递修正模型与动画传递源模型具有相同空间语义信息。
其中,可以理解的是,基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型可以包括:将第一传递包围体沿着调整向量进行平移调整,得到平移调整后的第一传递包围体;基于平移调整后的第一传递包围体对动画传递目标模型进行模型修正,得到最终模型修正后的动画传递目标模型。例如,如图21所示,图21为本申请实施例提供的一种包含传递包围体的动画传递目标模型与模型修正处理后的动画传递目标模型的对比示意图。在图21中,动画传递源模型21a包含的手部与胸部之间的空间语义关系如图21中的211a所示,传递之后所得到包含传递包围体的动画传递目标模型21b由于身体比例手部与胸部的接触位置过高(如图21中的211b所示),与动画传递源模型为手部与胸部之间的空间语义关系不一致,此时,基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,模型修正处理后的动画传递目标模型21c的手部与胸部之间的空间语义关系,与动画传递源模型21a为手部与胸部之间的空间语义关系保持一致。
其中,可以理解的是,第二对象包含L个第二子对象,当第一传递包围体为与目标第二子对象相关联的传递包围体,此时意味着存在不同第二子对象之间的交互,此时修正参数可以包含末端调整权重以及根调整权重,此时可以基于调整向量确定在第一传递包围体进行调整时对应的末端调整权重和根调整权重,并基于末端调整权重对第一传递包围体进行调整以及基于根调整权重对第一传递包围体所在的动画传递目标子模型进行调整,得到模型修正处理后的动画传递目标子模型,并基于模型修正处理后的动画传递目标子模型,得到模型修正处理后的动画传递目标模型。目标第二子对象为L个第二子对象中任一个。模型修正处理后的动画传递目标模型的空间语义与动画传递源模型的空间语义得到了更好的保持。例如,请参见图22,图22为包含传递包围体的动画传递目标模型与模型修正处理后的动画传递目标模型的对比示意图。在图22中,动画传递源模型包含与第一子对象1相关联的动画传递源子模型2A和与第二子对象2相关联的动画传递源子模型2B,包含传递包围体的动画传递目标模型中包含与第二子对象3相关联的动画传递目标模型2C以及与第二子对象4相关联的动画传递目标模型2D。在图22中,可以看出动画传递源子模型2A和动画传递源子模型2B之间的牵手效果(即牵手的空间语义信息)如图22中的22a所示,动画传递目标子模型2C以及动画传递目标子模型2D的牵手效果(即图22中的22b所示)未得到空间语义保持,对动画传递目标子模型2C和动画传递目标子模型2D模型进行模型修正处理,所得到模型修正处理后的动画传递目标子模型2C’和动画传递目标子模型2D’的牵手效果(即图22中的22c所示)得到了正确的保持。
在本申请实施例中,计算机设备为动画传递源模型构建第一局部包围体以及为动画传递目标模型构建第二局部包围体,可以得到与第一对象相关联的N 个第一局部对象包围体以及与第二对象相关联的M个第二局部对象包围体。通过N个第一局部对象包围体可以形成动画传递源模型的空间表达,进而可以根据可接触定义表对N个第一局部对象包围体中存在可能接触第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果从N个第一局部对象包围体中满足动画重定向策略的有效互动包围体,从而将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体中,得到映射包围体,通过可接触定义表可以大大减少空间语义检测的计算量,从而提升重定向效率,此外,本申请实施例传递有效互动包围体的空间语义信息同样节省传递的数据量,在一定程度上可以提升重定向效率;同时,将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体,意味着本申请实施例能够将映射源模型中的有效交互包围体的空间语义信息较为精确地映射至映射目标模型中的相应第二局部对象包围体中,在动画重定向过程中能够提升空间语义传递的准确度。进一步地,本申请实施例可以根据由空间语义信息确定的模型修正参数来对包含映射包围体的动画传递目标模型进行模型修正处理,得到模型修正后的动画传递目标模型,可以自动化进行模型修正,从而使得该模型修正后的动画传递目标模型的空间语义信息与动画传递源模型的空间语义信息保持一致,无需人工进行调整,在提升了动画重定向效率的同时,也可以在动画重定向过程中提升空间语义传递的准确度以及维持空间语义传递的准确性,提升动画传递目标模型和动画传递源模型所呈现的动画数据一致性。
进一步地,请参见图23,图23是本申请实施例提供的一种动画重定向装置的结构示意图。该动画重定向装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该动画重定向装置1可以为一个应用软件;该动画重定向装置1可以用于执行本申请实施例提供的方法中的相应步骤。其中,该动画重定向装置1可以包括:第一模型显示模块2301、包围体显示模块2302、检测模块2303、筛选模块2304、查找模块2305、传递模块2306、获取模块2307、修正模块2308以及第二模型显示模块2309。
第一模型显示模块2301,用于在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型;
包围体显示模块2302,用于在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体,以及显示与第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象;
检测模块2303,用于对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果;
筛选模块2304,用于基于空间语义检测结果,从N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足动画重定向策略的第一局部对象包围体对作为第一对象的有效互动包围体;
查找模块2305,用于在M个第二局部对象包围体中查找满足动画重定向策略的第二局部对象包围体,将查找到的满足动画重定向策略的第二局部对象包围体作为待传递包围体;
传递模块2306,用于在基于空间语义检测结果获取到有效互动包围体的空间语义信息时,将空间语义信息由有效互动包围体传递至待传递包围体,得到携带空间语义信息的传递包围体;
获取模块2307,用于获取由空间语义信息确定的模型修正参数;
修正模块2308,用于基于模型修正参数对包含传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型;
第二模型显示模块2309,用于在动画重定向配置界面上显示模型修正处理后的动画传递目标模型,模型修正处理后的动画传递目标模型的空间语义信息与所述动画传递源模型的相同空间语义信息保持一致。
其中,N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;第一局部对象包围体i和第一局部对象包围体j为可接触定义表中满足局部接触条件的局部对象包围体;可接触定义表是针对动画传递源模型所配置的;
检测模块2303包括第一获取单元23031、属性确定单元23032、接触面确定单元23033、最近点确定单元23034、距离确定单元23035,语义结果确定单元23036;
第一获取单元23031,用于从N个第一局部对象包围体所关联的可接触定义表中,获取第一局部对象包围体i和第一局部对象包围体j;
属性确定单元23032,用于确定第一局部对象包围体i的第一几何属性以及第一局部对象包围体j的第二几何属性;
接触面确定单元23033,用于基于第一几何属性、第二几何属性以及局部接触条件所指示的接触关系,确定第一局部对象包围体i的第一局部接触面和第一局部对象包围体j的第二局部接触面;
最近点确定单元23034,用于基于第一局部接触面和第二局部接触面,确定第一局部对象包围体i与第一局部对象包围体j之间的第一最近点对;第一最近点对包含在第一局部对象包围体i上的第一最近点以及在第一局部对象包围体j上的第二最近点;
距离确定单元23035,确定第一最近点与第二最近点之间的最近点距离,将所述第一最近点与所述第二最近点之间的最近点距离作为所述第一局部对象包围体i与所述第一局部对象包围体j之间的第一最近点距离;
语义结果确定单元23036,用于将第一最近点对和第一最近点距离,作为第一局部对象包围体i和第一局部对象包围体j之间的空间语义检测结果。
其中,第一几何属性与第二几何属性均为球体属性;距离确定单元23035,用于:
确定第一局部对象包围体i和第一局部对象包围体j之间的球心距离;
根据球心距离、第一局部对象包围体i的半径和第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,第一几何属性为球体属性,第二几何属性为胶囊体属性;
距离确定单元23035,用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的球体侧面,则基于第一局部对象包围体i的球心与第一局部对象包围体j之间的球心距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
距离确定单元23035,还用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i位于第一局部对象包围体j所包含的柱体侧面,则基于第一局部对象包围体i的球心到第一局部对象包围体j所包含的柱体中心线段之间的距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,第一几何属性为胶囊体属性,第二几何属性为胶囊体属性;第一局部对象包围体i包含柱体和球体;第一局部对象包围体j包含柱体和球体;
距离确定单元23035,还用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i的柱体中心线段不位于第一局部对象包围体j所包含的柱体侧面,且第一局部对象包围体j的柱体中心线段不位于第一局部对象包围体i所包含的柱体侧面,则确定第一局部对象包围体i的柱体中心线段与第一局部对象包围体j的柱体中心线段之间的最近端点距离;
基于最近端点距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
距离确定单元23035,还用于:
若局部接触条件所指示的接触关系包含第一局部对象包围体i和第一局部对象包围体j中,任一局部对象包围体的柱体中心线段的目标端点位于另一局部对象包围体的柱体侧面,则确定任一局部对象包围体的柱体中心线段的目标端点到另一局部对象包围体的柱体中心线段之间的目标距离;
基于目标距离、第一局部对象包围体i的半径以及第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
距离确定单元23035,还用于:
若局部接触条件所指示的接触关系包含第一最近点和第二最近点分别投影在各自的柱体中心线段上,且处在各自的柱体中心线段内,则确定第一最近点到第一局部对象包围体i的距离,作为第一局部对象包围体i的半径;确定第二最近点到第一局部对象包围体j的距离,作为第一局部对象包围体j的半径;
确定第一局部对象包围体i的柱体中心线段对应的空间直线与第一局部对象包围体j的柱体中心线段对应的空间直线之间的第二最近点距离;
基于第二最近点距离、第一局部对象包围体i的半径与第一局部对象包围体j的半径,确定第一最近点与第二最近点之间的最近点距离。
其中,筛选模块2304包括:第二获取单元23041以及包围体对确定单元23042;
第二获取单元23041,用于基于空间语义检测结果,从N个第一局部对象包围体中获取所述第一局部对象包围体i和第一局部对象包围体j,确定第一局部对象包围体i和所述第一局部对象包围体j之间的第一最近点距离;
包围体对确定单元23042,用于若第一局部对象包围体i和第一局部对象包围体j之间的第一最近点距离小于交互距离阈值,则将第一局部对象包围体i与第一局部对象包围体j,作为从N个第一局部对象包围体中所筛选出的满足动画重定向策略的第一局部对象包围体对。
其中,有效互动包围体包含第一有效互动包围体和第二有效互动包围体,待传递包围体包含第一待传递包围体和第二待传递包围体;空间语义信息包含第一有效互动包围体和第二有效互动包围体之间的最近点对、第一有效互动包围体的第一空间语义信息以及第二有效互动包围体的第二空间语义信息;传递包围体包含第一传递包围体以及第二传递包围体;第一有效互动包围体和第二有效互动包围体之间的最近点对包含第一有效互动包围体的最近点以及第二有效互动包围体的最近点;
传递模块2306包括位置确定单元23061、传递单元23062和生成单元23063。
位置确定单元23061,用于在第一待传递包围体上确定与第一有效互动包围体的最近点具有相同第一空间语义信息的第一位置点,以及在第二待传递包围体上确定与第二有效互动包围体的最近点具有相同第二空间语义信息的第二位置点;
传递单元23062,用于将第一有效互动包围体的最近点的第一空间语义信息,传递到第一位置点,得到携带第一空间语义信息的第一传递包围体;
传递单元23062,用于将第二有效互动包围体的最近点的第二空间语义信息,传递到第二位置点,得到携带第二空间语义信息的第二传递包围体;
生成单元23063,用于基于携带所述第一空间语义信息的第一传递包围体以及携带第二空间语义信息的第二传递包围体,生成携带所述空间语义信息的传递包围体。
传递模块2306还包括:构建单元23064。
构建单元23064,用于以第一有效互动包围体构建第一坐标系,并将第一坐标系的原点指向第一有效互动包围体的最近点的向量确定为第一有效互动包围体的最近点的局部向量;
生成单元23063,用于基于第一有效互动包围体的最近点的局部向量,生成第一有效互动包围体的第一空间语义信息。
其中,第一有效互动包围体为胶囊体;生成单元23063,包括系数确定子单元230631、投影子单元230632以及信息生成子单元230633:
系数确定子单元230631,用于确定第一有效互动包围体的最近点,在第一局部对象包围体i的轴向量上所对应的比例系数;
投影子单元230632,用于将第一有效互动包围体的局部向量进行投影,得到第一有效互动包围体的最近点的投影向量;
信息生成子单元230633,用于基于第一有效互动包围体的最近点对应的比例系数和投影向量,生成第一有效互动包围体的第一空间语义信息。
其中,获取模块2307包括:效应器确定单元23071、最近点对确定单元23072、估计点确定单元23073、调整向量确定单元23074以及参数生成单元23075。
效应器确定单元23071,用于从包含传递包围体的动画传递目标模型中确定作为末端效应器的第一传递包围体;
最近点对确定单元23072,用于将第一位置点与第二位置点作为第一传递包围体与第二传递包围体之间的第二最近点对;
估计点确定单元23073,用于沿垂直于第一传递包围体表面的方向,对第二最近点对中的第二位置点叠加第一有效互动包围体与第二有效互动包围体之间的最近点距离,得到第二位置点对应的交互估计点;
调整向量确定单元23074,用于基于第二位置点对应的交互估计点、第二最近点对中的第一位置点以及调整权重,确定第一传递包围体的调整向量;
参数生成单元23075,用于基于第一传递包围体的调整向量,生成模型修正参数。
其中,修正模块2308,包括调整单元23081以及修正单元23082;
调整单元23081,用于基于第一传递包围体的调整向量,对动画传递目标模型中的第一传递包围体进行平移调整,得到平移调整后的第一传递包围体;
修正单元23082,用于基于平移调整后的第一传递包围体对动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型。
其中,动画重定向配置界面包含动画传递源模型选项以及动画传递目标模型选项,该装置包括:模型选择模块2310,其中:
模型选择模块2310,用于响应于针对动画传递源模型选项的触发操作,从目标动画数据所包含的多帧动画数据中确定目标帧动画数据,目标帧动画数据中对应待进行空间语义传递与第一对象相关联的动画传递源模型;
模型选择模块2310,用于响应于针对动画传递目标模型选项的触发操作,从传递模型数据库中选择待进行空间语义传递的动画传递目标模型。
其中,动画重定向配置界面包含第一包围体初始选项以及第二包围体初始选项,所述包围体显示模块2302包含初始包围体显示单元23021、解绑单元23022、编辑单元23023;
初始包围体显示单元23021,用于响应于第一包围体初始选项的触发操作,显示与第一对象相关联的N个第一初始局部对象包围体;
解绑单元23022,用于对N个第一初始局部对象包围体与动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体;
编辑单元23023,用于响应于针对解绑后的N个第一初始局部对象包围体的调整操作,对解绑后的N个第一初始局部对象包围体进行调整处理,得到与第一对象相关联的N个第一局部对象包围体,并在动画重定向配置界面上显示与第一对象相关联的N个第一局部对象包围体;
初始包围体显示单元23021,用于响应于第二包围体初始选项的触发操作,显示与第二对象相关联的M个第二初始局部对象包围体;
编辑单元23023,用于响应于针对M个第二初始局部对象包围体的调整操作,对M个第二初始局部对象包围体进行调整处理,得到与第二对象相关联的M个第二局部对象包围体,并在动画重定向配置界面上显示与第二对象相关联的M个第二局部对象包围体;
其中,调整操作包括以下至少一种或多种:缩放操作、移动操作、旋转操作。
在本申请实施例中,为动画传递源模型构建第一局部包围体以及为动画传递目标模型构建第二局部包围体,可以得到与第一对象相关联的N 个第一局部对象包围体以及与第二对象相关联的M个第二局部对象包围体。通过N个第一局部对象包围体可以形成动画传递源模型的空间表达,进而可以对N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于空间语义检测结果从N个第一局部对象包围体中满足动画重定向策略的有效互动包围体,从而将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体中,得到映射包围体,通过直接传递有效互动包围体的空间语义信息节省传递的数据量,在一定程度上可以提升重定向效率;同时,将有效互动包围体的空间语义信息传递到满足动画重定向策略的第二局部对象包围体,意味着本申请实施例能够将映射源模型中的有效交互包围体的空间语义信息较为精确地映射至映射目标模型中的相应第二局部对象包围体中,在动画重定向过程中能够提升空间语义传递的准确度。进一步地,本申请实施例可以根据由空间语义信息确定的模型修正参数来对包含映射包围体的动画传递目标模型进行模型修正处理,得到模型修正后的动画传递目标模型,可以自动化进行模型修正,从而使得该模型修正后的动画传递目标模型的空间语义信息与动画传递源模型的空间语义信息保持一致,在提升了动画重定向效率同时,也可以在动画重定向过程中提升空间语义传递的准确度以及维持空间语义传递的准确性,提升动画传递目标模型和动画传递源模型所呈现的动画数据一致性。
进一步地,请参见图24,图24是本申请实施例提供的一种计算机设备的结构示意图。如图24所示,该计算机设备1000可以为终端设备,例如,上述图1所对应实施例中的终端设备101,还可以为服务器,例如,上述图1所对应实施例中的服务器102,这里将不对其进行限制。为便于理解,本申请以计算机设备为终端设备为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图24所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能。在图24所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行前文图4或者图11所对应实施例中对动画重定向方法的描述,也可执行前文图23所对应实施例中对动画重定向装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的动画重定向装置1所执行的计算机程序,且计算机程序包括计算机指令,当处理器执行计算机指令时,能够执行前文图4或者图11所对应实施例中对动画重定向方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图4或者图11所对应实施例中对动画重定向方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括根据上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (19)
1.一种动画重定向方法,其特征在于,包括:
在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型;
在所述动画重定向配置界面上显示与所述第一对象相关联的N个第一局部对象包围体,以及显示与所述第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象;
对所述N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,并基于所述空间语义检测结果,从所述N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足所述动画重定向策略的第一局部对象包围体对作为所述第一对象的有效互动包围体;
在所述M个第二局部对象包围体中查找满足所述动画重定向策略的第二局部对象包围体,将查找到的满足所述动画重定向策略的第二局部对象包围体作为待传递包围体,在基于所述空间语义检测结果获取到所述有效互动包围体的空间语义信息时,将所述空间语义信息由所述有效互动包围体传递至所述待传递包围体,得到携带所述空间语义信息的传递包围体;
获取由所述空间语义信息确定的模型修正参数,基于所述模型修正参数对包含所述传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,且在所述动画重定向配置界面上显示所述模型修正处理后的动画传递目标模型,所述模型修正处理后的动画传递目标模型的空间语义信息与所述动画传递源模型的空间语义信息保持一致。
2.根据权利要求1所述的方法,其特征在于,所述N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;所述第一局部对象包围体i和所述第一局部对象包围体j为可接触定义表中满足局部接触条件的局部对象包围体;所述可接触定义表是针对所述动画传递源模型所配置的;
所述对所述N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果,包括:
从所述N个第一局部对象包围体所关联的可接触定义表中,获取所述第一局部对象包围体i和所述第一局部对象包围体j;
确定所述第一局部对象包围体i的第一几何属性以及所述第一局部对象包围体j的第二几何属性;
基于所述第一几何属性、所述第二几何属性以及所述局部接触条件所指示的接触关系,确定所述第一局部对象包围体i的第一局部接触面和所述第一局部对象包围体j的第二局部接触面;
基于所述第一局部接触面和所述第二局部接触面,确定所述第一局部对象包围体i与所述第一局部对象包围体j之间的第一最近点对;所述第一最近点对包含在所述第一局部对象包围体i上的第一最近点以及在所述第一局部对象包围体j上的第二最近点;
确定所述第一最近点与所述第二最近点之间的最近点距离,将所述第一最近点与所述第二最近点之间的最近点距离作为所述第一局部对象包围体i与所述第一局部对象包围体j之间的第一最近点距离;
将所述第一最近点对和所述第一最近点距离,作为所述第一局部对象包围体i和所述第一局部对象包围体j之间的空间语义检测结果。
3.根据权利要求2所述的方法,其特征在于,所述第一几何属性与所述第二几何属性均为球体属性;
所述确定所述第一最近点与所述第二最近点之间的最近点距离,包括:
确定所述第一局部对象包围体i和所述第一局部对象包围体j之间的球心距离;
根据所述球心距离、所述第一局部对象包围体i的半径和所述第一局部对象包围体j的半径,确定所述第一最近点与所述第二最近点之间的最近点距离。
4.根据权利要求2所述的方法,其特征在于,所述第一几何属性为球体属性,所述第二几何属性为胶囊体属性;
所述确定所述第一最近点与所述第二最近点之间的最近点距离,包括:
若所述局部接触条件所指示的接触关系包含所述第一局部对象包围体i位于所述第一局部对象包围体j所包含的球体侧面,则基于所述第一局部对象包围体i的球心与所述第一局部对象包围体j之间的球心距离、所述第一局部对象包围体i的半径以及所述第一局部对象包围体j的半径,确定所述第一最近点与所述第二最近点之间的最近点距离。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述局部接触条件所指示的接触关系包含所述第一局部对象包围体i位于所述第一局部对象包围体j所包含的柱体侧面,则基于所述第一局部对象包围体i的球心到所述第一局部对象包围体j所包含的柱体中心线段之间的距离、所述第一局部对象包围体i的半径以及所述第一局部对象包围体j的半径,确定所述第一最近点与所述第二最近点之间的最近点距离。
6.根据权利要求2所述的方法,其特征在于,所述第一几何属性为胶囊体属性,所述第二几何属性为胶囊体属性;所述第一局部对象包围体i包含柱体和球体;所述第一局部对象包围体j包含柱体和球体;
所述确定所述第一最近点与所述第二最近点之间的最近点距离,包括:
若所述局部接触条件所指示的接触关系包含所述第一局部对象包围体i的柱体中心线段不位于所述第一局部对象包围体j所包含的柱体侧面,且所述第一局部对象包围体j的柱体中心线段不位于所述第一局部对象包围体i所包含的柱体侧面,则确定所述第一局部对象包围体i的柱体中心线段与所述第一局部对象包围体j的柱体中心线段之间的最近端点距离;
基于所述最近端点距离、所述第一局部对象包围体i的半径以及所述第一局部对象包围体j的半径,确定所述第一最近点与所述第二最近点之间的最近点距离。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述局部接触条件所指示的接触关系包含所述第一局部对象包围体i和所述第一局部对象包围体j中,任一局部对象包围体的柱体中心线段的目标端点位于另一局部对象包围体的柱体侧面,则确定所述任一局部对象包围体的柱体中心线段的目标端点到所述另一局部对象包围体的柱体中心线段之间的目标距离;
基于所述目标距离、所述第一局部对象包围体i的半径以及所述第一局部对象包围体j的半径,确定所述第一最近点与所述第二最近点之间的最近点距离。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
若所述局部接触条件所指示的接触关系包含所述第一最近点和所述第二最近点分别投影在各自的柱体中心线段上,且处在所述各自的柱体中心线段内,则确定所述第一最近点到所述第一局部对象包围体i的距离,作为第一局部对象包围体i的半径;确定所述第二最近点到所述第一局部对象包围体j的距离,作为第一局部对象包围体j的半径;
确定所述第一局部对象包围体i的柱体中心线段对应的空间直线与所述第一局部对象包围体j的柱体中心线段对应的空间直线之间的第二最近点距离;
基于所述第二最近点距离、所述第一局部对象包围体i的半径与所述第一局部对象包围体j的半径,确定所述第一最近点与所述第二最近点之间的最近点距离。
9.根据权利要求1所述的方法,其特征在于,所述N个第一局部对象包围体包含第一局部对象包围体i和第一局部对象包围体j;i不等于j,且i和j均为小于或者等于N的正整数;所述动画重定向策略包含互动检测策略,所述互动检测策略包含用于进行互动检测的交互距离阈值;
所述基于所述空间语义检测结果,从所述N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,包括:
基于所述空间语义检测结果,从所述N个第一局部对象包围体中获取所述第一局部对象包围体i和所述第一局部对象包围体j,确定所述第一局部对象包围体i和所述第一局部对象包围体j之间的第一最近点距离;
若所述第一局部对象包围体i和所述第一局部对象包围体j之间的第一最近点距离小于所述交互距离阈值,则将所述第一局部对象包围体i与所述第一局部对象包围体j,作为从所述N个第一局部对象包围体中所筛选出的满足所述动画重定向策略的第一局部对象包围体对。
10.根据权利要求1所述的方法,其特征在于,所述有效互动包围体包含第一有效互动包围体和第二有效互动包围体,所述待传递包围体包含第一待传递包围体和第二待传递包围体;所述空间语义信息包含所述第一有效互动包围体和所述第二有效互动包围体之间的最近点对、所述第一有效互动包围体的第一空间语义信息以及所述第二有效互动包围体的第二空间语义信息;所述传递包围体包含第一传递包围体以及第二传递包围体;所述第一有效互动包围体和所述第二有效互动包围体之间的最近点对包含所述第一有效互动包围体的最近点以及所述第二有效互动包围体的最近点;
所述将所述空间语义信息由所述有效互动包围体传递至所述待传递包围体,得到携带所述空间语义信息的传递包围体,包括:
在所述第一待传递包围体上确定与所述第一有效互动包围体的最近点具有相同所述第一空间语义信息的第一位置点,以及在所述第二待传递包围体上确定与所述第二有效互动包围体的最近点具有相同所述第二空间语义信息的第二位置点;
将所述第一有效互动包围体的最近点的第一空间语义信息,传递到所述第一位置点,得到携带所述第一空间语义信息的第一传递包围体;
将所述第二有效互动包围体的最近点的第二空间语义信息,传递到所述第二位置点,得到携带所述第二空间语义信息的第二传递包围体;
基于所述携带所述第一空间语义信息的第一传递包围体以及携带所述第二空间语义信息的第二传递包围体,生成携带所述空间语义信息的传递包围体。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
以所述第一有效互动包围体构建第一坐标系,并将所述第一坐标系的原点指向所述第一有效互动包围体的最近点的向量确定为所述第一有效互动包围体的最近点的局部向量;
基于所述第一有效互动包围体的最近点的局部向量,生成所述第一有效互动包围体的第一空间语义信息。
12.根据权利要求11所述的方法,其特征在于,所述第一有效互动包围体为胶囊体;
所述基于所述第一有效互动包围体的最近点的局部向量,生成所述第一有效互动包围体的第一空间语义信息,包括:
确定所述第一有效互动包围体的最近点,在所述第一局部对象包围体i的轴向量上所对应的比例系数;
将所述第一有效互动包围体的局部向量进行投影,得到所述第一有效互动包围体的最近点的投影向量;
基于所述第一有效互动包围体的最近点对应的所述比例系数和所述投影向量,生成所述第一有效互动包围体的第一空间语义信息。
13.根据权利要求10所述的方法,其特征在于,所述获取由所述空间语义信息确定的模型修正参数,包括:
从所述包含传递包围体的动画传递目标模型中确定作为末端效应器的所述第一传递包围体;
将所述第一位置点与所述第二位置点作为所述第一传递包围体与所述第二传递包围体之间的第二最近点对;
沿垂直于所述第一传递包围体表面的方向,对所述第二最近点对中的第二位置点叠加所述第一有效互动包围体与所述第二有效互动包围体之间的最近点距离,得到所述第二位置点对应的交互估计点;
基于所述第二位置点对应的交互估计点、所述第二最近点对中的所述第一位置点以及调整权重,确定所述第一传递包围体的调整向量;
基于所述第一传递包围体的调整向量,生成模型修正参数。
14.根据权利要求13所述的方法,其特征在于,所述基于所述模型修正参数对包含所述传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型,包括:
基于所述第一传递包围体的调整向量,对所述动画传递目标模型中的第一传递包围体进行平移调整,得到平移调整后的第一传递包围体;
基于所述平移调整后的第一传递包围体对所述动画传递目标模型进行模型修正,得到模型修正处理后的动画传递目标模型。
15.根据权利要求1所述的方法,其特征在于,所述动画重定向配置界面包含动画传递源模型选项以及动画传递目标模型选项,所述方法还包括:
响应于针对所述动画传递源模型选项的触发操作,从目标动画数据所包含的多帧动画数据中确定目标帧动画数据,所述目标帧动画数据对应待进行空间语义传递与第一对象相关联的动画传递源模型;
响应于针对所述动画传递目标模型选项的触发操作,从传递模型数据库中选择待进行空间语义传递的动画传递目标模型。
16.根据权利要求1所述的方法,其特征在于,所述动画重定向配置界面包含第一包围体初始选项以及第二包围体初始选项;
所述在所述动画重定向配置界面上显示与所述第一对象相关联的N个第一局部对象包围体,以及显示与所述第二对象相关联的M个第二局部对象包围体,包括:
响应于所述第一包围体初始选项的触发操作,显示与第一对象相关联的N个第一初始局部对象包围体,对所述N个第一初始局部对象包围体与所述动画传递源模型进行解绑处理,得到解绑后的N个第一初始局部对象包围体;
响应于针对所述解绑后的N个第一初始局部对象包围体的调整操作,对所述解绑后的N个第一初始局部对象包围体进行调整处理,得到与所述第一对象相关联的N个第一局部对象包围体,并在所述动画重定向配置界面上显示与所述第一对象相关联的N个第一局部对象包围体;
响应于所述第二包围体初始选项的触发操作,显示与第二对象相关联的M个第二初始局部对象包围体;响应于针对所述M个第二初始局部对象包围体的调整操作,对所述M个第二初始局部对象包围体进行调整处理,得到与所述第二对象相关联的M个第二局部对象包围体,并在所述动画重定向配置界面上显示与所述第二对象相关联的M个第二局部对象包围体;
其中,所述调整操作包括以下至少一种或多种:缩放操作、移动操作、旋转操作。
17.一种动画重定向装置,其特征在于,包括:
第一模型显示模块,用于在动画重定向配置界面上显示与第一对象相关联的动画传递源模型和与第二对象相关联的动画传递目标模型;
包围体显示模块,用于在所述动画重定向配置界面上显示与所述第一对象相关联的N个第一局部对象包围体,以及显示与所述第二对象相关联的M个第二局部对象包围体;N和M均为正整数;一个第一局部对象包围体包含第一对象的一个局部对象;一个第二局部对象包围体包含第二对象的一个局部对象;
检测模块,用于对所述N个第一局部对象包围体进行空间语义检测,得到空间语义检测结果;
筛选模块,用于基于所述空间语义检测结果,从所述N个第一局部对象包围体中筛选满足动画重定向策略的第一局部对象包围体对,将筛选出的满足所述动画重定向策略的第一局部对象包围体对作为所述第一对象的有效互动包围体;
查找模块,用于在所述M个第二局部对象包围体中查找满足所述动画重定向策略的第二局部对象包围体,将查找到的满足所述动画重定向策略的第二局部对象包围体作为待传递包围体;
传递模块,用于在基于所述空间语义检测结果获取到所述有效互动包围体的空间语义信息时,将所述空间语义信息由所述有效互动包围体传递至所述待传递包围体,得到携带所述空间语义信息的传递包围体;
获取模块,用于获取由所述空间语义信息确定的模型修正参数;
修正模块,用于基于所述模型修正参数对包含所述传递包围体的动画传递目标模型进行模型修正处理,得到模型修正处理后的动画传递目标模型;
第二模型显示模块,用于在所述动画重定向配置界面上显示所述模型修正处理后的动画传递目标模型,所述模型修正处理后的动画传递目标模型的空间语义信息与所述动画传递源模型的空间语义信息保持一致。
18.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-16任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-16任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321008.7A CN116012497B (zh) | 2023-03-29 | 2023-03-29 | 动画重定向方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321008.7A CN116012497B (zh) | 2023-03-29 | 2023-03-29 | 动画重定向方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116012497A true CN116012497A (zh) | 2023-04-25 |
CN116012497B CN116012497B (zh) | 2023-05-30 |
Family
ID=86025296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310321008.7A Active CN116012497B (zh) | 2023-03-29 | 2023-03-29 | 动画重定向方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116012497B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215987A1 (en) * | 2003-03-25 | 2006-09-28 | Jobst Horentrup | Method for representing animated menu buttons |
CN101216949A (zh) * | 2008-01-14 | 2008-07-09 | 浙江大学 | 一种基于区域分割和分段学习的三维人脸动画制作的方法 |
CN102855652A (zh) * | 2012-08-10 | 2013-01-02 | 大连大学 | 基于测地距的径向基函数人脸表情重定向与动画方法 |
CN103279971A (zh) * | 2013-06-06 | 2013-09-04 | 中国科学院计算技术研究所 | 一种运动风格重定向方法和系统 |
CN103530897A (zh) * | 2013-09-30 | 2014-01-22 | 华为软件技术有限公司 | 运动重定向处理方法及装置 |
CN104183000A (zh) * | 2014-08-14 | 2014-12-03 | 合肥工业大学 | 类人角色全自动多源异构运动重定向方法 |
CN106023288A (zh) * | 2016-05-18 | 2016-10-12 | 浙江大学 | 一种基于图像的动态替身构造方法 |
US9576377B1 (en) * | 2012-02-24 | 2017-02-21 | James Yett | Individually angled mirror array system specialty effects |
CN108122266A (zh) * | 2017-12-20 | 2018-06-05 | 成都卓杭网络科技股份有限公司 | 一种缓存骨骼动画渲染纹理的方法、装置和存储介质 |
CN113781615A (zh) * | 2021-09-28 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种动画生成方法、装置、设备、存储介质及程序产品 |
CN114581565A (zh) * | 2022-02-17 | 2022-06-03 | 南方电网数字电网研究院有限公司 | 动画路径可视化编辑方法、装置、计算机设备、存储介质 |
CN115393482A (zh) * | 2022-08-08 | 2022-11-25 | 网易(杭州)网络有限公司 | 一种表情动画重定向方法、装置及电子设备 |
CN115683129A (zh) * | 2023-01-04 | 2023-02-03 | 苏州尚同墨方智能科技有限公司 | 一种基于高清地图的长期重定位方法和装置 |
-
2023
- 2023-03-29 CN CN202310321008.7A patent/CN116012497B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215987A1 (en) * | 2003-03-25 | 2006-09-28 | Jobst Horentrup | Method for representing animated menu buttons |
CN101216949A (zh) * | 2008-01-14 | 2008-07-09 | 浙江大学 | 一种基于区域分割和分段学习的三维人脸动画制作的方法 |
US9576377B1 (en) * | 2012-02-24 | 2017-02-21 | James Yett | Individually angled mirror array system specialty effects |
CN102855652A (zh) * | 2012-08-10 | 2013-01-02 | 大连大学 | 基于测地距的径向基函数人脸表情重定向与动画方法 |
CN103279971A (zh) * | 2013-06-06 | 2013-09-04 | 中国科学院计算技术研究所 | 一种运动风格重定向方法和系统 |
CN103530897A (zh) * | 2013-09-30 | 2014-01-22 | 华为软件技术有限公司 | 运动重定向处理方法及装置 |
CN104183000A (zh) * | 2014-08-14 | 2014-12-03 | 合肥工业大学 | 类人角色全自动多源异构运动重定向方法 |
CN106023288A (zh) * | 2016-05-18 | 2016-10-12 | 浙江大学 | 一种基于图像的动态替身构造方法 |
CN108122266A (zh) * | 2017-12-20 | 2018-06-05 | 成都卓杭网络科技股份有限公司 | 一种缓存骨骼动画渲染纹理的方法、装置和存储介质 |
CN113781615A (zh) * | 2021-09-28 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种动画生成方法、装置、设备、存储介质及程序产品 |
CN114581565A (zh) * | 2022-02-17 | 2022-06-03 | 南方电网数字电网研究院有限公司 | 动画路径可视化编辑方法、装置、计算机设备、存储介质 |
CN115393482A (zh) * | 2022-08-08 | 2022-11-25 | 网易(杭州)网络有限公司 | 一种表情动画重定向方法、装置及电子设备 |
CN115683129A (zh) * | 2023-01-04 | 2023-02-03 | 苏州尚同墨方智能科技有限公司 | 一种基于高清地图的长期重定位方法和装置 |
Non-Patent Citations (1)
Title |
---|
赵美荣: "基于虚拟手交互技术的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 08, pages 138 - 1381 * |
Also Published As
Publication number | Publication date |
---|---|
CN116012497B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7176012B2 (ja) | オブジェクト・モデリング動作方法及び装置並びにデバイス | |
JP7249390B2 (ja) | 単眼カメラを用いたリアルタイム3d捕捉およびライブフィードバックのための方法およびシステム | |
CN109636831B (zh) | 一种估计三维人体姿态及手部信息的方法 | |
US10679046B1 (en) | Machine learning systems and methods of estimating body shape from images | |
CN109035373B (zh) | 三维特效程序文件包的生成及三维特效生成方法与装置 | |
CN110019766B (zh) | 知识图谱的展示方法、装置、移动终端及可读存储介质 | |
CN107590708B (zh) | 一种生成用户特定体形模型的方法和装置 | |
US10839586B1 (en) | Single image-based real-time body animation | |
US20240070986A1 (en) | External mesh with vertex attributes | |
CN113496507A (zh) | 一种人体三维模型重建方法 | |
CN109144252B (zh) | 对象确定方法、装置、设备和存储介质 | |
WO2023039462A1 (en) | Body fitted accessory with physics simulation | |
US20210312662A1 (en) | Generating body pose information | |
CN109509241A (zh) | 角色动画中基于四元数的骨骼重定向方法 | |
WO2023226454A1 (zh) | 商品信息处理方法、装置、终端设备及存储介质 | |
CN115984447B (zh) | 图像渲染方法、装置、设备和介质 | |
CN112233222A (zh) | 基于神经网络关节点估计的人体参数化三维模型变形方法 | |
CN114742925A (zh) | 虚拟对象的蒙皮方法、装置、电子设备和存储介质 | |
US9652879B2 (en) | Animation of a virtual object | |
US11430168B2 (en) | Method and apparatus for rigging 3D scanned human models | |
Schönauer et al. | Wide area motion tracking using consumer hardware | |
CN116012497B (zh) | 动画重定向方法、装置、设备及介质 | |
WO2023284634A1 (zh) | 一种数据处理方法及相关设备 | |
CN116485953A (zh) | 数据处理方法、装置、设备和可读存储介质 | |
CN114638744A (zh) | 人体姿态迁移方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40084957 Country of ref document: HK |