CN114870399A - 一种虚拟角色移动控制方法、装置、电子设备及存储介质 - Google Patents
一种虚拟角色移动控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114870399A CN114870399A CN202210486113.1A CN202210486113A CN114870399A CN 114870399 A CN114870399 A CN 114870399A CN 202210486113 A CN202210486113 A CN 202210486113A CN 114870399 A CN114870399 A CN 114870399A
- Authority
- CN
- China
- Prior art keywords
- path
- point
- target
- initial
- virtual character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/308—Details of the user interface
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例提供了一种虚拟角色移动控制方法、装置、电子设备及存储介质,可以在对游戏场景中的目标虚拟角色进行移动控制时,响应于用户的触发,根据进行移动的起点和终点得到包括多个初始路径点的初始路径,进而确定相邻的两个初始路径点之间构成的、与游戏场景中的水平方向之间的夹角小于第一预设角度的第一路径,在第一路径两侧中的至少一侧存在不可移动区域时,在相邻的两个初始路径点之间添加目标路径点,从而得到目标路径,实现一定距离的绕行,减少虚拟角色与不可移动区域中的障碍物的接触几率,从而大大降低角色模型与障碍物模型发生穿模现象的几率,有效改善碰撞导致的挤压卡顿的问题,有利于提高画面的流畅性和界面内容真实性。
Description
技术领域
本公开涉及游戏技术领域,具体而言,涉及一种虚拟角色移动控制方法、装置、电子设备及存储介质。
背景技术
随着时代的发展,电子游戏已经成为了人们休闲放松的方式之一。电子游戏凭借着玩法多样、内容丰富的特点越来越受到人们的喜爱。在游戏中,设备终端会生成游戏场景的地图。在实际游戏中,玩家控制的玩家角色以及系统设定的非玩家角色需要按照一定的路径进行移动,以便到达目的地,或者实现在两个地点之间进行巡逻等功能。
针对角色移动的路径,大多是通过一定的算法实现路径的计算,例如普遍的使用最短路径算法为角色规划从一个地点到另一个地点之间的最短路径,以便角色可以以尽量少的时间和尽量短的路程进行寻路行动。但是,角色在按照规划的路径进行寻路的过程中,当在路径附近或者路径侧面存在障碍物时,容易发生角色与障碍物的碰撞和挤压,导致发生穿模现象,引起画面卡顿,影响游戏画面的流畅度。
发明内容
本公开实施例至少提供一种虚拟角色移动控制方法、装置、电子设备及存储介质。
本公开实施例提供了一种虚拟角色移动控制方法,所述方法包括:
响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点;
基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点;
判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度;
响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域;
响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点;
基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
一种可选的实施方式中,所述基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,包括:
对游戏场景中的地图进行网格化处理,得到网格地图,其中,所述网格地图包括多个网格,每个网格能够作为一个路径点;
基于所述网格地图,为所述目标虚拟角色规划从所述起点至所述终点的初始路径。
一种可选的实施方式中,所述响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域,包括:
响应于所述第一路径与所述游戏场景的水平方向之间的夹角小于第一预设角度,检测所述第一路径两侧中的至少一侧的路径点上是否存在障碍物;
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域。
一种可选的实施方式中,所述若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域,包括:
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,获取所述障碍物的物体体积以及所述目标虚拟角色的角色体积;
基于所述物体体积和所述角色体积,确定所述目标虚拟角色沿所述第一路径前进的情况下,是否会与所述障碍物发生接触;
若所述目标虚拟角色会与所述障碍物发生接触,确定所述第一路径两侧中的至少一侧存在不可移动区域。
一种可选的实施方式中,所述在所述相邻的两个初始路径点之间添加至少一个目标路径点,包括:
按照所述初始路径的移动方向,确定所述相邻的两个初始路径点中的在先路径点和在后路径点;
按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点;
将所述至少一个目标路径点添加至所述在先路径点和所述在后路径点之间。
一种可选的实施方式中,所述按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点,包括:
确定在所述水平方向上位于所述在先路径点之后,并且与所述在先路径点相邻的临近路径点;
确定所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧是否存在不可移动区域,以及所述第二路径与所述水平方向之间的夹角是否小于第二预设角度;
若所述第二路径两侧中的至少一侧存在不可移动区域,并且所述第二路径与所述水平方向之间的夹角小于第二预设角度,将所述临近路径点作为所述在先路径点,再次确定所述在先路径点的临近路径点,直至在所述临近路径点与所述在后路径点相邻的情况下,所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度为止;
将确定出的至少一个临近路径点确定为满足所述预设条件的至少一个目标路径点。
一种可选的实施方式中,所述基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径,包括:
确定所述多个初始路径点中每个初始路径点的路点坐标,以及所述至少一个目标路径点中每个目标路径点的路点坐标;
按照所述初始路径的移动方向,基于每个初始路径点的路点坐标和每个目标路径点的路点坐标,对所述多个初始路径点和所述至少一个目标路径点依次进行拟合,得到针对所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
本公开实施例还提供一种虚拟角色移动控制装置,所述装置包括:
位置确定模块,用于响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点;
初始路径确定模块,用于基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点;
角度判断模块,用于判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度;
区域判断模块,用于响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域;
路径点添加模块,用于响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点;
目标路径确定模块,用于基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
一种可选的实施方式中,所述初始路径确定模块具体用于:
对游戏场景中的地图进行网格化处理,得到网格地图,其中,所述网格地图包括多个网格,每个网格能够作为一个路径点;
基于所述网格地图,为所述目标虚拟角色规划从所述起点至所述终点的初始路径。
一种可选的实施方式中,所述区域判断模块具体用于:
响应于所述第一路径与所述游戏场景的水平方向之间的夹角小于第一预设角度,检测所述第一路径两侧中的至少一侧的路径点上是否存在障碍物;
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域。
一种可选的实施方式中,所述区域判断模块在用于若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域时,具体用于:
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,获取所述障碍物的物体体积以及所述目标虚拟角色的角色体积;
基于所述物体体积和所述角色体积,确定所述目标虚拟角色沿所述第一路径前进的情况下,是否会与所述障碍物发生接触;
若所述目标虚拟角色会与所述障碍物发生接触,确定所述第一路径两侧中的至少一侧存在不可移动区域。
一种可选的实施方式中,所述路径点添加模块具体用于:
按照所述初始路径的移动方向,确定所述相邻的两个初始路径点中的在先路径点和在后路径点;
按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点;
将所述至少一个目标路径点添加至所述在先路径点和所述在后路径点之间。
一种可选的实施方式中,所述路径点添加模块在用于按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点时,具体用于:
确定在所述水平方向上位于所述在先路径点之后,并且与所述在先路径点相邻的临近路径点;
确定所述临近路径点与所述在后路径点之间构成的第二路径两侧中的至少一侧是否存在不可移动区域,以及所述第二路径与所述水平方向之间的夹角是否小于第二预设角度;
若所述第二路径两侧中的至少一侧存在不可移动区域,并且所述第二路径与所述水平方向之间的夹角小于第二预设角度,将所述临近路径点作为所述在先路径点,再次确定所述在先路径点的临近路径点,直至在所述临近路径点与所述在后路径点相邻的情况下,所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度为止;
将确定出的至少一个临近路径点确定为满足所述预设条件的至少一个目标路径点。
一种可选的实施方式中,所述目标路径确定模块具体用于:
确定所述多个初始路径点中每个初始路径点的路点坐标,以及所述至少一个目标路径点中每个目标路径点的路点坐标;
按照所述初始路径的移动方向,基于每个初始路径点的路点坐标和每个目标路径点的路点坐标,对所述多个初始路径点和所述至少一个目标路径点依次进行拟合,得到所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述的虚拟角色移动控制方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的虚拟角色移动控制方法的步骤。
本公开实施例提供的虚拟角色移动控制方法、装置、电子设备及存储介质,可以响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点;基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点;判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度;响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域;响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点;基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
这样,可以在对游戏场景中的目标虚拟角色进行移动控制时,响应于用户的触发,根据进行移动的起点和终点得到包括多个初始路径点的初始路径,进而确定相邻的两个初始路径点之间构成的、与游戏场景中的水平方向之间的夹角小于第一预设角度的第一路径,在第一路径两侧中的至少一侧存在不可移动区域时,在相邻的两个初始路径点之间添加目标路径点,以对初始路径进行调整,从而得到目标路径,实现一定距离的绕行,可以使目标虚拟角色在移动过程中远离存在障碍物的不可移动区域,减少虚拟角色与不可移动区域中的障碍物的接触几率,从而大大降低由于移动中存在拐角等路径时造成的角色模型与障碍物模型发生穿模现象的几率,有效改善碰撞导致的挤压卡顿的问题,有利于提高画面的流畅性和界面内容真实性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开实施例提供的一种虚拟角色移动控制方法的流程图;
图2为本公开实施例提供的一种按照扇形或者圆形等散布形状进行地图网格划分的示意图;
图3为本公开实施例的虚拟角色移动控制方法中添加目标路径点的流程图;
图4为本公开实施例提供的一种虚拟角色移动示意图;
图5为本公开实施例提供的一种虚拟角色移动控制装置的示意图;
图6为本公开实施例提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,目前针对角色移动的路径,大多是通过一定的算法实现路径的计算,例如使用广泛的A*寻路算法、跳点搜索算法(Jump Point Search,JPS)和优化跳点搜索算法(Jump Point Search Plus,JPS+)等,通过上述方法,可以普遍的使用最短路径算法为角色规划从一个地点到另一个地点之间的最短路径,以便角色可以以尽量少的时间和尽量短的路程进行移动。但是,角色在按照规划的路径进行移动的过程中,当在路径附近或者路径侧面存在障碍物时,容易发生角色与障碍物的碰撞和挤压,导致发生穿模现象,引起画面卡顿,影响游戏画面的流畅度。
基于上述研究,本公开提供了一种虚拟角色移动控制方法,可以在对游戏场景中的目标虚拟角色进行移动控制时,响应于用户的触发,根据进行移动的起点和终点得到包括多个初始路径点的初始路径,进而确定相邻的两个初始路径点之间构成的、与游戏场景中的水平方向之间的夹角小于第一预设角度的第一路径,在第一路径两侧中的至少一侧存在不可移动区域时,在相邻的两个初始路径点之间添加目标路径点,以对初始路径进行调整,从而得到目标路径,实现一定距离的绕行,可以使目标虚拟角色在移动过程中远离存在障碍物的不可移动区域,减少虚拟角色与不可移动区域中的障碍物的接触几率,从而大大降低由于移动中存在拐角等路径时造成的角色模型与障碍物模型发生穿模现象的几率,有效改善碰撞导致的挤压卡顿的问题,有利于提高画面的流畅性和界面内容真实性。
针对以上方案所存在的缺陷以及所提出的解决方案,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种虚拟角色移动控制方法进行详细介绍,本公开实施例所提供的虚拟角色移动控制方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:计算机设备或服务器或其它处理设备。在一些可能的实现方式中,该虚拟角色移动控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
请参阅图1,图1为本公开实施例提供的一种虚拟角色移动控制方法的流程图。如图1中所示,本公开实施例提供的虚拟角色移动控制方法包括:
S101:响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点。
在游戏过程中,当接收到用户针对目标虚拟角色的点击或滑动等操作时,确定接收到用户的触发,因此可以响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点。
其中,所述目标虚拟角色可以是玩家角色,如玩家可以控制的英雄、士兵等,也可以是系统设定的非玩家角色,如剧情人物、野怪等。
这里,所述起点和终点,可以是用户选定目标虚拟角色后,所述目标虚拟角色在有需要移动的任务时,通过所述任务对应的任务信息确定所述起点和终点。
可选地,还可以是响应于用户的操作,例如接收到针对所述游戏场景中的单击、双击、长按、重按等操作,可以通过所述操作确定所述起点和终点。
S102:基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点。
这里,初始路径可以是在所述目标虚拟角色需要进行移动时,例如玩家角色需要从起点移动到终点时,预先为所述目标虚拟角色规划好的路径,也可以是针对非玩家角色预先设置的固定路线,如系统NPC和怪物等进行巡逻的巡逻路径等。
具体的,针对确定初始路径,可以是对游戏场景中的地图进行网格化处理,得到网格地图,其中,所述网格地图包括多个网格,每个网格能够作为一个路径点。
该步骤中,可以获取所述游戏场景中对应的地图,通过对所述地图进行网格化处理,以在所述地图上划分出多个网格,得到对应的网格地图。
其中,所述地图,可以是包括所述目标虚拟角色当前所处游戏场景对应的地图,以及所述目标虚拟角色通过移动需要去往的游戏场景内的地图,相应的,为了便于后续其他移动和功能的使用,也可以是整个游戏大场景下对应的地图。
具体的,对所述地图进行网格化处理,可以是根据所述地图上包括的多个坐标点进行网格划分,针对每个坐标点划分得到一个地图网格,并可以将一个地图网格作为一个路径点,因此,得到的多个地图网格可以是按照地图坐标系呈矩阵排列的,如以游戏地图坐标系(相当于游戏场景坐标系)的x轴或者y轴的一者为第一方向,以x轴或者y轴的另一者为第二方向,此时第一方向和第二方向相垂直,第一方向和第二方向其中一者即为水平方向,多个地图网格即沿第一方向和第二方向呈矩阵排列,对所述地图进行网格化处理,也可以是根据所述地图上包括的多个坐标点,并结合划分需求进行其他方式的网格划分,如以某个基准点按照扇形或者圆形等散布形状进行地图网格的划分,如图2中所示,得到的每个地图网格可以包括至少一个坐标点,并将每个地图网格作为一个路径点。
在其他实施方式中,由于网格具有一定的大小和面积,为了更精准地确定网格地图中的目标虚拟角色等的位置,也可以将所述网格的中心点作为一个路径点。
然后,基于所述网格地图,为所述目标虚拟角色规划从所述起点至所述终点的初始路径。
该步骤中,通过所述目标虚拟角色在所述网格地图中的起点和终点,可以借助两个起始点对应的坐标,分别确定出所述路起点在所述网格地图中对应的第一网格和所述终点在所述网格地图中对应的第二网格,因此可以计算出在所述网格地图中从第一网格至第二网格之间的初始路径。
这里,所述初始路径包括多个初始路径点,所述初始路径点为所述网格地图上的路径点,即对应为所述网格地图上的网格。
可选地,所述初始路径点也可以是所述网格的中心点。
S103:判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度。
该步骤中,在得到所述初始路径后,可以对所述初始路径中的多个初始路径点进行检测,以确定出所述初始路径中在移动方向上相邻的两个初始路径点,当相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度,认为该相邻的两个初始路径点是需要进行调整的两个初始路径点。
其中,所述游戏场景的水平方向可以是所述游戏场景中的游戏场景坐标系中处在水平面上的x轴方向,也可以是游戏场景坐标系中处在水平面上的y轴方向。
其中,所述第一预设角度可以是用户自定义的,也可以是针对游戏场景默认设置的。
在实际应用中,为了便于目标虚拟角色沿着规划出的路径进行移动,大多将所述第一预设角度设置为九十度。
具体的,在需要确定所述初始路径中相邻的两个初始路径点时,首先可以将得到的初始路径包含的所有初始路径点进行遍历,将其中每相邻的两个初始路径点分为一组,然后筛选相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度,从而得到需要进行调整的两个初始路径点。
其中,所述遍历的方法包含以下方法中的一种或多种:
前序遍历,其方法为按照初始路径的移动方向,对每个初始路径点进行检测;
后序遍历,其方法为按照与初始路径的移动方向相反的方向,对每个初始路径点进行检测。
S104:响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域。
针对与所述游戏场景的水平方向之间的夹角小于第一预设角度的第一路径,为了进一步判断是否需要对其进行调整,可以检测所述第一路径两侧中的至少一侧是否存在不可移动区域。
可以理解,由于所述不可以移动区域的存在,使得所述目标虚拟角色在沿着所述第一路径移动的过程中,可能会出现碰撞等现象。
具体的,响应于所述第一路径与所述游戏场景的水平方向之间的夹角小于第一预设角度,检测所述第一路径两侧中的至少一侧的路径点上是否存在障碍物;若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域。
该步骤中,可以首先检测所述第一路径两侧中的至少一侧的路径点上是否存在障碍物,得到存在障碍物的路径点后,可以理解,存在障碍物的路径点即为不可走路径点,从而可以确定所述第一路径两侧中的至少一侧存在不可移动区域,进而可以在后续对该第一路径对应的两个初始路径点进行调整处理。
其中,所述障碍物可以是有生命的个体,如守护所在位置的关卡人物等虚拟角色,也可以是没有生命的个体,如树木、石块、墙体等。
具体的,针对所述不可移动区域,可以是通过以下步骤进行确定的:
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,获取所述障碍物的物体体积以及所述目标虚拟角色的角色体积;
基于所述物体体积和所述角色体积,确定所述目标虚拟角色沿所述第一路径前进的情况下,是否会与所述障碍物发生接触;
若所述目标虚拟角色会与所述障碍物发生接触,确定所述第一路径两侧中的至少一侧存在不可移动区域。
该步骤中,若所述第一路径两侧中的至少一侧的路径点上存在障碍物,可以理解,所述障碍物位于所述路径点上,即所述障碍物放置在所述网格上,在实际应用中,针对游戏而言,无论是所述目标虚拟角色还是所述障碍物,都具有一定的体积,在需要判断是否存在不可移动区域时,需要确定所述目标虚拟角色是否会与所述障碍物发生接触,因此,可以首先获取所述障碍物的物体体积以及所述目标虚拟角色的角色体积,从而判断所述目标虚拟角色沿所述第一路径前进的情况下,是否会与所述障碍物发生接触,在所述目标虚拟角色会与所述障碍物发生接触的情况下,此时所述障碍物所在的路径点即为不可走路径点,从而可以确定所述第一路径两侧中的至少一侧存在不可移动区域。
其中,所述物体角色包括有生命的个体体积,也包括没有生命的个体体积。
对于所述物体体积和所述角色体积,可以是指以所述障碍物或者所述目标虚拟角色的重心为中心,构建可以完全包覆所述障碍物或者所述目标虚拟角色的最小的几何体所占的体积,例如通过立方体、圆柱体等,以完全包覆所述障碍物或者所述目标虚拟角色,且立方体或者圆柱体的可能的最小体积作为所述障碍物的所述物体体积或者所述目标虚拟角色的所述角色体积。
所述目标虚拟角色与所述障碍物发生接触,可以是指所述目标虚拟角色在行进的过程中,所述目标虚拟角色的中心与所述障碍物的中心之间的距离,出现小于或者等于所述物体体积的半径与所述角色体积的半径之和的情况。
S105:响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点。
该步骤中,针对确定出的相邻的两个初始路径点,可以通过两个初始路径点之间构成的所述第一路径,对位于所述第一路径两侧的路径点进行遍历,并且可以着重对位于所述第一路径的远离所述不可移动区域的一侧的路径点进行遍历,以确定出可以作为目标路径点的路径点,例如可以是通过A*寻路算法、JPS寻路算法和JPS+寻路算法等方式,在所述第一路径的一侧确定出从所述两个初始路径点中的一个初始路径点至另一个初始路径点的最优路径,即资源消耗最少的最优路径,并且将最优路径上的路径点作为目标路径点,以将确定出的至少一个目标路径点添加在所述初始路径点之间。
具体的,请同时参阅图3,图3为本公开实施例的虚拟角色移动控制方法中添加目标路径点的流程图。如图3中所示,在一些可能的实施方式中,在所述相邻的两个初始路径点之间添加至少一个目标路径点,可以包括以下步骤:
S1051:按照所述初始路径的移动方向,确定所述相邻的两个初始路径点中的在先路径点和在后路径点。
S1052:按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点。
其中,预设条件可以是指所述在先路径点与相邻的目标路径点之间、相邻的两个目标路径点之间以及相邻的目标路径点与所述在后路径点之间,构成的路径与所述水平方向之间的夹角小于第二预设角度,或者构成的路径两侧中的至少一侧不存在不可移动区域。
具体的,针对筛选满足预设条件的至少一个目标路径点,可以是先确定在所述水平方向上位于所述在先路径点之后,并且与所述在先路径点相邻的临近路径点,然后确定所述临近路径点与所述在后路径点之间构成的第二路径两侧中的至少一侧是否存在不可移动区域,以及所述第二路径与所述水平方向之间的夹角是否小于第二预设角度。
该步骤中,在需要筛选得到至少一个目标路径点时,需要先确定是否满足预设条件,因此,可以确定在所述水平方向上位于所述在先路径点之后,并且与所述在先路径点相邻的临近路径点,从而得到所述临近路径点与所述在后路径点之间构成的第二路径,进而判断所述第二路径两侧中的至少一侧是否存在不可移动区域以及所述第二路径与所述水平方向之间的夹角是否小于第二预设角度。
这里,所述第二预设角度与所述第一预设角度可以为同一数值,也可以不为同一数值。
接着,若所述第二路径两侧中的至少一侧存在不可移动区域,并且所述第二路径与所述水平方向之间的夹角小于第二预设角度,将所述临近路径点作为所述在先路径点,再次确定所述在先路径点的临近路径点,直至在所述临近路径点与所述在后路径点相邻的情况下,所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度为止。
然后,将确定出的至少一个临近路径点确定为满足所述预设条件的至少一个目标路径点。
该步骤中,在确定所述第二路径两侧中的至少一侧不存在不可移动区域,并且所述第二路径与所述水平方向之间的夹角小于第二预设角度后,为了从至少一个临近路径点得到满足所述预设条件的至少一个目标路径点,需要使所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度,因此,可以将所述临近路径点作为所述在先路径点,进而再次确定所述在先路径点的临近路径点,以此类推,直至在所述临近了点与所述在后路径点相邻的情况下,所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度为止,从而可以将确定出的至少一个临近路径点确定为满足所述预设条件的至少一个目标路径点。
S1053:将所述至少一个目标路径点添加至所述在先路径点和所述在后路径点之间。
这样,通过在所述两个初始路径点之间添加至少一个目标路径点,可以保证后续确定的目标路径的准确性。
S106:基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
该步骤中,在得到所述目标路径点后,可以将所述目标路径点与初始路径点汇总,从而进一步得到所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
具体的,针对确定所述目标路径,可以先确定所述多个初始路径点中每个初始路径点的路点坐标,以及所述至少一个目标路径点中每个目标路径点的路点坐标。
然后,按照所述初始路径的移动方向,基于每个初始路径点的路点坐标和每个目标路径点的路点坐标,对所述多个初始路径点和所述至少一个目标路径点依次进行拟合,从而得到所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
该步骤中,在需要确定所述目标路径时,需要确定路径点的路点坐标,因此,可以首先确定所述多个初始路径点中每个初始路径点的路点坐标,以及所述至少一个目标路径点中每个目标路径点的路点坐标,进而按照所述初始路径的移动方向,根据每个初始路径点的路点坐标和每个目标路径点的路点坐标,针对所述多个初始路径点和所述至少一个目标路径点依次进行拟合,从而得到所述目标路径。
示例性的,请参阅图4,图4为本公开实施例提供的虚拟角色移动示意图。在游戏中目标虚拟角色进行移动时,可以先对游戏场景的地图400进行网格化处理,并且可以将目标虚拟角色和障碍物的位置用坐标进行表示。如图4中所示,可以以游戏场景坐标系的坐标轴x的方向为第一方向,以坐标轴y的方向为第二方向,得到包括有呈矩阵排列的多个路径点的网格地图(仅示出部分),然后在网格地图上可以通过目标虚拟角色的起点和终点规划得到初始路径,对初始路径以及障碍物上的路径点进行标记,例如初始路径包括如图中所示的从路径点1至路径点13之间的多个路径点,此外,在初始路径的两侧,可能会存在不可移动区域,即存在障碍物的路径点,包括如图中所示的从路径点14至路径点18之间的多个路径点。如图4中所示的路径点1对应起点的位置,路径点13对应终点的位置。
在所述目标虚拟角色沿着由路径点1至路径点13的初始路径的移动方向前进的情况下,在前行至路径点8时,在从路径点8以斜方向移动到路径点9的过程中,可能会发生与存在障碍物的路径点18发生接触、碰撞甚至挤压的情况,从而造成模型穿插的现象,为避发生上述现象,因为存在障碍物的路径点18存在于路径点8和路径点9之间构成的路径的一侧,所以需要在所述路径的另一侧寻找并添加目标路径点,从而筛选出路径点19作为目标路径点。将路径点19添加至初始路径中,得到目标路径,即依照路径点1、2、3、4、5、6、7、8、19、9、10、11、12、13的顺序构成的目标路径。
此外,若路径点19也是存在障碍物的路径点,那么从路径点8移动到路径点9的过程中,需要寻找并添加多个目标路径点,因此,可以沿着初始路径的移动方向,得到路径点8的下一个路径点,即路径点21,因为存在障碍物的路径点19存在于路径点8和路径点21之间构成的路径的一侧,所以需要在所述路径的另一侧寻找并添加目标路径点,从而筛选出路径点20作为目标路径点,然后,沿着初始路径的移动方向,得到路径点21的下一个路径点,即路径点23,因为存在障碍物的路径点19存在于路径点21和路径点23之间构成的路径的一侧,所以需要在所述路径的另一侧寻找并添加目标路径点,从而筛选出路径点22作为目标路径点,接着,沿着初始路径的移动方向,得到路径点23的下一个路径点,即路径点9,因为存在障碍物的路径点19存在于路径点23和路径点9之间的路径的一侧,所以需要在所述路径的另一侧寻找并添加目标路径点,从而筛选出路径点24作为目标路径点,进而筛选出路径点20、21、22、23、24作为目标路径点。将目标路径点20至24添加至初始路径中,从而得到目标路径,即依照路径点1、2、3、4、5、6、7、8、20、21、22、23、24、9、10、11、12、13的顺序构成的目标路径。
本公开实施例提供的虚拟角色移动控制方法,可以在对游戏场景中的目标虚拟角色进行移动控制时,响应于用户的触发,根据进行移动的起点和终点得到包括多个初始路径点的初始路径,进而确定相邻的两个初始路径点之间构成的、与游戏场景中的水平方向之间的夹角小于第一预设角度的第一路径,在第一路径两侧中的至少一侧存在不可移动区域时,在相邻的两个初始路径点之间添加目标路径点,以对初始路径进行调整,从而得到目标路径,实现一定距离的绕行,可以使目标虚拟角色在移动过程中远离存在障碍物的不可移动区域,减少虚拟角色与不可移动区域中的障碍物的接触几率,从而大大降低由于移动中存在拐角等路径时造成的角色模型与障碍物模型发生穿模现象的几率,有效改善碰撞导致的挤压卡顿的问题,有利于提高画面的流畅性和界面内容真实性。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与虚拟角色移动控制方法对应的虚拟角色移动控制装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述虚拟角色移动控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图5,图5为本公开实施例提供的一种虚拟角色移动控制装置的示意图,如图5中所示,本公开实施例提供的虚拟角色移动控制装置500,包括:
位置确定模块510,用于响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点。
初始路径确定模块520,用于基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点。
角度判断模块530,用于判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度。
区域判断模块540,用于响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域。
路径点添加模块550,用于响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点。
目标路径确定模块560,用于基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
一种可选的实施方式中,所述初始路径确定模块520具体用于:
对游戏场景中的地图进行网格化处理,得到网格地图,其中,所述网格地图包括多个网格,每个网格能够作为一个路径点;
基于所述网格地图,为所述目标虚拟角色规划从所述起点至所述终点的初始路径。
一种可选的实施方式中,所述区域判断模块540具体用于:
响应于所述第一路径与所述游戏场景的水平方向之间的夹角小于第一预设角度,检测所述第一路径两侧中的至少一侧的路径点上是否存在障碍物;
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域。
一种可选的实施方式中,所述区域判断模块540在用于若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域时,具体用于:
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,获取所述障碍物的物体体积以及所述目标虚拟角色的角色体积;
基于所述物体体积和所述角色体积,确定所述目标虚拟角色沿所述第一路径前进的情况下,是否会与所述障碍物发生接触;
若所述目标虚拟角色会与所述障碍物发生接触,确定所述第一路径两侧中的至少一侧存在不可移动区域。
一种可选的实施方式中,所述路径点添加模块550具体用于:
按照所述初始路径的移动方向,确定所述相邻的两个初始路径点中的在先路径点和在后路径点;
按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点;
将所述至少一个目标路径点添加至所述在先路径点和所述在后路径点之间。
一种可选的实施方式中,所述路径点添加模块550在用于按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点时,具体用于:
确定在所述水平方向上位于所述在先路径点之后,并且与所述在先路径点相邻的临近路径点;
确定所述临近路径点与所述在后路径点之间构成的第二路径两侧中的至少一侧是否存在不可移动区域,以及所述第二路径与所述水平方向之间的夹角是否小于第二预设角度;
若所述第二路径两侧中的至少一侧存在不可移动区域,并且所述第二路径与所述水平方向之间的夹角小于第二预设角度,将所述临近路径点作为所述在先路径点,再次确定所述在先路径点的临近路径点,直至在所述临近路径点与所述在后路径点相邻的情况下,所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度为止;
将确定出的至少一个临近路径点确定为满足所述预设条件的至少一个目标路径点。
一种可选的实施方式中,所述目标路径确定模块560具体用于:
确定所述多个初始路径点中每个初始路径点的路点坐标,以及所述至少一个目标路径点中每个目标路径点的路点坐标;
按照所述初始路径的移动方向,基于每个初始路径点的路点坐标和每个目标路径点的路点坐标,对所述多个初始路径点和所述至少一个目标路径点依次进行拟合,得到所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
本公开实施例提供的虚拟角色移动控制装置,可以在对游戏场景中的目标虚拟角色进行移动控制时,响应于用户的触发,根据进行移动的起点和终点得到包括多个初始路径点的初始路径,进而确定相邻的两个初始路径点之间构成的、与游戏场景中的水平方向之间的夹角小于第一预设角度的第一路径,在第一路径两侧中的至少一侧存在不可移动区域时,在相邻的两个初始路径点之间添加目标路径点,以对初始路径进行调整,从而得到目标路径,实现一定距离的绕行,可以使目标虚拟角色在移动过程中远离存在障碍物的不可移动区域,减少虚拟角色与不可移动区域中的障碍物的接触几率,从而大大降低由于移动中存在拐角等路径时造成的角色模型与障碍物模型发生穿模现象的几率,有效改善碰撞导致的挤压卡顿的问题,有利于提高画面的流畅性和界面内容真实性。
基于同一发明构思,由于本公开实施例中的方法解决问题的原理与本公开实施例上述虚拟角色移动控制装置相似,因此方法的实施可以参见装置的实施,重复之处不再赘述。
对应于上述的虚拟角色移动控制方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:
处理器610、存储器620、和总线630;存储器620用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器610中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器610通过内存621与外部存储器622进行数据交换,当所述电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,使得所述处理器610可以执行上述的虚拟角色移动控制方法的步骤。
上述指令的具体执行过程可以参考本公开实施例中所述的虚拟角色移动控制方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的虚拟角色移动控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的虚拟角色移动控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的方法、装置、设备和存储介质,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种虚拟角色移动控制方法,其特征在于,所述方法包括:
响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点;
基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点;
判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度;
响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域;
响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点;
基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
2.根据权利要求1所述的方法,其特征在于,所述基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,包括:
对游戏场景中的地图进行网格化处理,得到网格地图,其中,所述网格地图包括多个网格,每个网格能够作为一个路径点;
基于所述网格地图,为所述目标虚拟角色规划从所述起点至所述终点的初始路径。
3.根据权利要求1所述的方法,其特征在于,所述响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域,包括:
响应于所述第一路径与所述游戏场景的水平方向之间的夹角小于第一预设角度,检测所述第一路径两侧中的至少一侧的路径点上是否存在障碍物;
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域。
4.根据权利要求3所述的方法,其特征在于,所述若所述第一路径两侧中的至少一侧的路径点上存在障碍物,确定所述第一路径两侧中的至少一侧存在不可移动区域,包括:
若所述第一路径两侧中的至少一侧的路径点上存在障碍物,获取所述障碍物的物体体积以及所述目标虚拟角色的角色体积;
基于所述物体体积和所述角色体积,确定所述目标虚拟角色沿所述第一路径前进的情况下,是否会与所述障碍物发生接触;
若所述目标虚拟角色会与所述障碍物发生接触,确定所述第一路径两侧中的至少一侧存在不可移动区域。
5.根据权利要求1所述的方法,其特征在于,所述在所述相邻的两个初始路径点之间添加至少一个目标路径点,包括:
按照所述初始路径的移动方向,确定所述相邻的两个初始路径点中的在先路径点和在后路径点;
按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点;
将所述至少一个目标路径点添加至所述在先路径点和所述在后路径点之间。
6.根据权利要求5所述的方法,其特征在于,所述按照所述水平方向,从位于所述在先路径点之后的多个路径点中,筛选满足预设条件的至少一个目标路径点,包括:
确定在所述水平方向上位于所述在先路径点之后,并且与所述在先路径点相邻的临近路径点;
确定所述临近路径点与所述在后路径点之间构成的第二路径两侧中的至少一侧是否存在不可移动区域,以及所述第二路径与所述水平方向之间的夹角是否小于第二预设角度;
若所述第二路径两侧中的至少一侧存在不可移动区域,并且所述第二路径与所述水平方向之间的夹角小于第二预设角度,将所述临近路径点作为所述在先路径点,再次确定所述在先路径点的临近路径点,直至在所述临近路径点与所述在后路径点相邻的情况下,所述临近路径点与所述在后路径点之间的第二路径两侧中的至少一侧不存在不可移动区域,或者所述临近路径点与所述在后路径点之间的第二路径与所述水平方向之间的夹角大于或等于第二预设角度为止;
将确定出的至少一个临近路径点确定为满足所述预设条件的至少一个目标路径点。
7.根据权利要求1所述的方法,其特征在于,所述基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径,包括:
确定所述多个初始路径点中每个初始路径点的路点坐标,以及所述至少一个目标路径点中每个目标路径点的路点坐标;
按照所述初始路径的移动方向,基于每个初始路径点的路点坐标和每个目标路径点的路点坐标,对所述多个初始路径点和所述至少一个目标路径点依次进行拟合,得到所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
8.一种虚拟角色移动控制装置,其特征在于,所述装置包括:
位置确定模块,用于响应于用户的触发,确定目标虚拟角色在游戏场景中进行移动的起点和终点;
初始路径确定模块,用于基于所述起点和所述终点,确定所述目标虚拟角色在所述游戏场景中进行移动的初始路径,其中,所述初始路径包括多个初始路径点;
角度判断模块,用于判断多个所述初始路径点中,相邻的两个初始路径点之间构成的第一路径与所述游戏场景的水平方向之间的夹角是否小于第一预设角度;
区域判断模块,响应于小于,判断所述第一路径两侧中的至少一侧是否存在不可移动区域;
路径点添加模块,用于响应于存在,在所述相邻的两个初始路径点之间添加至少一个目标路径点,其中,所述目标路径点为位于所述第一路径另一侧的可走路径点;
目标路径确定模块,用于基于所述多个初始路径点和所述至少一个目标路径点,确定所述目标虚拟角色在所述游戏场景中进行移动的目标路径。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时实现如权利要求1至8中任一项所述的虚拟角色移动控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时实现如权利要求1至8中任一项所述的虚拟角色移动控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210486113.1A CN114870399A (zh) | 2022-05-06 | 2022-05-06 | 一种虚拟角色移动控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210486113.1A CN114870399A (zh) | 2022-05-06 | 2022-05-06 | 一种虚拟角色移动控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114870399A true CN114870399A (zh) | 2022-08-09 |
Family
ID=82674175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210486113.1A Pending CN114870399A (zh) | 2022-05-06 | 2022-05-06 | 一种虚拟角色移动控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114870399A (zh) |
-
2022
- 2022-05-06 CN CN202210486113.1A patent/CN114870399A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7350263B2 (ja) | 位置指示情報の表示方法、電子装置、記憶媒体、及びコンピュータプログラム | |
CN110812844B (zh) | 一种游戏中的寻路方法、终端及可读存储介质 | |
WO2018130135A1 (zh) | 一种控制模拟对象寻路的方法、装置及服务器 | |
CN108211354A (zh) | 3d游戏场景中虚拟资源的生成方法及装置 | |
US7927215B2 (en) | Storage medium storing a game program, game apparatus and game controlling method | |
US20110250967A1 (en) | Gamepiece controller using a movable position-sensing display device | |
CN110755848A (zh) | 一种游戏中的寻路方法、终端及可读存储介质 | |
CN112619150B (zh) | 基于游戏场景的寻路方法及装置、设备、介质 | |
US20130016896A1 (en) | 3D Visualization of Light Detection and Ranging Data | |
CN109925720A (zh) | 信息处理方法和装置 | |
CN112774201B (zh) | 一种虚拟角色掩蔽方法、装置、计算机设备及存储介质 | |
US11833421B2 (en) | Program, game control method, and information processing apparatus | |
US8267788B2 (en) | Gamepiece controller using a movable position-sensing display device including a movement currency mode of movement | |
CN111249735A (zh) | 控制对象的路径规划方法、装置、处理器及电子装置 | |
CN110585731A (zh) | 在虚拟环境中投掷虚拟物品的方法、装置、终端及介质 | |
CN113101663B (zh) | 游戏的寻路控制方法、装置、处理设备及存储介质 | |
WO2023051671A1 (zh) | 基于体素数据的数据处理方法、服务器、介质及计算机程序产品 | |
CN114404986A (zh) | 玩家角色的控制方法、装置、电子设备及存储介质 | |
CN113209624A (zh) | 一种目标选取方法、终端、电子设备及存储介质 | |
JP7341801B2 (ja) | ビデオゲーム処理プログラム、及びビデオゲーム処理システム | |
CN114870399A (zh) | 一种虚拟角色移动控制方法、装置、电子设备及存储介质 | |
KR102260409B1 (ko) | 게임 인터페이스 방법 및 장치 | |
CN116421975A (zh) | 角色的移动控制方法、装置、计算机设备及可读存储介质 | |
CN112774204B (zh) | 一种角色碰撞规避方法、装置、设备以及存储介质 | |
CN114612553A (zh) | 一种虚拟对象的控制方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |