虚拟对象的移动方法、设备及存储介质

文档序号:121744 发布日期:2021-10-22 浏览:30次 >En<

阅读说明:本技术 虚拟对象的移动方法、设备及存储介质 (Virtual object moving method, device and storage medium ) 是由 蔡玮 于 2021-05-24 设计创作,主要内容包括:本申请实施例提供一种虚拟对象的移动方法、设备及存储介质。在虚拟对象的移动方法中,可为虚拟场景中的第一虚拟对象关联站位点,若虚拟场景中存在与第一虚拟对象联动的第二虚拟对象,可在第一虚拟对象移动时,确定第一虚拟对象的目标位置,并根据该目标位置确定第一虚拟对象关联的站位点。从关联的站位点中,可确定第二虚拟对象的目标站位点,并控制第二虚拟对象移动至目标站位点。在这种实施方式中,根据第一虚拟对象的移动的目标位置来确定第一虚拟对象关联的站位点可利用关联的站位点快速确定与第一虚拟对象联动的第二虚拟对象目标位置,极大降低了联动的虚拟对象的位置计算的复杂度,提升了虚拟对象联动控制的效率。(The embodiment of the application provides a method and equipment for moving a virtual object and a storage medium. In the moving method of the virtual object, a station point can be associated with a first virtual object in a virtual scene, and if a second virtual object linked with the first virtual object exists in the virtual scene, a target position of the first virtual object can be determined when the first virtual object moves, and the station point associated with the first virtual object can be determined according to the target position. From the associated site locations, a destination site location for the second virtual object may be determined and movement of the second virtual object to the destination site location controlled. In the embodiment, the station point associated with the first virtual object is determined according to the moving target position of the first virtual object, and the associated station point can be used for quickly determining the target position of the second virtual object linked with the first virtual object, so that the complexity of position calculation of the linked virtual object is greatly reduced, and the efficiency of linkage control of the virtual objects is improved.)

虚拟对象的移动方法、设备及存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种虚拟对象的移动方法、设备及存储介质。

背景技术

在大地图游戏、非回合制游戏以及MMORPG(Massive Multiplayer Online Role-Playing Game,大型多人在线角色扮演游戏)中,通常设置有NPC(non-player character,非玩家角色)以辅助实现游戏策略。

NPC在游戏中移动时,多个NPC移动后的站位相同或者相近,进而导致多个NPC模型发生重叠。因此,有待提出一种解决方案。

发明内容

本申请的多个方面提供一种虚拟对象的移动方法、设备及存储介质,用以高效率地确定联动的虚拟对象的位置。

本申请实施例提供一种虚拟对的移动方法,包括:响应针对虚拟场景中的第一虚拟对象的移动指令,将第一虚拟对象移动至所述虚拟场景中的目标位置;根据所述目标位置,确定所述第一虚拟对象关联的站位点;从所述关联的站位点中,确定满足第一设定条件的站位点,作为第二虚拟对象的目标站位点;所述第二虚拟对象与所述第一虚拟对象具有联动关系;控制所述第二虚拟对象向所述目标站位点进行移动。

本申请实施例还提供一种服务器,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本申请实施例提供的方法中的步骤。

本申请实施例提供的虚拟对象的移动方法中,可为虚拟场景中的第一虚拟对象关联站位点,若虚拟场景中存在与第一虚拟对象联动的第二虚拟对象,可在第一虚拟对象移动时,确定第一虚拟对象的目标位置,并根据该目标位置确定第一虚拟对象关联的站位点。从关联的站位点中,可确定第二虚拟对象的目标站位点,并控制第二虚拟对象移动至目标站位点。在这种实施方式中,根据第一虚拟对象的移动的目标位置来确定第一虚拟对象关联的站位点可利用关联的站位点快速确定与第一虚拟对象联动的第二虚拟对象目标位置,极大降低了联动的虚拟对象的位置计算的复杂度,提升了虚拟对象联动控制的效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一示例性实施例提供的虚拟对象处理系统的结构示意图;

图2a为本申请一示例性实施例提供的站位圈的示意图;

图2b为本申请另一示例性实施例提供的站位圈的示意图;

图2c为本申请一示例性实施例提供的游戏主角与游戏中的宠物的站位示意图;

图3为本申请一示例性实施例提供的虚拟对象的移动方法的流程示意图;

图4为本申请一示例性实施例提供的服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在大地图游戏、非回合制游戏以及MMORPG中,通常设置有NPC以辅助实现游戏策略。NPC在游戏中移动时,多个NPC移动后的站位可能发生重叠,进而导致多个NPC模型发生重叠。

目前,解决NPC模型重叠的方式具有较高的计算复杂度,不易提升对NPC的控制效率。

针对上述技术问题,在本申请的一些实施例中,提出了一种解决方案,以下将结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请一示例性实施例提供的虚拟对象处理系统的结构示意图,如图1所示,该虚拟对象处理系统100包括终端设备10以及服务器20。

其中,终端设备10是指能够向用户展示虚拟场、与用户进行交互,并且具有通信功能的设备。在不同的应用场景下,终端设备10的实现形态也会有所不同。例如,在一些场景下,终端设备10可表现为用户侧的手机、平板电脑、计算机设备、VR(Virtual Reality,虚拟现实)设备等。

在虚拟对象处理系统100中,服务器20是能够提供数据支持、计算功能以及通信功能的设备。在一些实施例中,服务器20可实现为常规服务器、云服务器、云主机、虚拟中心等服务器等设备,本实施例对此不做限制。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,不再赘述。

在本实施例中,终端设备10主要用于,运行特定的应用程序(例如游戏应用程序),或者浏览器(可访问网页游戏),用户可通过应用程序或者浏览器访问访问服务器20提供的虚拟资源,该虚拟资源提供有可供用户感知的虚拟场景,虚拟场景通常包含虚拟角色,用户可通过终端设备10与虚拟场景中的虚拟角色进行交互,或者对虚拟角色进行控制。例如,服务器20提供的虚拟资源为虚拟游戏资源时,用户可通过终端设备10提供的游戏控件,控制游戏角色进行奔跑、跳跃、攻击等等。服务器20提供的虚拟资源为VR资源时,用户可通过终端设备10提供的智能穿戴设备,与VR场景中的虚拟角色进行交互等等。

在一些场景中,用户可通过终端设备10控制虚拟场景中的虚拟对象进行移动。其中该虚拟对象可以是虚拟场景中的游戏角色、或者虚拟场景中的物体,本实施例不做限制。在虚拟场景中,存在其他的虚拟对象与该被用户控制移动的虚拟对象具有联动关系。其中,该联动关系包括与战斗行为相关的联动关系,例如,在游戏场景中,参与战斗的角色需移动到游戏主角附近,对游戏主角形成合围,或者对游戏主角进行攻击、伤害等;该联动关系还可包括非战斗行为的联动关系,例如,在游戏场景中,NPC需要跟随游戏角色进行移动,宠物角色以及游戏主角的虚拟坐骑需要根据游戏主角进行移动等等。

在以下的实施例中,为便于描述和区分,将虚拟场景中在用户或者设定程序的控制下主动进行移动的虚拟对象描述为第一虚拟对象,将与第一虚拟对象具有联动关系从而进行被动移动的虚拟对象描述为第二虚拟对象。在虚拟场景中,第二虚拟对象的数量可以是一个或者多个,本实施例不做限制。

终端设备10的实现形态不同时,用户控制第一虚拟对象移动的方式也不同。例如,终端设备10实现为包含显示组件的设备时,该显示组件可包括一触摸屏,终端设备10可通过显示组件显示具有移动功能的控件。用户可通过触摸屏触发该控件来控制第一虚拟对象进行移动。例如,当终端设备10连接有游戏外设(如游戏手柄)时,用户可通过游戏外设上的物理按键控制第一虚拟对象进行移动。又例如,当终端设备10实现为智能穿戴设备时,用户可通过手势控制第一虚拟对象进行移动。

终端设备10接收到针对第一虚拟对象发起的移动操作后,可向服务器20发送针对第一虚拟对象的移动指令。其中,服务器20接收到该移动指令后,可将第一虚拟对象移动至虚拟场景中的目标位置。

其中,该目标位置可根据用户的操作确定。用户通过终端设备10控制第一虚拟对象移动时,可通过通过终端设备10提供的触摸按键、外设设备或者体感设备输入第一虚拟对象的移动方向、移动距离等。例如,用户可长按终端设备10展示的“前进”控件,控制第一虚拟对象向前方移动,并可翻转终端设备10,以使得终端设备10上的陀螺仪等设备检测到第一虚拟对象的移动方向。终端设备10向服务器20发送针对第一虚拟对象的移动指令时,可在移动指令中携带移动方向、移动距离等信息。进而,服务器20可确定第一虚拟对象在虚拟场景中的目标位置,并将第一虚拟对象移动至目标位置。

在本实施例中,服务器20可预先在虚拟场景中设置多个站位点。其中,站位点,指的是虚拟场景中供虚拟对象进行站立的位置点。第一虚拟对象关联的站位点,指的是用于放置与第一虚拟对象联动的其他虚拟对象的位置点。

当第二虚拟对象与第一虚拟对象联动时,随着第一虚拟对象的移动,第二虚拟对象需要移动至虚拟场景中的特定位置。因此,为便于放置随着第一虚拟对象移动的其他虚拟对象,服务器20可根据第一虚拟对象的目标位置,确定第一虚拟对象关联的站位点,以便于重新设置第二虚拟对象的位置。

确定第一虚拟对象关联的站位点之后,可从该关联的站位点中,确定满足第一设定条件的站位点,作为第二虚拟对象的站位点。其中,该第一设定条件可以为:站位点处于空置状态、站位点在虚拟对象的某一方位(前方、后方、左方、右方等)上、站位点与第一虚拟对象之间的距离小于设定阈值、站位点对应的渲染开销较小等等,本实施例包含但不限于此。

确定第二虚拟对象的目标站位点后,可控制第二虚拟对象向目标站位点移动。进而,在终端设备10侧,可展示第二虚拟对象跟随第一虚拟对象进行移动的虚拟场景。

在虚拟对象处理系统100中,为实现终端设备10和服务器20之间的上述数据交互过程,终端设备10和服务器20可建立通信连接,具体的通信连接方式可视实际的应用场景而定。

在一些示例性实施方式中,终端设备10和服务器20之间可采用有线通信方式无线通信方式进行通信。其中,无线通信方式包括蓝牙、ZigBee、红外线、WiFi(WIreless-Fidelity,无线保真技术)等短距离通信方式,也包括LORA等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。

在本实施例中,可为虚拟场景中的第一虚拟对象关联站位点,若虚拟场景中存在与第一虚拟对象联动的第二虚拟对象,可在第一虚拟对象移动时,确定第一虚拟对象的目标位置,并根据该目标位置确定第一虚拟对象关联的站位点。从关联的站位点中,可确定第二虚拟对象的目标站位点,并控制第二虚拟对象移动至目标站位点。在这种实施方式中,根据第一虚拟对象的移动的目标位置来确定第一虚拟对象关联的站位点可利用关联的站位点快速确定与第一虚拟对象联动的第二虚拟对象目标位置,极大降低了联动的虚拟对象的位置计算的复杂度,提升了虚拟对象联动控制的效率。

在上述实施例中,第一虚拟对象移动后,服务器20可根据第一虚拟对象移动的目标位置,确定第一虚拟对象关联的站位点。其中,根据目标位置确定关联的站位点,可包括:对第一虚拟对象原有的站位点进行移动,从而使得原有的站位点的位置随着第一虚拟对象的移动而更新;或者,根据虚拟对象移动后的目标位置,为第一虚拟对象关联新的站位点,本实施例不做限制。以下将进一步示例性说明。

在一些可选的实施例中,服务器20可根据虚拟对象移动后的目标位置,为第一虚拟对象关联新的站位点。在这种实施方式中,可预先在虚拟场景对应的虚拟地图中,预设大量的站位点。第一虚拟对象位于虚拟地图中的不同位置时,可为第一虚拟对象关联不同的站位点。例如,第一虚拟对象位于虚拟地图上的位置A时,可将虚拟地图上位于位置A附近(设定距离范围内)的站位点,作为第一虚拟对象关联的站位点。第一虚拟对象从位置A移动到虚拟地图上的位置B时,可将虚拟地图上位于位置B附近(设定距离范围内)的站位点,作为第一虚拟对象关联的新的站位点,不再赘述。

在另一些可选的实施例中,服务器20可根据虚拟对象移动后的目标位置,对第一虚拟对象原本关联的站位点的位置进行更新,得到更新后的站位点。

可选地,在这种实施方式中,服务器20可预先为第一虚拟对象设置关联的站位点,该站位点可供在虚拟场景中放置与第一虚拟对象联动的其他虚拟对象。例如第一虚拟对象关联站位点1、站位点2、站位点3、站位点4,…,站位点10等。

其中,第一虚拟对象关联的站位点与第一虚拟对象之间可设置有相对固定的偏移量。该偏移量包括站位点相对第一虚拟对象的方向以及在该方向上的距离。在一些实施例中,可采用矢量表示法来表示该方向和距离,进而,偏移量又可称为偏移向量。站位点相对第一虚拟对象的偏移量可与第一虚拟对象的信息进行对应存储,以便查询。

第一虚拟对象关联的站位点与第一虚拟对象之间的相对位置是相对固定的,当第一虚拟对象移动后,第一虚拟对象关联的站位点随之移动。基于此,确定第一虚拟对象的移动后的目标位置后,服务器20可根据第一虚拟对象关联的站位点的偏移量对该目标位置进行偏移处理,得到第一虚拟对象的关联的站位点的当前位置。

其中,偏移处理,包括方向偏移和位置偏移。偏移处理后,第一虚拟对象关联的站位点在虚拟场景中的位置跟随第一虚拟对象的变化而变化,可确保第一站位点与第一虚拟对象之间的相对位置具有相对不变性。

在这种实施方式中,第一虚拟对象关联的站位点相对于第一虚拟对象的偏移量是已知的。在第一虚拟对象移动至目标位置后,基于已知的偏移量对目标位置进行偏移处理,可快速更新第一虚拟对象关联的站位点的位置。进而,当虚拟场景中存在与第一虚拟对象联动的第二虚拟对象时,可从更新后的站位点中,可快速确定第二虚拟对象的目标站位点,并控制第二虚拟对象移动至目标站位点。这种更新站位点的方式,只依赖于第一虚拟对象的目标位置以及预设的站位点的偏移量,计算复杂度较低,可快速实现虚拟对象的联动,有利于提升虚拟对象处理系统的处理效率以及虚拟场景的渲染速度。

上述实施例记载了服务器20可预先为第一虚拟对象设置若干个关联的站位点的可选实施方式,以下将进一步示例性说明站位点的可选设置方式。

在一些可选的实施例中,服务器20可按照随机生成的方式,在第一虚拟对象的外围设置多个站位点,并记录随机生成的站位点与第一虚拟对象的相对位置关系,即偏移量。当第一虚拟对象移动后,可根据第一虚拟对象的目标位置以及站位点的偏移量,对随机生成的站位点进行位置更新,以保持该随机生成的站位点与第一虚拟对象具有相对固定的位置关系。

在另一些可选的实施例中,服务器20可在第一虚拟对象的外围确定至少一个站位圈,并可按照设定的站位点分布规则,在该至少一个站位圈上分别设置站位点,得到第一虚拟对象关联的站位点。

其中,每个站位圈到第一虚拟对象之间的距离为固定距离,即每个站位圈与第一虚拟对象的相对位置是相对固定的,该相对位置不随第一虚拟对象的移动而变化。

其中,每个站位圈的形状可以是规则(例如圆形、椭圆形或者方形)的,也可以是不规则(例如星形)的,本实施例不做限制。

可选地,该至少一个站位圈,可不以第一虚拟对象为中心,如图2a所示,每个站位圈位于第一虚拟对象前侧(正面一侧)的弧长与第一虚拟对象之间的距离较小,每个站位圈位于第一虚拟对象后侧(背面一侧)的弧长与第一虚拟对象之间的距离较大。这种站位圈的分布方式,可形成多个其他虚拟对象在第一虚拟对象的后方进行跟随的画面效果。

可选地,该至少一个站位圈,可以第一虚拟对象为中心,以有利于形成多个其他虚拟对象在第一虚拟对象周围进行分散合围的画面效果。为进一步便于计算,该至少一个站位圈,可实现为:以第一虚拟对象的位置为圆心的多个同心的圆形站位圈。

如图2b所示,可构造以第一虚拟对象为原点的平面坐标系X0Y,在构造站位圈时,以(0,0)点为圆心,分别以R1、R2、R3、……、Rn为半径,预设n个站位圈,其中n为正整数。

接下来,可按照设定的站位点分布规则,在至少一个站位圈上分别设置站位点,得到所述第一虚拟对象关联的站位点。其中,该站位点分布规则,可以是等距离均分,也可以是随机分配,或者可以是在不同方向上设置不同数量的站位点,本实施例包含但不限于此。

可选地,当在第一虚拟对象的外围设置多个同心的圆形站位圈时,该多个同心的圆形站位圈中,任一站位圈上设置的站位点的数量,与该站位圈的半径成正相关关系。例如,按照半径由小到大对多个站位圈进行排列时,可在半径最小的第1圈上设置a个站位点,每向外增加1圈,增加b个点,则第n个站位圈上的站位点的数量Cn=a+(n-1)*b。

可选地,每个站位圈上的站位点可以是等间距的。当n个同心的圆形站位圈上的站位点等间距分布时,第n站位圈上的第i个站位点的坐标(Xni,Yni)可通过以下公式进行计算:

Xni=Rn*cos(2*π/Cn*(0.5*(2*i-1)))

Yni=Rn*sin(2*π/Cn*(0.5*(2*i-1)))

上述计算得到的站位点的坐标可作为站位点相对于第一虚拟对象的偏移量进行保存,不再赘述。

在上述实施例的基础上,服务器20在从第一虚拟对象关联的站位点中,确定满足第一设定条件的目标站位点时,可首先从该至少一个站位圈中,确定目标站位圈,其中,该目标站位圈到移动后的第一虚拟对象的距离,小于第二虚拟对象的作业距离。

其中,该第二虚拟对象的作业距离,与第二虚拟对象在虚拟场景中的身份或者功能相关。

在一些实施例中,当第二虚拟对象实现为虚拟游戏中的非玩家角色(NPC)时,若第二虚拟对象的身份为跟随NPC,则第二虚拟对象的作业距离,可实现为:跟随NPC的跟随距离;若第二虚拟对象的身份为追击NPC,则第二虚拟对象作业距离,可实现为追击NPC的攻击距离。其中,追击,是指NPC选定攻击目标之后,需要移动到距离这个目标合适的位置上,释放攻击技能。跟随,是指NPC需要在某个目标的周围一定范围内与目标一起移动。

其中,服务器20侧可为每个NPC分配对应的AI(Artificial Intelligence,人工智能)模块,该AI模块包含用于控制NPC做出移动、战斗、说话等行为的游戏逻辑。AI模块确定NPC在游戏中的身份功能后,可确定NPC对应的作业距离,例如跟随距离或者攻击距离。当攻击技能不同时,可对应不同的攻击距离,不再赘述。

在另一些实施例中,第二虚拟对象实现为虚拟游戏中可由玩家控制的角色,例如玩家的虚拟宠物、虚拟道具等。在这种实施方式中,玩家用户可通过终端设备预设第二虚拟对象的作业距离,例如宠物跟随距离等等,不再赘述。

以下将结合具体的例子,对目标站位圈的确定方式进行示例性说明。

例如,游戏中的某个主角关联有10个站位圈,10个站位圈的半径分别为1米、2米、3米、4米、5米、6米、7米、8米、9米、10米。某个具有追击功能的NPC的攻击技能的攻击距离为8.5米,NPC在释放这一攻击技能时,与主角之间的距离应当小于8.5米以确保主角在NPC的攻击范围内。在这种情况下,针对NPC而言,其目标站位圈可以是半径分别为1米、2米、3米、4米、5米、6米、7米、8米的站位圈。

在一些情况下,为提升移动效率,从多个站位圈中确定目标站位圈时,可选择半径小于第二虚拟对象的作业距离的最大站位圈。例如,承接上述例子,可选择半径为8米的站位圈作为目标站位圈,以减少NPC的移动距离,提升移动效率。

在一些实施例中,服务器20在记录每个站位点时,可记录该站位点的状态信息。即,若该站位点未被使用,则记录为空置状态。若该站位点已被使用,则记录为使用状态,并记录使用者。

基于此,确定目标站位圈后,服务器20可从该目标站位圈上设置的站位点中,选择处于空置状态的站位点,作为目标站位点。

可选地,从目标站位圈上选择目标站位点时,可绘制第二虚拟对象与移动后的第一虚拟对象之间的连接线。接下来,服务器20可计算该连接线与目标站位圈的交点,并从目标站位圈中,选择与该交点之间的距离满足第二设定条件的站位点,作为候选站位点。其中,该第二设定条件,可包括:与交点的距离小于某一阈值、为交点的顺时针方向上的第一个站位点或者为交点的逆时针方向上的第一个站位点,本实施例不做赘述。确定候选站位点后,可以该候选站位点为起点,在目标站位圈上搜索处于空置状态的站位点,作为目标站位点。

其中,在搜索处于空置状态的站位点时,可首先判断候选站位点的状态是否为空置状态,若为是,则将候选站位点作为目标站位点。若为否,可判断目标站位圈上位于候选站位点的逆时针方向上的第一个站位点的状态是否为空置状态,若为是,则将该逆时针方向上的第一个站位点作为目标站位点;若为否,可判断目标站位圈上位于候选站位点的顺时针方向上的第一个站位点的状态是否为空置状态,若为是,则将该逆时针方向上的第一个站位点作为目标站位点;若为否,则可判断目标站位圈上位于候选站位点的逆时针方向上的第二个站位点的状态是否为空置状态,以此类推,不再赘述。以下将结合附图进行进一步说明。

如图2b所示,假设目标站位圈为半径为R3的站位圈,绘制NPC与目标角色之间的连接线L之后,该连接线L与目标站位圈的交点为P。此时,可从目标站位圈上的站位点中,选择与交点P最近的站位点P0。接下来,可首先判断站位点P0是否为空置状态,若为是,则将站位点P0作为目标站位点;若P0不为空置状态,可判断P0左侧(面向目标角色时的左侧)的第一个站位点P1的状态是否为空置状态。若P1为空置状态,则将站位点P1作为目标站位点;若P1不为空置状态,则可判断P0右侧(面向目标角色时的右侧)的第一个站位点P2的状态是否为空置状态。若站位点P2的状态为空置状态,则将站位点P2作为目标站位点;若P2不为空置状态,则可判断P0左侧(面向目标角色时的左侧)的第二个站位点P3的状态是否为空置状态,直至找到控制状态的站位点不再赘述。

值得说明的是,当未从目标站位圈上搜索到处于空置状态的站位点时,可将该交点作为站位点,以避免与站位圈上已有的其他虚拟对象产生位置冲突。

还值得说明的是,上述更新第一虚拟对象关联的站位点并为第二虚拟对象选择新的站位点的操作,可由服务器20中的站位计算模块执行。当第二虚拟对象关联有AI模块时,AI模块可调用站位计算模块计算得到新的站位点,并调用服务器20中的移动模块,将第二虚拟对象移动至目标站位点,不再赘述。

图2c以一个具体的游戏场景为例,对虚拟对象联动时的站位点分布进行了示意。在图2c的示意中,游戏的主角在小路上行走,主角包含多个跟随宠物,即多个可跟随着主角进行移动的宠物鸟。在主角发生移动之前,多个宠物按照设定的站位点分布原则围绕在主角的周围。当主角移动之后,主角关联的站位点随之变化,多个宠物可移动至变化后的站位点,从而形成多个宠物跟随在主角外围且不会随着主角的移动而相互重叠的游戏效果。

在上述实施例记载的虚拟对象处理系统100中,虚拟对象关联的站位点的确定过程由服务器一侧实现。这种实施方式较适用于网页游戏或者终端游戏的场景,服务器计算得到站位点后,可下发到游戏终端。

当然,除前述实施例记载的实施方式之外,当本方案应用于终端游戏场景时,虚拟对象关联的站位点的确定操作可由终端设备一侧执行。即,用户在终端设备上下载并安装游戏程序(在线游戏或者离线游戏)后,在游戏程序运行时,终端设备可响应针对虚拟场景中的第一虚拟对象的移动指令,将第一虚拟对象移动至虚拟场景中的目标位置,并根据该目标位置,确定第一虚拟对象关联的站位点,并从确定的站位点中,选择满足第一设定条件的站位点,作为第二虚拟对象的目标站位点;其中,第二虚拟对象与第一虚拟对象具有联动关系;确定目标站位点后,终端设备可控制第二虚拟对象向目标站位点进行移动。在这种实施方式中,终端设备可实现站位点的确定操作,降低了对服务器的依赖,有利于提升游戏响应速度,确保游戏运行流畅。

值得说明的是,本方案还可应用在云游戏的场景中。其中,云游戏是指基于云计算技术,游戏在远程服务器上运行,终端客户不需要下载、安装、也不需要考虑终端配置,借助网络即可体验各种类型的游戏。在云游戏的场景中,云端的服务器可运行游戏程序,在游戏程序运行时,云端服务器可响应针对虚拟场景中的第一虚拟对象的移动指令,将第一虚拟对象移动至虚拟场景中的目标位置,并根据该目标位置,确定第一虚拟对象关联的站位点,并从确定的站位点中,选择满足第一设定条件的站位点,作为第二虚拟对象的目标站位点;其中,第二虚拟对象与第一虚拟对象具有联动关系;确定目标站位点后,终端设备可控制第二虚拟对象向目标站位点进行移动,不再赘述。

除前述实施例提供的虚拟对象的处理系统之外,本申请还提供一种虚拟对象的移动方法,以下将结合附图进行示例性说明。

图3是本申请一示例性实施例提供的虚拟对象的移动方法的流程示意图,该方法在服务器侧执行时,可包括如图3所示的步骤:

步骤301、响应针对虚拟场景中的第一虚拟对象的移动指令,将第一虚拟对象移动至所述虚拟场景中的目标位置。

步骤302、根据所述目标位置,确定所述第一虚拟对象关联的站位点。

步骤302、从所述关联的站位点中,确定满足第一设定条件的站位点,作为第二虚拟对象的目标站位点;所述第二虚拟对象与所述第一虚拟对象具有联动关系。

步骤302、控制所述第二虚拟对象向所述目标站位点进行移动。

本实施例的执行主体可以是运行有游戏程序的终端设备,还可以是游戏服务器,包括常规服务器、云服务器、云主机等等。

在一些示例性的实施例中,根据所述目标位置,确定所述第一虚拟对象关联的站位点的一种方式,包括:获取为所述第一虚拟对象预设的站位点相对于所述第一虚拟对象的偏移量;根据所述预设的站位点的偏移量,对所述目标位置进行偏移处理,得到所述第一虚拟对象关联的站位点。

在一些示例性的实施例中,获取为所述第一虚拟对象预设的站位点相对于所述第一虚拟对象的偏移量之前,还包括:在所述第一虚拟对象的外围预设至少一个站位圈;按照设定的站位点分布规则,在所述至少一个站位圈上分别设置站位点,得到所述第一虚拟对象关联的站位点。

在一些示例性的实施例中,所述至少一个站位圈,包括:以所述第一虚拟对象的位置为圆心的多个同心的圆形站位圈。

在一些示例性的实施例中,所述多个同心的圆形站位圈中,任一站位圈上设置的站位点的数量,与所述站位圈的半径成正相关关系。

在一些示例性的实施例中,从所述关联的站位点中,确定满足第一设定条件的站位点,作为第二虚拟对象的目标站位点的一种方式,可包括:从所述至少一个站位圈中,确定目标站位圈,所述目标站位圈到移动后的所述第一虚拟对象的距离,小于所述第二虚拟对象的作业距离;从所述目标站位圈上设置的站位点中,选择处于空置状态的站位点,作为所述目标站位点。

在一些示例性的实施例中,所述第二虚拟对象,包括:虚拟游戏中的非玩家角色;所述第二虚拟对象的作业距离,包括:所述第二虚拟对象的跟随距离,或者,所述第二虚拟对象的攻击距离。

在一些示例性的实施例中,从所述目标站位圈上设置的站位点中,选择处于空置状态的站位点,作为所述目标站位点的一种方式,可包括:绘制所述第二虚拟对象与移动后的所述第一虚拟对象之间的连接线;计算所述连接线与所述目标站位圈的交点;从所述目标站位圈中,选择与所述交点之间的距离满足第二设定条件的站位点,作为候选站位点;以所述候选站位点为起点,在所述目标站位圈上搜索处于空置状态的站位点,作为所述目标站位点。

本实施例中,可为虚拟场景中的第一虚拟对象关联站位点,若虚拟场景中存在与第一虚拟对象联动的第二虚拟对象,可在第一虚拟对象移动时,确定第一虚拟对象的目标位置,并根据该目标位置确定第一虚拟对象关联的站位点。从关联的站位点中,可确定第二虚拟对象的目标站位点,并控制第二虚拟对象移动至目标站位点。在这种实施方式中,根据第一虚拟对象的移动的目标位置来确定第一虚拟对象关联的站位点可利用关联的站位点快速确定与第一虚拟对象联动的第二虚拟对象目标位置,极大降低了联动的虚拟对象的位置计算的复杂度,提升了虚拟对象联动控制的效率。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤304的执行主体可以为设备A;又比如,步骤301和302的执行主体可以为设备A,步骤303的执行主体可以为设备B;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。

需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

图4示意了本申请一示例性实施例提供的服务器的结构示意图,该服务器适用于前述实施例提供的虚拟对象处理系统。如图4所示,该服务器包括:存储器401、处理器402以及通信组件403。

存储器401,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

其中,存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

处理器402,与存储器401耦合,用于执行存储器401中的计算机程序,以用于:通过通信组件403接收针对虚拟场景中的第一虚拟对象的移动指令;响应针对虚拟场景中的第一虚拟对象的移动指令,将第一虚拟对象移动至所述虚拟场景中的目标位置;根据所述目标位置,确定所述第一虚拟对象关联的站位点;从所述关联的站位点中,确定满足第一设定条件的站位点,作为第二虚拟对象的目标站位点;所述第二虚拟对象与所述第一虚拟对象具有联动关系;控制所述第二虚拟对象向所述目标站位点进行移动。

在一些示例性的实施例中,处理器402在根据所述目标位置,确定所述第一虚拟对象关联的站位点时,具体用于:获取为所述第一虚拟对象预设的站位点相对于所述第一虚拟对象的偏移量;根据所述预设的站位点的偏移量,对所述目标位置进行偏移处理,得到所述第一虚拟对象关联的站位点。

在一些示例性的实施例中,处理器402获取为所述第一虚拟对象预设的站位点相对于所述第一虚拟对象的偏移量之前,还用于:在所述第一虚拟对象的外围预设至少一个站位圈;按照设定的站位点分布规则,在所述至少一个站位圈上分别设置站位点,得到所述第一虚拟对象关联的站位点。

在一些示例性的实施例中,所述至少一个站位圈,包括:以所述第一虚拟对象的位置为圆心的多个同心的圆形站位圈。

在一些示例性的实施例中,所述多个同心的圆形站位圈中,任一站位圈上设置的站位点的数量,与所述站位圈的半径成正相关关系。

在一些示例性的实施例中,处理器402从所述关联的站位点中,确定满足第一设定条件的站位点,作为第二虚拟对象的目标站位点时,具体用于:从所述至少一个站位圈中,确定目标站位圈,所述目标站位圈到移动后的所述第一虚拟对象的距离,小于所述第二虚拟对象的作业距离;从所述目标站位圈上设置的站位点中,选择处于空置状态的站位点,作为所述目标站位点。

在一些示例性的实施例中,所述第二虚拟对象,包括:虚拟游戏中的非玩家角色;所述第二虚拟对象的作业距离,包括:所述第二虚拟对象的跟随距离,或者,所述第二虚拟对象的攻击距离。

在一些示例性的实施例中,处理器402从所述目标站位圈上设置的站位点中,选择处于空置状态的站位点,作为所述目标站位点时,具体用于:绘制所述第二虚拟对象与移动后的所述第一虚拟对象之间的连接线;计算所述连接线与所述目标站位圈的交点;从所述目标站位圈中,选择与所述交点之间的距离满足第二设定条件的站位点,作为候选站位点;以所述候选站位点为起点,在所述目标站位圈上搜索处于空置状态的站位点,作为所述目标站位点。

进一步,如图4所示,该服务器还包括:电源组件404等其它组件。图4中仅示意性给出部分组件,并不意味着服务器只包括图4所示组件。

其中,通信组件403被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。

其中,电源组件404,用于为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

本实施例中,可为虚拟场景中的第一虚拟对象关联站位点,若虚拟场景中存在与第一虚拟对象联动的第二虚拟对象,可在第一虚拟对象移动时,确定第一虚拟对象的目标位置,并根据该目标位置确定第一虚拟对象关联的站位点。从关联的站位点中,可确定第二虚拟对象的目标站位点,并控制第二虚拟对象移动至目标站位点。在这种实施方式中,根据第一虚拟对象的移动的目标位置来确定第一虚拟对象关联的站位点可利用关联的站位点快速确定与第一虚拟对象联动的第二虚拟对象目标位置,极大降低了联动的虚拟对象的位置计算的复杂度,提升了虚拟对象联动控制的效率。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由服务器执行的各步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:游戏同步方法、装置、终端、服务器和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类