CN107744663B - 人工智能ai单位的寻路方法及装置 - Google Patents

人工智能ai单位的寻路方法及装置 Download PDF

Info

Publication number
CN107744663B
CN107744663B CN201710978524.1A CN201710978524A CN107744663B CN 107744663 B CN107744663 B CN 107744663B CN 201710978524 A CN201710978524 A CN 201710978524A CN 107744663 B CN107744663 B CN 107744663B
Authority
CN
China
Prior art keywords
unit
units
grid
potential field
point
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.)
Active
Application number
CN201710978524.1A
Other languages
English (en)
Other versions
CN107744663A (zh
Inventor
周贤军
李小勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yidianlingxi Information Technology Guangzhou Co ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201710978524.1A priority Critical patent/CN107744663B/zh
Publication of CN107744663A publication Critical patent/CN107744663A/zh
Application granted granted Critical
Publication of CN107744663B publication Critical patent/CN107744663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供一种人工智能AI单位的寻路方法及装置。该方法包括:分别获取多个AI单位中每个AI单位的起始位置和终点位置;根据每个AI单位的终点位置,生成终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格;根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。本发明实施例通过预先计算不同的终点位置对应的势场网格,在AI单位移动过程中不需要再进行寻路计算,当多个AI单位的终点位置相同时,使用同一个势场网格对多个AI单位进行寻路即可,从而节省了AI单位在移动过程中的计算量,从而避免了由于大量AI单位同时需要寻路而造成的游戏画面卡顿。

Description

人工智能AI单位的寻路方法及装置
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种人工智能AI单位的寻路方法及装置。
背景技术
人工智能是游戏设计过程中重要的组成部分,寻路算法是人工智能应用于游戏中的最基本问题之一。在当今的游戏业界主流的寻路算法有A-Star算法。
A-Star算法是一种静态路网中求解最短路径最有效的直接搜索方法,是一种启发式搜索算法,算法中的距离估算值与实际值越接近,A-Star算法的搜索速度越快,但是A-Star算法的性能会受到游戏地图大小和人工智能单位数量的影响,当游戏地图中有大量的人工智能单位需要寻路时,由于A-Star算法会为每个人工智能单位进行启发式搜索,从而导致A-Star算法的性能受到严重影响,导致游戏画面出现卡顿。
发明内容
本发明实施例提供一种人工智能AI单位的寻路方法及装置,以避免由于大量AI单位同时需要寻路而造成的游戏画面卡顿。
本发明实施例的一个方面是提供一种人工智能AI单位的寻路方法,包括:
分别获取多个AI单位中每个AI单位的起始位置和终点位置;
根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格;
根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。
本发明实施例的另一个方面是提供一种人工智能AI单位的寻路装置,包括:
获取模块,用于分别获取多个AI单位中每个AI单位的起始位置和终点位置;
生成模块,用于根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格;
确定模块,用于根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。
本发明实施例提供的人工智能AI单位的寻路方法及装置,通过预先计算不同的终点位置对应的势场网格,终点位置相同的多个AI单位共用同一个势场网格,在AI单位移动过程中不需要再进行寻路计算,当多个AI单位的终点位置相同时,使用同一个势场网格对多个AI单位进行寻路即可,从而节省了AI单位在移动过程中的计算量,当AI单位的数量增加时,不会严重影响算法的性能,从而避免了由于大量AI单位同时需要寻路而造成的游戏画面卡顿。
附图说明
图1为本发明实施例提供的人工智能AI单位的寻路方法流程图;
图2为本发明实施例提供的游戏场景网格化的示意图;
图3为本发明实施例提供的势场寻路的示意图;
图4为本发明实施例提供的四向直接邻接点的示意图;
图5为本发明实施例提供的八向直接邻接点的示意图;
图6为本发明实施例提供的势场寻路的示意图;
图7为本发明另一实施例提供的人工智能AI单位的寻路方法流程图;
图8为本发明另一实施例提供的势场寻路的示意图;
图9为本发明另一实施例提供的势场寻路的示意图;
图10为本发明另一实施例提供的势场寻路的示意图;
图11为本发明实施例提供的人工智能AI单位的寻路装置的结构图;
图12为本发明实施例提供的人工智能AI单位的寻路装置的结构图。
具体实施方式
图1为本发明实施例提供的人工智能AI单位的寻路方法流程图。本发明实施例针对现有技术中游戏业界主流的寻路算法的性能受人工智能(Artificial Intelligence,简称AI)单位数量的影响,导致游戏画面出现卡顿,提供了一种人工智能AI单位的寻路方法,在介绍人工智能AI单位的寻路方法之前,先介绍如下几个定义:
定义1:为了计算方便,在AI单位寻路时,将游戏场景也可以称为游戏地图划分为大量大小相同的网格,大量大小相同的网格构成二维数组,如图2所示,20表示游戏场景,21表示对游戏场景20进行网格划分后的一个网格,网格划分之后的游戏场景20称为“寻路势场网格”。如图2所示,假设该AI单位的起点在22标识的位置,该AI单位的终点在0标识的位置,该AI单位从起点22到终点0所经过的每一个网格叫做一个“路点”,该AI单位从起点22到终点0所经过的所有“路点”构成“寻路路径”。
定义2:静态阻碍是指AI对象在寻路移动过程中要避开的不可移动且状态不可改变的障碍物,比如游戏中的树、河流等,如图2中的黑色方格,23表示静态阻碍中的一个网格。AI对象从起点22到终点0的过程中要避开静态阻碍。
定义3:动态阻碍是指AI对象在寻路移动过程中会移动或者状态会改变的障碍物,例如游戏中的其它玩家、其它第三方非玩家控制角色(Non Player Character,简称NPC)等可以移动的障碍物。
定义4:由于寻路算法的数据结构是基于二维网格数组,会导致算出来的路径会会僵硬不自然,因此采用双线性插值算法对路点进行平滑处理。除此之外还会做很多其它的平滑处理,最终目的都是为寻路更加自然和智能。
定义5:势场是一组网格即势场网格。势场网格中每个网格用一个数字表示,该数字可以表示当期情况下AI对象从该网格到终点所需要的步长。另外,每个网格上的数字将是决定AI对象移动的因素。建立势场网格时,需要计算一整张地图中每个网格的数字。并且AI对象起点的数字相对于终点的数字要大,以便AI对象从数字较大的位置移动到数字较小的位置,可选的,终点对应的数字为0,这样可使AI对象最终移动到终点,AI对象从起点到终点的过程可以看作是AI对象逐步向势场吸引力最小的点0靠近的过程,这个过程称为“势场寻路”,如图3所示。
定义6:四向直接邻接点是指如图4所示的网格10的上、下、左、右四个方向的相邻点,例如网格11、网格12、网格13、网格14是网格10的四向直接邻接点。八向直接邻接点是指如图5所示的网格10的上、下、左、右、上左、上右、下左、下右八个方向的相邻点,例如网格11、网格12、网格13、网格14、网格15、网格16、网格17、网格18是网格10的八向直接邻接点。
本实施例提供的人工智能AI单位的寻路方法的具体步骤如下:
步骤S101、分别获取多个AI单位中每个AI单位的起始位置和终点位置。
在本实施例中,一个游戏场景中可以由多个AI单位,并且可以为多个AI单位同时寻路,在为多个AI单位同时寻路之前,需要获取多个AI单位中每个AI单位的起始位置和终点位置。
可选的,所述分别获取多个AI单位中每个AI单位的起始位置和终点位置,包括:接收输入的每个AI单位的起始位置和初始终点;判断所述初始终点是否为阻碍点;若所述初始终点是阻碍点,则从所述初始终点周围的预设范围内确定一个代价值最小的非阻碍点,并将所述代价值最小的非阻碍点作为所述终点位置。
以多个AI单位中的一个AI单位为例,当接收到该AI单位的起始位置和初始终点时,先判断该AI单位的初始终点是否为阻碍点,如果不是则将该AI单位的初始终点作为终点位置,如果该AI单位的初始终点是阻碍点,则从该AI单位的初始终点周围的预设范围内确定出一个非阻碍点,例如,AI单位的初始终点为如图6所示的网格60,但是网格60是阻碍点,因此需要从网格60周围的预设范围内例如61所标识的范围内选择出一个非阻碍点作为AI单位的终点位置,具体方法可以是:遍历61所标识的范围内的每一个非阻碍点,并根据如下公式(1)所示的代价计算公式,计算每一个非阻碍点的代价值:
Cost(x,y)=Distance(E-A)2+Distance(S-A) (1)
其中,Cost(x,y)表示代价值,E表示初始终点,A表示61所标识的范围内的一个非阻碍点,S表示起始位置,Dis tan ce表示两点之间的距离。容易理解,61所标识的范围内的每个非阻碍点对应一个代价值,本实施例将代价值取值最小时对应的非阻碍点作为该AI单位的终点位置,假设网格62对应的非阻碍点的代价值最小,则将网格62对应的非阻碍点作为该AI单位的终点位置。其他AI单位的终点位置的确定方法与此类似,此处不一一赘述。
步骤S102、根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格。
在本实施例中,多个AI单位中每个AI单位的终点位置可能不同,也可能部分相同,例如,多个AI单位分别为AI单位1、AI单位2、AI单位3、AI单位4、AI单位5,AI单位1、AI单位2、AI单位3、AI单位4、AI单位5各自的终点位置可能互不相同,也有可能部分相同,例如,AI单位1、AI单位2的终点位置相同,AI单位3、AI单位4的终点位置相同。
如果AI单位1、AI单位2、AI单位3、AI单位4、AI单位5各自的终点位置互不相同,则根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,即5个不同的终点位置中一个终点位置就对应一个游戏地图的势场网格。
如果AI单位1、AI单位2的终点位置相同,AI单位3、AI单位4的终点位置相同,则根据AI单位1、AI单位2的终点位置生成一个势场网格,根据AI单位3、AI单位4的终点位置生成一个势场网格,根据AI单位5的终点位置生成一个势场网格,即相同的终点位置对应相同的势场网格,也就是说终点位置相同的AI单位共用同一个势场网格。
不是一般性,如图2所示,除了黑色方框所示的静态阻碍之外,每个网格都可能是某一个AI单位的终点位置,因此,可以将图2中除了黑色方框之外的每一个白色方框作为一个终点位置,生成该终点位置对应的游戏地图的势场网格,合理假设图2中除了黑色方框之外的白色方框有100个,则每一个白色方框作为终点位置时将对应一个势场网格,则100个白色方框将对应100个势场网格,对于同一个势场网格而言,可能有多个AI单位具有相同的终点位置,则该多个AI单位将共用同一个势场网格。
在本实施例中,所述势场网格包括:第一数组、计数值、第二数组;其中,所述第一数组包括所述势场网格中每个网格对应的第一数值,所述第一数值表示从所述网格到所述终点位置所需的步长;所述计数值表示依据所述势场网格寻路的AI单位的数量;所述第二数组包括所述势场网格中每个网格对应的第二数值,所述第二数值表示从所述网格是否可以直线通往所述终点位置。
具体的,所述第一数组为势场网格数组Field{Width,Height},计数值为一个引用当前势场网格的引用计数,所述第二数组为用于表示是否可直线通往终点的数组IsLOS{Width,Height}。
可选的,每个势场网格对应一个结构体PFGrid,结构体PFGrid包括一个势场网格数组Field{Width,Height}、一个引用当前势场网格的引用计数Count、一个用于表示是否可直线通往终点的数组IsLOS{Width,Height},其中,Field{Width,Height}和IsLOS{Width,Height}均为二维数组,Count为整型数,Width表示游戏地图的宽,Height表示游戏地图的高。如图2所示,游戏地图被划分为14*25个网格,则Field{Width,Height}和IsLOS{Width,Height}均为14*25的二维数组,Field{Width,Height}的第一行第一列的元素对应图2中第一行第一列的网格,同理,IsLOS{Width,Height}的第一行第一列的元素对应图2中第一行第一列的网格,其他元素和网格的对应关系依次类推。
可以理解,Field{Width,Height}的大小和势场网格的大小一致,Field{Width,Height}中每个元素对应一个数字,一个元素的数字表示从该元素对应的网格到所述终点位置所需的步长,Count表示依据所述势场网格寻路的AI单位的数量,IsLOS{Width,Height}的大小和势场网格的大小一致,IsLOS{Width,Height}的每个元素的值为1或0,若该元素的值为1,则表示从该元素对应的网格可以直线通往终点位置,若该元素的值为0,则表示从该元素对应的网格不可以直线通往终点位置,即中间有障碍物。
终点位置相同的AI单位共用同一个势场网格,即同一个势场网格的结构体PFGrid。下面介绍势场网格的具体生成方法:
A)检测AI单位的终点位置是否对应有已经生成的势场网格,如果是则执行步骤C),否则执行步骤B)。
B)采用Dijkstra算法计算势场网格数组Field{Width,Height],具体过程为:
首先,定义DijkstraList列表,将AI单位的终点位置加入DijkstraList列表中,并定义终点A(x,y)的势场数字为0,即Field[A(x,y)]=0。
然后,循环递推遍历DijkstraList列表,取DijkstraList列表中的一点B(x,y),判断B(x,y)的四向直接邻接点中的每个邻接点C(x,y)是否具有势场数字,若C(x,y)为非阻碍点,且不具有势场数字,则将C(x,y)加入到DijkstraList列表中,并定义C(x,y)的势场数字为B(x,y)的势场数字加1,即Field[C(x,y)]=Field[B(x,y)]+1。循环递推遍历DijkstraList列表中的每个点,反复执行此操作,直至DijkstraList列表变为空。计算结果如图3所示,每个网格对应一个势场数字,0表示终点位置。
最后,计算如图2所示的每个网格是否可直线通往终点位置0,从而构成数组IsLOS[Width,Height],例如,D(x,y)是如图2所示的除障碍物之外的一个网格,若从D(x,y)可直线通往终点位置,中间无阻碍,则置IsLOS[D(x,y)]为1,否则置IsLOS[D(x,y)]为0。
C)势场网格的引用计数Count加1。该引用计数标识此势场网格有多少个AI单位正在使用该势场网格进行寻路。另外,引用计数Count是实时变化的,如果当前使用该势场网格进行寻路的AI单位数量减少,则减小该引用计数Count,如果当前使用该势场网格进行寻路的AI单位数量增加,则增大该引用计数Count。
步骤S103、根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。
根据上述步骤得到每个AI单位对应的势场网格后,根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径,即根据每个AI单位对应的势场网格,分别为每个AI单位执行寻路过程,在寻路过程中,每个不同的终点位置对应的势场网格并不是一尘不变的,所述AI单位在移动过程中,若所述游戏地图中的障碍区域发生变化,则更新所述计数值大于0的势场网格。
例如,当游戏场景中有动态障碍物发生移动并停止后,还需要更新每个不同的终点位置对应的势场网格,具体可以更新引用计数Count大于0的势场网格。
本发明实施例通过预先计算不同的终点位置对应的势场网格,终点位置相同的多个AI单位共用同一个势场网格,在AI单位移动过程中不需要再进行寻路计算,当多个AI单位的终点位置相同时,使用同一个势场网格对多个AI单位进行寻路即可,从而节省了AI单位在移动过程中的计算量,当AI单位的数量增加时,不会严重影响算法的性能,从而避免了由于大量AI单位同时需要寻路而造成的游戏画面卡顿。
图7为本发明另一实施例提供的人工智能AI单位的寻路方法流程图。在上述实施例的基础上,步骤S103根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径,包括:确定每个AI单位从当前位置移动到下一个位置的目标移动方向。下面详细介绍如何确定每个AI单位从当前位置移动到下一个位置的目标移动方向,具体方法包括如下步骤:
步骤S701、根据所述当前位置和所述当前位置的邻接点,确定所述当前位置对应的目标移动点和所述当前位置的邻接点分别对应的目标移动点。
以一个AI单位的寻路为例,假设该AI单位当前位于E(x,y),获取E(x,y)的八向直接邻接点,找出E(x,y)的八向直接邻接点中势场数字Field[F(x,y)]最小的非阻碍邻接点网格F(x,y),将F(x,y)作为E(x,y)的目标移动点。
获取E(x,y)的附件三个点E(x,y+1)、E(x+1,y)、E(x+1,y+1),同理,确定出E(x,y+1)的目标移动点F(x,y+1)、E(x+1,y)的目标移动点F(x+1,y)、E(x+1,y+1)的目标移动点F(x+1,y+1),从而得到四个目标移动点F(x,y)、F(x,y+1)、F(x+1,y)、F(x+1,y+1)。进一步的,依次判断F(x,y)、F(x,y+1)、F(x+1,y)、F(x+1,y+1)是否可以直接通往AI单位的终点位置A(x,y),即判断IsLOS[F(x,y)]是否为1、IsLOS[F(x,y+1)]是否为1、IsLOS[F(x+1,y)]是否为1、IsLOS[F(x+1,y+1)]是否为1,若IsLOS[F(x,y)]为1,则将F(x,y)替换为A(x,y),若IsLOS[F(x,y+1)]为1,则将F(x,y+1)替换为A(x,y),若IsLOS[F(x+1,y)]为1,则将F(x+1,y)替换为A(x,y),若IsLOS[F(x+1,y+1)]为1,则将F(x+1,y+1)替换为A(x,y)。从而得到最终的四个目标移动点。
步骤S702、根据所述当前位置和每个目标移动点,确定所述当前位置分别到每个目标移动点的方向向量。
根据最终的四个目标移动点和该AI单位的当前位置E(x,y),确定从E(x,y)到每一个目标移动点的方向向量,从而得到四个方向向量,分别记为D00、D01、D10、D11。
步骤S703、根据所述当前位置分别到每个目标移动点的方向向量,确定第一移动方向。
对上述四个方向向量D00、D01、D10、D11进行双线性插值使方向的变化更加平滑,最终得到移动方向向量Dir1,如图8所示,该势场网格中存在两个AI单位,该两个AI单位的终点位置相同,均为0所标识的终点位置,路径81是当前情况下确定出的其中一个AI单位的寻路路径,路径82是当前情况下确定出的另一个AI单位的寻路路径,移动方向向量Dir1即为路径81或路径82中从势场数字较大的网格到相邻的势场数字较小的网格的方向,例如,路径81中,移动方向向量Dir1是实时变化的,例如,从网格20到网格19的移动方向向量、从网格19到网格18的移动方向向量、从网格18到网格17的移动方向向量一致,从网格17到网格15的移动方向向量发生变化,依次类推。此处需要注意的是,移动方向向量Dir1并不是该AI单位实际的移动方向,而是确定该AI单位实际移动方向的一个因素。进一步的,还需要对该AI单位和该AI单位周围的其他AI单位进行动态碰撞检测,根据动态碰撞检测的结果确定出移动方向向量Dir2,由移动方向向量Dir1和移动方向向量Dir2来共同确定该AI单位实际的移动方向。
步骤S704、对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交。
所述对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交,包括:根据所述AI单位的当前位置和所述AI单位的球形动态阻碍半径,以及所述AI单位周围的其他AI单位的当前位置和其他AI单位的球形动态阻碍半径,计算所述第二移动方向;若所述第二移动方向不为0,则确定所述AI单位与所述AI单位周围的其他AI单位相交。
假设该AI单位的当前位置为Pos1,Pos1可以是该AI单位在游戏地图中的经纬度,该AI单位的球形动态阻碍半径为R1,该AI单位的球形动态阻碍半径R1可以根据该AI单位在游戏地图中的体积来确定,另外,假设该AI单位周围有n个其他AI单位,每个其他AI单位的经纬度为Pos2,可以理解,每个其他AI单位的经纬度均不相同,每个其他AI单位的球形动态阻碍半径为R2,可以理解,每个其他AI单位的球形动态阻碍半径R2可以相同,也可以不同,且其他AI单位的球形动态阻碍半径R2可以根据其在游戏地图中的体积来确定。
根据所述AI单位的当前位置和所述AI单位的球形动态阻碍半径,以及所述AI单位周围的其他AI单位的当前位置和其他AI单位的球形动态阻碍半径,计算所述第二移动方向即移动方向向量Dir2的公式如下公式(2)所示:
Figure BDA0001438241940000101
其中,n表示该AI单位周围其他AI单位的个数,Normalize表示向量的法向量,Distance表示两点之间的距离,初始状态下移动方向向量Dir2为0。如果移动方向向量Dir2不为0,则表示所述AI单位与所述AI单位周围的其他AI单位相交,如果移动方向向量Dir2为0,则表示所述AI单位与所述AI单位周围的其他AI单位不相交。
步骤S705、若所述AI单位与所述AI单位周围的其他AI单位相交,则根据所述AI单位与距离所述AI单位最近的AI单位之间的位置关系,对所述AI单位与所述AI单位周围的其他AI单位相交后的第二移动方向进行旋转得到修正后的第二移动方向。
进一步的,当移动方向向量Dir2不为0时,确定该AI单位与距离该AI单位最近的AI单位之间的位置关系,假设最近的AI单位在该AI单位的左边,则将移动方向向量Dir2向右旋转90度,若最近的AI单位在该AI单位的右边,则将移动方向向量Dir2向左旋转90度,从而防止该AI单位与其最近的AI单位重叠而无法绕开动态阻碍,另外,当多个AI单位同时按相同轨迹移动时,还能使多个AI单位保持阵形。此处只是示意性说明,还可以有其他的对移动方向向量Dir2进行旋转的方法。对移动方向向量Dir2进行旋转后得到修正的移动方向向量Dir2。
如图9所示,AI单位91、AI单位92、AI单位93分别是AI单位90周围的其他AI单位,根据公式(2)可以计算出AI单位90对应的移动方向向量Dir2,AI单位90对应的移动方向向量Dir2具体为如图9箭头A所示的方向,当移动方向向量Dir2不为0时,表示AI单位90与周围的其他AI单位相交,例如,AI单位90与AI单位92相交,相交部分为图9所示的阴影部分,进一步的,确定AI单位90与距离AI单位90最近的AI单位之间的位置关系,如图9所示,AI单位92是距离AI单位90最近的AI单位,且AI单位92在AI单位90的右边,则将AI单位90对应的移动方向向量Dir2向左旋转90度,得到如图10所示的箭头B所示的方向,从而避免了AI单位90与AI单位92重叠而导致AI单位90无法绕开动态阻碍,此外,如图10所示,对AI单位90对应的移动方向向量Dir2进行旋转修正后,可保证AI单位90与其周围的其他AI单位的移动方向向量一致,从而能够保持AI单位90、AI单位91、AI单位92、AI单位93的阵形整齐。
步骤S706、根据所述第一移动方向和所述修正后的第二移动方向确定所述目标移动方向。
在本实施例中,所述第一移动方向具体为移动方向向量Dir1,第二移动方向具体为移动方向向量Dir2,进一步,根据移动方向向量Dir1和修正的移动方向向量Dir2确定所述目标移动方向Dir,具体的计算公式为如下公式(3):
Dir=Dir1+Dir2*1.1 (3)
目标移动方向Dir即为该AI单位当前最终移动方向,目标移动方向Dir是实时更新的,该AI单位在移动的过程中,定时的重复执行步骤S701-步骤S706,即确定AI单位从当前位置移动到下一个位置的目标移动方向需要执行一次步骤S701-步骤S706,因此,AI单位从起始位置到终点位置的过程中,需要重复执行步骤S701-步骤S706,直至AI单位到达终点位置。
另外,AI单位在移动过程中,游戏场景中的动态阻碍也可能是移动的,当动态阻碍从移动变为停止后,游戏场景中的障碍区域将发生变化,此时需要更新所述计数值大于0的势场网格,具体的更新过程和上述步骤S102所述的生成所述终点位置对应的游戏地图的势场网格的过程是一致的,此处不再赘述。
本实施例通过AI单位在移动过程中,对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交,若所述AI单位与所述AI单位周围的其他AI单位相交,进一步对AI单位的方向进行旋转,避免该AI单位与其最近的AI单位重叠而无法绕开动态阻碍,同时还可使多个AI单位保持阵形。另外,通过对势场网格的更新,提高了为AI单位寻路的精确性。
图11为本发明实施例提供的人工智能AI单位的寻路装置的结构图。本发明实施例提供的人工智能AI单位的寻路装置可以执行人工智能AI单位的寻路方法实施例提供的处理流程,如图11所示,人工智能AI单位的寻路装置110包括:获取模块111、生成模块112、确定模块113,其中,获取模块111用于分别获取多个AI单位中每个AI单位的起始位置和终点位置;生成模块112用于根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格;确定模块113用于根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。
可选的,所述势场网格包括:第一数组、计数值、第二数组;其中,所述第一数组包括所述势场网格中每个网格对应的第一数值,所述第一数值表示从所述网格到所述终点位置所需的步长;所述计数值表示依据所述势场网格寻路的AI单位的数量;所述第二数组包括所述势场网格中每个网格对应的第二数值,所述第二数值表示从所述网格是否可以直线通往所述终点位置。
本发明实施例提供的人工智能AI单位的寻路装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过预先计算不同的终点位置对应的势场网格,终点位置相同的多个AI单位共用同一个势场网格,在AI单位移动过程中不需要再进行寻路计算,当多个AI单位的终点位置相同时,使用同一个势场网格对多个AI单位进行寻路即可,从而节省了AI单位在移动过程中的计算量,当AI单位的数量增加时,不会严重影响算法的性能,从而避免了由于大量AI单位同时需要寻路而造成的游戏画面卡顿。
图12为本发明实施例提供的人工智能AI单位的寻路装置的结构图。在上述实施例的基础上,确定模块113具体用于:确定每个AI单位从当前位置移动到下一个位置的目标移动方向。
可选的,确定模块113包括:第一确定单元1131和旋转单元1132;第一确定单元1131用于:根据所述当前位置和所述当前位置的邻接点,确定所述当前位置对应的目标移动点和所述当前位置的邻接点分别对应的目标移动点;根据所述当前位置和每个目标移动点,确定所述当前位置分别到每个目标移动点的方向向量;根据所述当前位置分别到每个目标移动点的方向向量,确定第一移动方向;对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交;旋转单元1132用于:当所述AI单位与所述AI单位周围的其他AI单位相交时,根据所述AI单位与距离所述AI单位最近的AI单位之间的位置关系,对所述AI单位与所述AI单位周围的其他AI单位相交后的第二移动方向进行旋转得到修正后的第二移动方向;第一确定单元1131还用于:根据所述第一移动方向和所述修正后的第二移动方向确定所述目标移动方向。
另外,确定模块113还包括:计算单元1133,用于根据所述AI单位的当前位置和所述AI单位的球形动态阻碍半径,以及所述AI单位周围的其他AI单位的当前位置和其他AI单位的球形动态阻碍半径,计算所述第二移动方向;当所述第二移动方向不为0时,第一确定单元1131确定所述AI单位与所述AI单位周围的其他AI单位相交。
在一些实施例中,人工智能AI单位的寻路装置110还包括:更新模块114,用于所述AI单位在移动过程中,若所述游戏地图中的障碍区域发生变化,则更新所述计数值大于0的势场网格。
获取模块111包括:接收单元1111、判断单元1112、第二确定单元1113,其中,接收单元1111用于接收输入的每个AI单位的起始位置和初始终点;判断单元1112用于判断所述初始终点是否为阻碍点;第二确定单元1113用于若所述初始终点是阻碍点,则从所述初始终点周围的预设范围内确定一个代价值最小的非阻碍点,并将所述代价值最小的非阻碍点作为所述终点位置。
本发明实施例通过AI单位在移动过程中,对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交,若所述AI单位与所述AI单位周围的其他AI单位相交,进一步对AI单位的方向进行旋转,避免该AI单位与其最近的AI单位重叠而无法绕开动态阻碍,同时还可使多个AI单位保持阵形。另外,通过对势场网格的更新,提高了为AI单位寻路的精确性。
综上所述,本发明实施例通过预先计算不同的终点位置对应的势场网格,终点位置相同的多个AI单位共用同一个势场网格,在AI单位移动过程中不需要再进行寻路计算,当多个AI单位的终点位置相同时,使用同一个势场网格对多个AI单位进行寻路即可,从而节省了AI单位在移动过程中的计算量,当AI单位的数量增加时,不会严重影响算法的性能,从而避免了由于大量AI单位同时需要寻路而造成的游戏画面卡顿;通过AI单位在移动过程中,对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交,若所述AI单位与所述AI单位周围的其他AI单位相交,进一步对AI单位的方向进行旋转,避免该AI单位与其最近的AI单位重叠而无法绕开动态阻碍,同时还可使多个AI单位保持阵形。另外,通过对势场网格的更新,提高了为AI单位寻路的精确性。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种人工智能AI单位的寻路方法,其特征在于,包括:
分别获取多个AI单位中每个AI单位的起始位置和终点位置;
根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格,势场网格中每个网格用一个数字表示,该数字可以表示当期情况下AI对象从该网格到终点所需要的步长;
根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。
2.根据权利要求1所述的方法,其特征在于,所述势场网格包括:第一数组、计数值、第二数组;
其中,所述第一数组包括所述势场网格中每个网格对应的第一数值,所述第一数值表示从所述网格到所述终点位置所需的步长;
所述计数值表示依据所述势场网格寻路的AI单位的数量;
所述第二数组包括所述势场网格中每个网格对应的第二数值,所述第二数值表示从所述网格是否可以直线通往所述终点位置。
3.根据权利要求2所述的方法,其特征在于,所述确定每个AI单位从起始位置到终点位置的寻路路径,包括:
确定每个AI单位从当前位置移动到下一个位置的目标移动方向。
4.根据权利要求3所述的方法,其特征在于,所述确定每个AI单位从当前位置移动到下一个位置的目标移动方向,包括:
根据所述当前位置和所述当前位置的邻接点,确定所述当前位置对应的目标移动点和所述当前位置的邻接点分别对应的目标移动点;
根据所述当前位置和每个目标移动点,确定所述当前位置分别到每个目标移动点的方向向量;
根据所述当前位置分别到每个目标移动点的方向向量,确定第一移动方向;
对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交;
若所述AI单位与所述AI单位周围的其他AI单位相交,则根据所述AI单位与距离所述AI单位最近的AI单位之间的位置关系,对所述AI单位与所述AI单位周围的其他AI单位相交后的第二移动方向进行旋转得到修正后的第二移动方向;
根据所述第一移动方向和所述修正后的第二移动方向确定所述目标移动方向。
5.根据权利要求4所述的方法,其特征在于,所述对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交,包括:
根据所述AI单位的当前位置和所述AI单位的球形动态阻碍半径,以及所述AI单位周围的其他AI单位的当前位置和其他AI单位的球形动态阻碍半径,计算所述第二移动方向;
若所述第二移动方向不为0,则确定所述AI单位与所述AI单位周围的其他AI单位相交。
6.根据权利要求2-5任一项所述的方法,其特征在于,还包括:
所述AI单位在移动过程中,若所述游戏地图中的障碍区域发生变化,则更新计数值大于0的势场网格。
7.根据权利要求1所述的方法,其特征在于,所述分别获取多个AI单位中每个AI单位的起始位置和终点位置,包括:
接收输入的每个AI单位的起始位置和初始终点;
判断所述初始终点是否为阻碍点;
若所述初始终点是阻碍点,则从所述初始终点周围的预设范围内确定一个代价值最小的非阻碍点,并将所述代价值最小的非阻碍点作为所述终点位置。
8.一种人工智能AI单位的寻路装置,其特征在于,包括:
获取模块,用于分别获取多个AI单位中每个AI单位的起始位置和终点位置;
生成模块,用于根据每个AI单位的终点位置,生成所述终点位置对应的游戏地图的势场网格,其中,相同的终点位置对应相同的势场网格,势场网格中每个网格用一个数字表示,该数字可以表示当期情况下AI对象从该网格到终点所需要的步长;
确定模块,用于根据每个AI单位对应的势场网格,分别确定每个AI单位从起始位置到终点位置的寻路路径。
9.根据权利要求8所述的人工智能AI单位的寻路装置,其特征在于,所述势场网格包括:第一数组、计数值、第二数组;
其中,所述第一数组包括所述势场网格中每个网格对应的第一数值,所述第一数值表示从所述网格到所述终点位置所需的步长;
所述计数值表示依据所述势场网格寻路的AI单位的数量;
所述第二数组包括所述势场网格中每个网格对应的第二数值,所述第二数值表示从所述网格是否可以直线通往所述终点位置。
10.根据权利要求9所述的人工智能AI单位的寻路装置,其特征在于,所述确定模块具体用于:确定每个AI单位从当前位置移动到下一个位置的目标移动方向。
11.根据权利要求10所述的人工智能AI单位的寻路装置,其特征在于,所述确定模块包括:第一确定单元和旋转单元;
所述第一确定单元用于:根据所述当前位置和所述当前位置的邻接点,确定所述当前位置对应的目标移动点和所述当前位置的邻接点分别对应的目标移动点;根据所述当前位置和每个目标移动点,确定所述当前位置分别到每个目标移动点的方向向量;根据所述当前位置分别到每个目标移动点的方向向量,确定第一移动方向;对所述AI单位和所述AI单位周围的其他AI单位进行动态碰撞检测,确定所述AI单位是否与所述AI单位周围的其他AI单位相交;
所述旋转单元用于:当所述AI单位与所述AI单位周围的其他AI单位相交时,根据所述AI单位与距离所述AI单位最近的AI单位之间的位置关系,对所述AI单位与所述AI单位周围的其他AI单位相交后的第二移动方向进行旋转得到修正后的第二移动方向;
所述第一确定单元还用于:根据所述第一移动方向和所述修正后的第二移动方向确定所述目标移动方向。
12.根据权利要求11所述的人工智能AI单位的寻路装置,其特征在于,所述确定模块还包括:计算单元,用于根据所述AI单位的当前位置和所述AI单位的球形动态阻碍半径,以及所述AI单位周围的其他AI单位的当前位置和其他AI单位的球形动态阻碍半径,计算所述第二移动方向;
当所述第二移动方向不为0时,所述第一确定单元确定所述AI单位与所述AI单位周围的其他AI单位相交。
13.根据权利要求9-12任一项所述的人工智能AI单位的寻路装置,其特征在于,还包括:
更新模块,用于所述AI单位在移动过程中,若所述游戏地图中的障碍区域发生变化,则更新计数值大于0的势场网格。
14.根据权利要求13所述的人工智能AI单位的寻路装置,其特征在于,获取模块包括:
接收单元,用于接收输入的每个AI单位的起始位置和初始终点;
判断单元,用于判断所述初始终点是否为阻碍点;
第二确定单元,用于若所述初始终点是阻碍点,则从所述初始终点周围的预设范围内确定一个代价值最小的非阻碍点,并将所述代价值最小的非阻碍点作为所述终点位置。
CN201710978524.1A 2017-10-19 2017-10-19 人工智能ai单位的寻路方法及装置 Active CN107744663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710978524.1A CN107744663B (zh) 2017-10-19 2017-10-19 人工智能ai单位的寻路方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710978524.1A CN107744663B (zh) 2017-10-19 2017-10-19 人工智能ai单位的寻路方法及装置

Publications (2)

Publication Number Publication Date
CN107744663A CN107744663A (zh) 2018-03-02
CN107744663B true CN107744663B (zh) 2020-10-13

Family

ID=61253143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710978524.1A Active CN107744663B (zh) 2017-10-19 2017-10-19 人工智能ai单位的寻路方法及装置

Country Status (1)

Country Link
CN (1) CN107744663B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108479072A (zh) * 2018-03-23 2018-09-04 广州悦世界信息科技有限公司 一种用于策略类游戏大型场景的数据同步方法及系统
CN109224446B (zh) * 2018-07-17 2022-05-06 派视觉虚拟现实(深圳)软件技术有限公司 一种游戏中的动物运动方法、装置及设备
CN109731332B (zh) * 2018-12-21 2023-03-07 网易(杭州)网络有限公司 非玩家角色的控制方法、装置、设备及存储介质
CN109568959A (zh) * 2019-01-12 2019-04-05 孙伟乐 一种支持游戏内大量单位同时寻路的方法
CN110523081B (zh) * 2019-08-08 2022-07-29 腾讯科技(深圳)有限公司 导航寻路路径的规划方法及装置
CN111111187B (zh) * 2019-11-28 2023-07-14 玩心(北京)网络科技有限公司 基于网格的在线游戏寻路方法和装置
CN112327931B (zh) * 2020-12-01 2022-11-29 天津基点科技有限公司 一种基于sdf地图的无人机三维路径快速规划方法
CN113730915B (zh) * 2021-09-16 2023-08-25 腾讯科技(深圳)有限公司 目标路径的确定方法、装置和存储介质及电子设备
CN115845381B (zh) * 2023-02-07 2023-06-16 广州三七极耀网络科技有限公司 一种基于包围盒的快速寻路方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103893969A (zh) * 2014-04-15 2014-07-02 广州博冠信息科技有限公司 一种游戏中寻路的方法和设备
CN104548598A (zh) * 2014-12-31 2015-04-29 北京像素软件科技股份有限公司 一种虚拟现实场景中寻路的方法
CN106075906A (zh) * 2016-06-03 2016-11-09 腾讯科技(深圳)有限公司 一种模拟对象的寻路方法、场景的搭建方法和对应的装置
JP2017051493A (ja) * 2015-09-10 2017-03-16 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
CN106964156A (zh) * 2017-03-24 2017-07-21 腾讯科技(深圳)有限公司 一种寻路方法以及装置
CN107185242A (zh) * 2017-04-27 2017-09-22 腾讯科技(深圳)有限公司 多单位寻路方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103893969A (zh) * 2014-04-15 2014-07-02 广州博冠信息科技有限公司 一种游戏中寻路的方法和设备
CN104548598A (zh) * 2014-12-31 2015-04-29 北京像素软件科技股份有限公司 一种虚拟现实场景中寻路的方法
JP2017051493A (ja) * 2015-09-10 2017-03-16 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
CN106075906A (zh) * 2016-06-03 2016-11-09 腾讯科技(深圳)有限公司 一种模拟对象的寻路方法、场景的搭建方法和对应的装置
CN106964156A (zh) * 2017-03-24 2017-07-21 腾讯科技(深圳)有限公司 一种寻路方法以及装置
CN107185242A (zh) * 2017-04-27 2017-09-22 腾讯科技(深圳)有限公司 多单位寻路方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A*寻路算法与它的速度;lufy;《https://blog.csdn.net/lufy_Legend/article/details/5733733?from=singlemessage》;20100714;全文 *
A~*算法在游戏地图寻径中的几种改进策略研究;陈刚;《科学技术与工程》;20070810;第7卷(第15期);全文 *
多边形寻路算法简单介绍;血月笙歌;《https://blog.csdn.net/jueane/article/details/77046790?utm_source=app&from=singlemessage》;20170810;全文 *

Also Published As

Publication number Publication date
CN107744663A (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
CN107744663B (zh) 人工智能ai单位的寻路方法及装置
CN108444482B (zh) 一种无人机自主寻路避障方法及系统
US11161246B2 (en) Robot path planning method and apparatus and robot using the same
Yahja et al. An efficient on-line path planner for outdoor mobile robots
CN108645411B (zh) 基于粒子群算法的机器人路径规划方法、装置及终端设备
CN110812844B (zh) 一种游戏中的寻路方法、终端及可读存储介质
KR101901958B1 (ko) 휴리스틱 함수의 학습을 이용한 고속 경로를 탐색을 위한 장치 및 그 방법
CN109668561B (zh) 一种室内路径规划方法、终端及可读存储介质
KR101585504B1 (ko) 자율 이동 차량의 경로 생성 방법 및 경로 생성 장치
CN110755848A (zh) 一种游戏中的寻路方法、终端及可读存储介质
CN108489501A (zh) 一种基于智能绕过障碍的快速路径搜索算法
CN114035572A (zh) 一种割草机器人的避障巡回方法及系统
CN114779779A (zh) 路径规划方法、装置、计算机设备和存储介质
CN116880497A (zh) 一种自动化农业机械的全覆盖路径规划方法、装置和设备
Muñoz et al. S-Theta: low steering path-planning algorithm
Jan et al. A 4-geometry maze router and its application on multiterminal nets
Pereira et al. Multi-robot planning for perception of multiple regions of interest
Koefoed-Hansen et al. Representations for path finding in planar environments
Bravo et al. A distributed exploration algorithm for unknown environments with multiple obstacles by multiple robots
KR20190046210A (ko) 가상 현실을 위한 공간 재구성 방법 및 가상 로드맵 결정 방법 및 이를 수행하는 공간 재구성 장치
KR20220090732A (ko) 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템
CN117553804B (zh) 路径规划方法、装置、计算机设备和存储介质
CN113534848B (zh) 一种无人机飞行路径规划方法、装置、设备和存储介质
CN117519121A (zh) 一种规划路径的生成方法、装置、终端设备和存储介质
CN112999658B (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
TA01 Transfer of patent application right

Effective date of registration: 20200417

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510000 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 02

Applicant before: GUANGZHOU AIJIUYOU INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220324

Address after: 510630 room 603, room 602, No. 38, Gaopu Road, Tianhe District, Guangzhou, Guangdong

Patentee after: Guangzhou Jianyue Information Technology Co.,Ltd.

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Alibaba (China) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220915

Address after: 510277 room 3701, No. 88, Dingxin Road, Haizhu District, Guangzhou City, Guangdong Province

Patentee after: Yidianlingxi information technology (Guangzhou) Co.,Ltd.

Address before: 510630 room 603, room 602, No. 38, Gaopu Road, Tianhe District, Guangzhou, Guangdong

Patentee before: Guangzhou Jianyue Information Technology Co.,Ltd.

TR01 Transfer of patent right