一种虚拟对象定位方法、装置、计算设备及存储介质制造方法及图纸

技术编号:21608269 阅读:14 留言:0更新日期:2019-07-13 19:10
本说明书提供一种虚拟对象定位方法、装置、计算设备及存储介质,其中所述方法包括:确定虚拟场景中存在位置关系的至少两个虚拟对象;根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级;根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列;根据所述计算执行序列创建所述虚拟对象的级联骨骼动画,基于所述骨骼动画确定每个所述虚拟对象在所述虚拟场景中的位置信息。

A Virtual Object Location Method, Device, Computing Device and Storage Media

【技术实现步骤摘要】
一种虚拟对象定位方法、装置、计算设备及存储介质
本说明书涉及互联网
,特别涉及一种虚拟对象定位方法、装置、计算设备及存储介质。
技术介绍
在虚拟场景中存在具有相互位置关系的多个虚拟对象在运动过程中相互依赖的情况,但是,目前现有技术的计算机图形计算方法未能考虑多个虚拟对象之间的相互关联又相互依赖的位置关系,目前现有技术一般使用前向动力学的方式,从骨骼动画的根骨骼向子骨骼层级递归从而计算每个虚拟对象的位置信息,如此的分割考虑计算方式无法满足一些虚拟场景的实际需求,从而出现失真的现象。
技术实现思路
有鉴于此,本说明书实施例提供了一种虚拟对象定位方法、装置、计算设备及存储介质,以解决现有技术中存在的技术缺陷。根据本说明书实施例的第一方面,提供了一种虚拟对象定位方法,包括:确定虚拟场景中存在位置关系的至少两个虚拟对象;根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级;根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列;根据所述计算执行序列创建所述虚拟对象的级联骨骼动画,基于所述级联骨骼动画确定所述虚拟对象的受限信息,并基于所述虚拟对象的受限信息和所述级联骨骼动画获取每个所述虚拟对象在所述虚拟场景中的位置信息。根据本说明书实施例的第二方面,提供了一种虚拟对象定位装置,包括:虚拟对象捕捉模块,被配置为确定虚拟场景中存在位置关系的至少两个虚拟对象;第一排序模块,被配置为根据所述虚拟对象之间的相对位置关系为所述虚拟对象匹配对应的骨骼层级;第二排序模块,被配置为根据位于同一所述骨骼层级内的所述虚拟对象之间的相对位置关系,对位于同一所述骨骼层级内的所述虚拟对象设置优先级;执行序列确定模块,被配置为根据所述骨骼层级的排序和每层所述骨骼层级内的所述虚拟对象的优先级,确定所述至少两个虚拟对象的计算执行序列;模型建立模块,被配置为根据所述计算执行序列创建所述虚拟对象的级联骨骼动画,基于所述级联骨骼动画确定所述虚拟对象的受限信息,并基于所述虚拟对象的受限信息和所述级联骨骼动画获取每个所述虚拟对象在所述虚拟场景中的位置信息。根根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述虚拟对象定位方法的步骤。根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述虚拟对象定位方法的步骤。本说明书实施例中,通过将据虚拟场景中的多个虚拟对象构造骨骼动画,并根据多个虚拟对象之间的相互位置关系将虚拟对象设置为骨骼动画的各级节点,同时,通过对多个虚拟对象设置骨骼层级并在同一骨骼层级中对虚拟对象设置优先级,从而控制了在骨骼动画遍历各级节点的次序,使用向前动力学解决了逆向动力学才能解决的部分问题,方便了物理系统取得虚拟对象的受限信息,能够更加真实可靠地反应出各个虚拟对象之间的相对位置关系,避免骨骼动画在播放时出现失真的问题。附图说明图1是本申请实施例提供的计算设备的结构框图;图2是本申请实施例提供的虚拟对象定位方法的流程图;图3是本申请实施例提供的虚拟对象定位方法的流程图;图4是本申请实施例提供的虚拟对象定位方法的流程图;图5是本申请实施例提供的虚拟对象定位方法的流程图;图6是本申请实施例提供的虚拟对象定位方法的流程图;图7是本申请实施例提供的级联骨骼动画的示意图;图8是本申请实施例提供的虚拟对象定位方法的流程图;图9是本申请实施例提供的虚拟对象定位方法的流程图;图10是本申请实施例提供的虚拟对象定位装置的结构示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先,对本申请一个或多个实施例涉及的名词术语进行解释。骨骼框架:又称骨架,是由一个根骨骼衍生出一个或多个子骨骼,每个子骨骼也同样可以衍生出一个或多个子骨骼,如此逐层向下所组成的一个树状结构的骨架。级联骨骼框架:级联骨骼框架为多个骨骼框架组成的骨骼树,作为子骨架的骨骼框架通过其根骨骼挂接到作为父骨架的骨骼框架上。级联骨骼动画:级联骨骼动画记录的是每个关键帧对应的每根子骨骼相对于根骨骼的偏移矩阵。本地偏移矩阵:子骨骼相对于其父骨骼的偏移矩阵。骨骼初始变换矩阵:美工人员在模型制作的时候生成的模型基准动作的骨骼矩阵,使用本地偏移矩阵的形式保存。权重:对同一级子骨骼中的多个虚拟对象的优先级程度的考量标准,取决于虚拟场景的具体情况或人工的选择。骨骼信息:包含有子骨骼相对于父骨骼的偏移矩阵的信息。在本申请中,提供了一种虚拟对象定位方法、装置、计算设备及存储介质,在下面的实施例中逐一进行详细说明。图1示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、本文档来自技高网...

【技术保护点】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1