【技术实现步骤摘要】
一种虚拟对象定位方法、装置、计算设备及存储介质
本说明书涉及互联网
,特别涉及一种虚拟对象定位方法、装置、计算设备及存储介质。
技术介绍
在虚拟场景中存在具有相互位置关系的多个虚拟对象在运动过程中相互依赖的情况,但是,目前现有技术的计算机图形计算方法未能考虑多个虚拟对象之间的相互关联又相互依赖的位置关系,目前现有技术一般使用前向动力学的方式,从骨骼动画的根骨骼向子骨骼层级递归从而计算每个虚拟对象的位置信息,如此的分割考虑计算方式无法满足一些虚拟场景的实际需求,从而出现失真的现象。
技术实现思路
有鉴于此,本说明书实施例提供了一种虚拟对象定位方法、装置、计算设备及存储介质,以解决现有技术中存在的技术缺陷。根据本说明书实施例的第一方面,提供了一种虚拟对象定位方法,包括:确定虚拟场景中存在位置关系的至少两个虚拟对象;根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级;根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列;根据所述计算执行序列创建所述虚拟对象的级联骨骼动画,基于所述级联骨骼动画确定所述虚拟对象的受限信息,并基于所述虚拟对象的受限信息和所述级联骨骼动画获取每个所述虚拟对象在所述虚拟场景中的位置信息。根据本说明书实施例的第二方面,提供了一种虚拟对象定位装置,包括:虚拟对象捕捉模块,被配置为确定虚拟场景中存在位置关系的至少两个虚拟对象;第一排序模块,被配置为根据所述虚拟对象之间 ...
【技术保护点】
1.一种虚拟对象定位方法,其特征在于,包括:确定虚拟场景中存在位置关系的至少两个虚拟对象;根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级;根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列;根据所述计算执行序列创建所述虚拟对象的级联骨骼动画,基于所述级联骨骼动画确定所述虚拟对象的受限信息,并基于所述虚拟对象的受限信息和所述级联骨骼动画获取每个所述虚拟对象在所述虚拟场景中的位置信息。
【技术特征摘要】
1.一种虚拟对象定位方法,其特征在于,包括:确定虚拟场景中存在位置关系的至少两个虚拟对象;根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级;根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列;根据所述计算执行序列创建所述虚拟对象的级联骨骼动画,基于所述级联骨骼动画确定所述虚拟对象的受限信息,并基于所述虚拟对象的受限信息和所述级联骨骼动画获取每个所述虚拟对象在所述虚拟场景中的位置信息。2.根据权利要求1所述的方法,其特征在于,包括n个虚拟对象,其中,n为正整数,n大于等于2;根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级包括:步骤S11、根据第i个所述虚拟对象在所述虚拟场景中的世界位置以及动力学原理,确定所述第i个所述虚拟对象与其它的所述虚拟对象的相对位置和第i个所述虚拟对象对应的骨骼层级,其中,1≤i≤n;步骤S12、将i自增1,判断自增1后的i是否大于n,若是,则结束,若否,继续执行步骤S11。3.根据权利要求1所述的方法,其特征在于,根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级包括:获取位于同一所述骨骼层级内的所述虚拟对象的数量m,其中,m为大于等于1的正整数;判断位于同一所述骨骼层级内的所述虚拟对象的数量m是否为1;在所述虚拟对象的数量m不为1的情况下,根据虚拟场景确定位于同一所述骨骼层级内的每个虚拟对象的在所述虚拟场景中的权重;根据所述虚拟对象的权重由高到低对所述虚拟对象设置优先级;在所述虚拟对象的数量m等于1的情况下,将所述虚拟对象设置为默认优先级。4.根据权利要求1所述的方法,其特征在于,根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列包括:从所述骨骼层级的最底层开始,依次遍历所有骨骼层级得到骨骼层级序列并确定每个所述骨骼层级中的所述虚拟对象的个数;根据每层所述骨骼层级内的所述虚拟对象的优先级获取每层的所述虚拟对象的优先处理序列;根据所述骨骼层级序列和每层的所述虚拟对象的优先处理序列,确定所述至少两个虚拟对象的计算执行序列。5.根据权利要求1所述的方法,其特征在于,所述级联骨骼动画包括根骨骼和从所述根骨骼延伸出的至少一级子骨骼;根据所述计算执行序列创建所述虚拟对象的级联骨骼动画包括:获取所述虚拟对象的骨骼框架;根据所述骨骼层级序列将所述虚拟对象的骨骼框架设置为所述级联骨骼动画对应的根骨骼或子骨骼;根据所述虚拟对象的优先处理序列,为位于同一级子骨骼的所述虚拟对象设置调整优先级;根据所述至少两个虚拟对象的计算执行序列,对所述级联骨骼动画的骨骼信息进行排序,得到骨骼信息序列;根据所述骨骼信息序列运行所述级联骨骼动画。6.根据权利要求5所述的方法,其特征在于,包括j级子骨骼,其中,j为正整数,j大于等于2;基于所述级联骨骼动画确定所述虚拟对象的受限信息包括:步骤S21、根据所述根骨骼对应的虚拟对象的骨骼框架,确定所述根骨骼对应的虚拟对象的运动范围;步骤S22、获取第1级子骨骼对应的虚拟对象,根据所述根骨骼对应的虚拟对象的运动范围确定所述第1级子骨骼对应的虚拟对象的运动范围;步骤S23、获取第k级子骨骼对应的虚拟对象,根据所述第k-1级子骨骼对应的虚拟对象的运动范围确定所述第k级子骨骼对应的虚拟对象的运动范围,其中,2≤k≤j;步骤S24、将k自增1,判断自增1后的k是否大于j,若是,则结束,若否,继续执行步骤S23。7.根据权利要求5所述的方法,其特征在于,基于所述虚拟对象的受限信息和所述级联骨骼动画获取每个所述虚拟对象在所述虚拟场景中的位置信息包括:根据所述虚拟对象在所述虚拟场景中的位置,设置每级所述子骨骼的骨骼初始变换矩阵;根据所述级联骨骼动画的骨骼信息,并按照所述骨骼信息序列遍历所述级联骨骼动画,计算出每级子骨骼的本地偏移矩阵;按照所述骨骼信息序列遍历所述级联骨骼动画,根据每级子骨骼的骨骼初始变换矩阵、每级子骨骼的本地偏移矩阵和每级子骨骼的父骨骼的世界矩阵,计算出每级子骨骼的世界矩阵;根据所述根骨骼的世界矩阵、每级子骨骼的世界矩阵和所述虚拟对象的受限信息,获取每个所述虚拟对象在所述虚拟场景中的位置信息。8.一种虚拟对象定位装置,其特征在于,包括:虚拟对象捕捉模块,被配置为确定虚拟场景中存在位置关系的至少两个虚拟对象;第一排序模块,被配置为根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;第二排序模...
【专利技术属性】
技术研发人员:赵博强,
申请(专利权)人:珠海金山网络游戏科技有限公司,广州西山居世游网络科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。