虚拟对象的运动方法、装置、介质及电子设备制造方法及图纸

技术编号:39181854 阅读:6 留言:0更新日期:2023-10-27 08:29
本公开涉及一种虚拟对象的运动方法、装置、介质及电子设备,所述方法包括:获取虚拟场景中进行变换处理对应的目标对象集;确定变换处理对应的变换步数;在每一变换步数对应的变换中,根据树结构确定目标对象集中的待更新的更新虚拟对象,并确定更新虚拟对象在变换中的运动参数的变换量,更新虚拟对象初始为根节点对应的虚拟对象;基于变换步数下的变换量,对运动参数的参数值进行更新;若在目标对象集的树结构中、更新虚拟对象存在下一层级的虚拟对象,则根据该下一层级的虚拟对象确定新的更新虚拟对象,并返回执行确定更新虚拟对象在变换中的运动参数的变换量的步骤,直至目标对象集中的每一虚拟对象对应的运动参数进行变换。中的每一虚拟对象对应的运动参数进行变换。中的每一虚拟对象对应的运动参数进行变换。

【技术实现步骤摘要】
虚拟对象的运动方法、装置、介质及电子设备


[0001]本公开涉及计算机
,具体地,涉及一种虚拟对象的运动方法、装置、介质及电子设备。

技术介绍

[0002]在网络游戏中,经常需要对虚拟场景中的虚拟对象的运动Transform进行变换,比如将虚拟对象绕自身坐标系的X轴进行顺时针旋转30度,该运动的变化可以是瞬间完成的,且可以通过游戏引擎的相关函数确定。如果该运动的变换需要持续一定时长,相关技术中则可以中间过程进行插值,以保证变换的连续性。
[0003]如游戏场景中,进行运动变换的虚拟对象包含父对象和其子对象,如存在父对象和子对象同时进行旋转,如场景中包含太阳元素和地球元素,地球元素为太阳元素的子对象,示例地,该场景下子对象的朝向不仅受自转的影响同时受绕父对象公转的影响。现有的游戏场景中,大多数限制在同一时刻作用在虚拟对象上的运动的变换只能有一个,因为多个变换同时作用时,虚拟对象的运动的最终结果具有不可预测性,因而也无法确定其在中间时刻的变换的中间值。

技术实现思路

[0004]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005]第一方面,本公开提供一种虚拟对象的运动方法,所述方法包括:
[0006]获取虚拟场景中进行变换处理对应的目标对象集,其中,所述目标对象集中包括在所述虚拟场景中的关联变换的虚拟对象以及每一所述虚拟对象的变换信息,所述目标对象集中的各个虚拟对象以树结构存储;
[0007]确定所述变换处理对应的变换步数;
[0008]在每一所述变换步数对应的变换中,根据所述树结构确定所述目标对象集中的待更新的更新虚拟对象,并确定所述更新虚拟对象在所述变换中的运动参数的变换量,其中,所述更新虚拟对象初始为根节点对应的虚拟对象;
[0009]基于所述变换步数下的变换量,对所述运动参数的参数值进行更新;
[0010]若在所述目标对象集的树结构中、所述更新虚拟对象存在下一层级的虚拟对象,则根据该下一层级的虚拟对象确定新的更新虚拟对象,并返回执行所述确定所述更新虚拟对象在所述变换中的运动参数的变换量的步骤,直至所述目标对象集中的每一虚拟对象对应的运动参数进行变换。
[0011]第二方面,本公开提供一种虚拟对象的运动装置,所述装置包括:
[0012]获取模块,用于获取虚拟场景中进行变换处理对应的目标对象集,其中,所述目标对象集中包括在所述虚拟场景中的关联变换的虚拟对象以及每一所述虚拟对象的变换信
息,所述目标对象集中的各个虚拟对象以树结构存储;
[0013]第一确定模块,用于确定所述变换处理对应的变换步数;
[0014]第二确定模块,用于在每一所述变换步数对应的变换中,根据所述树结构确定所述目标对象集中的待更新的更新虚拟对象,并确定所述更新虚拟对象在所述变换中的运动参数的变换量,其中,所述更新虚拟对象初始为根节点对应的虚拟对象;
[0015]更新模块,用于基于所述变换步数下的变换量,对所述运动参数的参数值进行更新;
[0016]第三确定模块,用于若在所述目标对象集的树结构中、所述更新虚拟对象存在下一层级的虚拟对象,则根据该下一层级的虚拟对象确定新的更新虚拟对象,并触发所述第二确定模块确定所述更新虚拟对象在所述变换中的运动参数的变换量,直至所述目标对象集中的每一虚拟对象对应的运动参数进行变换。
[0017]第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
[0018]第四方面,本公开提供一种电子设备,包括:
[0019]存储装置,其上存储有计算机程序;
[0020]处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方法的步骤。
[0021]在上述技术方案中,获取虚拟场景中进行变换处理对应的目标对象集,针对变换处理可以将其切分为分步更新的方式,以确定所述变换处理对应的变换步数。之后在每一步变换中,以根节点的虚拟对象开始通过逐层级的更新方式对目标对象集中的虚拟对象的运动参数进行变换,以实现目标对象集中的虚拟对象运动的变换。由此,本公开中可以在同一时刻对同一虚拟对象的运动的变换处理进行叠加,无需限制变换的数量,从而可以实现更复杂的变换效果。同时由于使用按目标对象集中的虚拟对象同步、且关联变换的虚拟对象之间固定顺序和固定步长进行变换模拟的方式,可以使得在多个客户端可以模拟出与服务端一致的变换结果,使得本公开的方法可以应用于状态同步的游戏应用中,也可以获得如同帧同步一样的准确性。客户端也可以基于目标对象集中的关联变换提前预测虚拟对象的Transform变换,无需等待服务器计算完成后发送的快照信息,也可以有效降低网络延时带来的影响。另外,可以基于该目标对象集中的虚拟对象运动的变换自动实现各个客户端之间的变换同步,有效节省大量中间快照的更新,从而极大的减少网络带宽的使用。
[0022]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0023]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
[0024]图1是基于本公开的一种实施方式提供的虚拟对象的运动方法的流程示意图。
[0025]图2是关联变换的虚拟对象之间的示意图。
[0026]图3是基于本公开的一种实施方式提供的对象树的示意图。
[0027]图4是基于本公开的一种实施方式提供的虚拟对象的运动装置的框图。
[0028]图5示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
[0029]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0030]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0031]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0032]需要注意,本公开中提及的“第一”、“第二”等概念本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟对象的运动方法,其特征在于,所述方法包括:获取虚拟场景中进行变换处理对应的目标对象集,其中,所述目标对象集中包括在所述虚拟场景中的关联变换的虚拟对象以及每一所述虚拟对象的变换信息,所述目标对象集中的各个虚拟对象以树结构存储;确定所述变换处理对应的变换步数;在每一所述变换步数对应的变换中,根据所述树结构确定所述目标对象集中的待更新的更新虚拟对象,并确定所述更新虚拟对象在所述变换中的运动参数的变换量,其中,所述更新虚拟对象初始为根节点对应的虚拟对象;基于所述变换步数下的变换量,对所述运动参数的参数值进行更新;若在所述目标对象集的树结构中、所述更新虚拟对象存在下一层级的虚拟对象,则根据该下一层级的虚拟对象确定新的更新虚拟对象,并返回执行所述确定所述更新虚拟对象在所述变换中的运动参数的变换量的步骤,直至所述目标对象集中的每一虚拟对象对应的运动参数进行变换。2.根据权利要求1所述的方法,其特征在于,所述确定所述变换处理对应的变换步数,包括:获取所述目标对象集的虚拟对象的最近显示帧对应的第一时刻,以及所述目标对象集中的虚拟对象的待显示帧对应的第二时刻;根据所述第一时刻、所述第二时刻和变换步长,确定所述变换步数。3.根据权利要求1所述的方法,其特征在于,所述变换包括多个子变换,所述确定所述更新虚拟对象在所述变换中的运动参数的变换量,包括:针对每一所述子变换,确定所述更新虚拟对象在所述子变换中的运动参数的变换值;基于所述变换值与上一变换步数对应的变换值,确定所述运动参数的变换量。4.根据权利要求1所述的方法,其特征在于,所述变换包括局部变换和世界变换;所述基于所述变换步数下的变换量,对所述运动参数的参数值进行更新,包括:基于所述变换步数下的变换量,在更新虚拟对象对应的局部坐标系中进行局部变换,获得所述更新虚拟对象的运动参数的局部变换值;基于所述变换步数下的变换量和所述运动参数的局部变换值,在所述更新虚拟对象对应的世界坐标系中进行世界变换,以获得所述运动参数的目标值,其中,所述目标值包含所述运动参数在所述局部坐标系和所述世界坐标系中的值。5.根据权利要求4所述的方法,其特征在于,所述基于所述变换步数下的变换量和所述运动参数的局部变换值,在所述更新虚拟对象对应的世界坐标系中进行世界变换,以获得所述运动参数的目标值,包括:基于所述变换步数下的所述世界变换的变换量和所述运动参数的局部变换值,在所述更新虚拟对象的世界坐标系中进行世界变换,获得在所述世界坐标系下所述运动参数的目标值;基于所述世界坐标系下所述运动参数的目标值,确定所述局部坐标系下所述运...

【专利技术属性】
技术研发人员:杨臣金士杰
申请(专利权)人:抖音视界有限公司
类型:发明
国别省市:

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

1