虚拟场景中的物体移动控制方法、装置、终端及存储介质制造方法及图纸

技术编号:21843744 阅读:20 留言:0更新日期:2019-08-13 22:40
本申请公开了一种虚拟场景中的物体移动控制方法、装置、终端及存储介质,属于计算机技术领域。所述方法包括:计算目标物体在液体对象中的浸入体积;获取浸入体积对应的几何中心;根据浸入体积和浸入体积对应的几何中心,计算液体对象对目标物体产生的作用力信息;根据作用力信息和目标物体的动力引擎提供的驱动力信息,控制目标物体在液体对象中移动。由于目标物体在液体对象中受到的作用力是根据浸入体积计算得到的,相对于相关技术提供的基于入水面片的积分方法,浸入体积的计算相对更为简单,因此能够简化物体在液体中物理运动模拟的计算复杂度,减少计算量。

Object movement control methods, devices, terminals and storage media in virtual scenes

【技术实现步骤摘要】
虚拟场景中的物体移动控制方法、装置、终端及存储介质
本申请实施例涉及计算机
,特别涉及一种虚拟场景中的物体移动控制方法、装置、终端及存储介质。
技术介绍
目前,一些游戏提供的虚拟场景中,玩家控制的虚拟角色可以驾驶船舶在湖泊、河流等水域中行驶。为了尽可能逼真地模拟传播在水中的移动,需要计算船舶在水中受到的作用力(如浮力),然后结合船舶的动力引擎给船舶施加的驱动力,控制船舶在水中移动。在相关技术中,提供了一种基于入水面片的积分方法,利用流体力学推导出船舶在水中受到的作用力。其中,入水面片是指船舶浸入在水中的面片。上述相关技术提供的基于入水面片的积分方法,需要计算每个入水面片的相对速度、角速度等信息,计算过于复杂。
技术实现思路
本申请实施例提供了一种虚拟场景中的物体移动控制方法、装置、终端及存储介质,可用于解决相关技术在对船舶进行水中运动模拟时,计算过于复杂的技术问题。所述技术方案如下:一方面,本申请实施例提供一种虚拟场景中的物体移动控制方法,所述虚拟场景中包括目标物体和液体对象,所述目标物体在所述液体对象中移动;所述方法包括:计算所述目标物体在所述液体对象中的浸入体积;获取所述浸入体积对应的几何中心;根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息;根据所述作用力信息和所述目标物体的动力引擎提供的驱动力信息,控制所述目标物体在所述液体对象中移动。另一方面,本申请实施例提供一种画面显示方法,所述方法包括:显示包含有虚拟场景的第一画面帧,所述虚拟场景中包括目标物体和液体对象,所述目标物体在所述液体对象中移动;根据所述目标物体在所述第一画面帧中的位置信息、所述目标物体的动力引擎提供的驱动力信息,以及所述液体对象对所述目标物体产生的作用力信息,计算所述目标物体在第二画面帧中的位置信息;根据所述目标物体在所述第二画面帧中的位置信息,显示所述第二画面帧。另一方面,本申请实施例提供一种虚拟场景中的物体移动控制装置,所述虚拟场景中包括目标物体和液体对象,所述目标物体在所述液体对象中移动;所述装置包括:体积计算模块,用于计算所述目标物体在所述液体对象中的浸入体积;中心获取模块,用于获取所述浸入体积对应的几何中心;作用力计算模块,用于根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息;移动控制模块,用于根据所述作用力信息和所述目标物体的动力引擎提供的驱动力信息,控制所述目标物体在所述液体对象中移动。另一方面,本申请实施例提供一种画面显示装置,所述装置包括:第一显示模块,用于显示包含有虚拟场景的第一画面帧,所述虚拟场景中包括目标物体和液体对象,所述目标物体在所述液体对象中移动;位置计算模块,用于根据所述目标物体在所述第一画面帧中的位置信息、所述目标物体的动力引擎提供的驱动力信息,以及所述液体对象对所述目标物体产生的作用力信息,计算所述目标物体在第二画面帧中的位置信息;第二显示模块,用于根据所述目标物体在所述第二画面帧中的位置信息,显示所述第二画面帧。再一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述虚拟场景中的物体移动控制方法,或者实现上述画面显示方法。又一方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述虚拟场景中的物体移动控制方法,或者实现上述画面显示方法。又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述虚拟场景中的物体移动控制方法,或者执行上述画面显示方法。本申请实施例提供的技术方案至少包括如下有益效果:本申请实施例提供的技术方案中,由于目标物体在液体对象中受到的作用力是根据浸入体积计算得到的,相对于相关技术提供的基于入水面片的积分方法,浸入体积的计算相对更为简单,因此能够简化物体在液体中物理运动模拟的计算复杂度,减少计算量。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例提供的实施环境的示意图;图2示例性示出了本申请技术方案的整体流程的示意图;图3是本申请一个实施例提供的虚拟场景中的物体移动控制方法的流程图;图4和图5示例性示出了三角面与水面之间的位置关系的示意图;图6示例性示出了参考点与三角面形成的四面体的示意图;图7示例性示出了三角面与水面形成的棱柱的示意图;图8示例性示出了对目标物体进行移动控制的原理示意图;图9是本申请一个实施例提供的画面显示方法的流程图;图10示例性示出了一个游戏画面的示意图;图11是本申请一个实施例提供的虚拟场景中的物体移动控制装置的框图;图12是本申请另一个实施例提供的虚拟场景中的物体移动控制装置的框图;图13是本申请一个实施例提供的画面显示装置的框图;图14是本申请一个实施例提供的终端的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。在对本申请实施例进行介绍说明之前,首先对本申请中涉及的一些名词进行解释说明。1、虚拟场景,是指应用程序构建的非真实场景,其可以是对真实场景的模拟。以游戏应用程序为例,游戏应用程序提供的游戏场景可以是一个虚拟场景,该虚拟场景用于供玩家控制的游戏角色进行游戏竞技。在该虚拟场景中,玩家控制的游戏角色可以进行移动和执行各种动作,如跳跃、释放技能、开枪射击等动作。虚拟场景可以是3D场景,如虚拟房屋、虚拟岛屿、虚拟地图等。在虚拟场景中,除了包含用户控制的虚拟角色之外,还可以包含一些其它的虚拟对象,如地面、房屋、树木、山川、河流等虚拟对象。2、液体对象,是指虚拟场景中属性为液体的虚拟对象,如河流、湖泊、大海等。3、目标物体,是指能够在虚拟场景的液体对象中移动的物体,如舰、船、快艇、汽艇、帆船等。4、浮力,是指物体在流体(包括液体和气体)中,各表面受流体压力的差(合力)。当目标物体在液体对象中移动时,由于目标物体的一部分体积浸入到液体对象中,因此液体对象会给目标物体产生浮力。5、升力,是指使物体向上的作用力。当目标物体在液体对象中移动时,由于目标物体各个部位受到的水压大小不同,因此会产生一种将目标物体往上托的力。以目标物体为船舶为例,由于船底的设计,在船头部分水压会比较大,船尾部分水压较小,从而变相地把船头往上托的力。6、阻力,是指妨碍物体运动的作用力。在本申请实施例中,阻力包括移动阻力和拍击力。7、移动阻力,是指拖拽物体的作用力。当目标物体在液体对象中移动时,一方面液体对象会阻碍目标物体移动,产生移动阻力,另一方面目标物体在液体对象中的浸入体积的改变,也会产生移动阻力。8、拍击力,是指物体从刚接触液体对象表面,到浸入到液体对象中,要排出液体,受到一定的入本文档来自技高网...

【技术保护点】
1.一种虚拟场景中的物体移动控制方法,其特征在于,所述虚拟场景中包括目标物体和液体对象,所述目标物体在所述液体对象中移动;所述方法包括:计算所述目标物体在所述液体对象中的浸入体积;获取所述浸入体积对应的几何中心;根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息;根据所述作用力信息和所述目标物体的动力引擎提供的驱动力信息,控制所述目标物体在所述液体对象中移动。

【技术特征摘要】
1.一种虚拟场景中的物体移动控制方法,其特征在于,所述虚拟场景中包括目标物体和液体对象,所述目标物体在所述液体对象中移动;所述方法包括:计算所述目标物体在所述液体对象中的浸入体积;获取所述浸入体积对应的几何中心;根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息;根据所述作用力信息和所述目标物体的动力引擎提供的驱动力信息,控制所述目标物体在所述液体对象中移动。2.根据权利要求1所述的方法,其特征在于,所述计算所述目标物体在所述液体对象中的浸入体积,包括:根据所述液体对象的表面高度,获取所述目标物体的各个浸入三角面,所述浸入三角面是指所述目标物体的表面上浸入在所述液体对象中的三角面;在所述液体对象的表面选择参考点,分别计算所述参考点与各个所述浸入三角面形成的四面体的体积;将各个所述四面体的体积相加,得到所述浸入体积。3.根据权利要求2所述的方法,其特征在于,所述获取所述浸入体积对应的几何中心,包括:分别获取各个所述四面体的几何中心;以各个所述四面体的体积作为权重,根据各个所述四面体的几何中心,计算所述浸入体积对应的几何中心。4.根据权利要求1所述的方法,其特征在于,所述作用力信息包括浮力和所述浮力的力矩;所述根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息,包括:根据所述浸入体积和所述液体对象的密度,计算所述浮力;根据所述浮力、所述浸入体积对应的几何中心和所述目标物体的质心,计算所述浮力的力矩。5.根据权利要求1所述的方法,其特征在于,所述作用力信息包括升力和所述升力的力矩;所述根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息,包括:根据所述液体对象的密度、所述目标物体与所述液体对象的相对速度,以及所述目标物体在所述液体对象中的浸入长度,计算所述升力;根据所述升力和所述目标物体的质心,计算所述升力的力矩。6.根据权利要求1所述的方法,其特征在于,所述作用力信息包括移动阻力和所述移动阻力的力矩;所述根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息,包括:根据所述液体对象的密度、所述目标物体在所述液体对象中沿移动方向的正交投影面积、所述目标物体与所述液体对象的相对速度、所述目标物体的质量,以及所述浸入体积的变化情况,计算所述移动阻力;根据所述移动阻力和所述目标物体的角速度,计算所述移动阻力的力矩。7.根据权利要求1所述的方法,其特征在于,所述作用力信息还包括拍击力;所述根据所述浸入体积和所述浸入体积对应的几何中心,计算所述液体对象对所述目标物体产生的作用力信息,包括:根据所述目标物体在所述液体对象中的新增三角面所对应的四面体体积、所述目标物体与所述液体对象的相对速度,以及所述目标物体的质量,计算所述拍击力。8...

【专利技术属性】
技术研发人员:周茗琪
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1