CN107982917B - 一种3d游戏的人物路径搜索方法 - Google Patents

一种3d游戏的人物路径搜索方法 Download PDF

Info

Publication number
CN107982917B
CN107982917B CN201711163614.1A CN201711163614A CN107982917B CN 107982917 B CN107982917 B CN 107982917B CN 201711163614 A CN201711163614 A CN 201711163614A CN 107982917 B CN107982917 B CN 107982917B
Authority
CN
China
Prior art keywords
overlapped
searching
search
point
nodes
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
CN201711163614.1A
Other languages
English (en)
Other versions
CN107982917A (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.)
Beijing Guangtong Chuanlinchang Interdynamic Technology Co ltd
Original Assignee
Beijing Guangtong Chuanlinchang Interdynamic Technology 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 Beijing Guangtong Chuanlinchang Interdynamic Technology Co ltd filed Critical Beijing Guangtong Chuanlinchang Interdynamic Technology Co ltd
Priority to CN201711163614.1A priority Critical patent/CN107982917B/zh
Publication of CN107982917A publication Critical patent/CN107982917A/zh
Application granted granted Critical
Publication of CN107982917B publication Critical patent/CN107982917B/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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种3D游戏的人物路径搜索方法,包括:将3D游戏的人物路径导航地图划分成若干三角形;以起始点所在三角形的三条边为初始三个可行搜索方向,搜索交叠搜索节点找到分支点,相邻两个分支点之间的交叠搜索节点保存为交叠搜索节点集合;若两个分支点之间有多条路径,标记最短路径;判断人物路径的大致方向;结束点与起始点间不能够直达,则依次连接起始点、分支点间的最短路径、结束点;否则起始点与结束点的连线为搜索到的人物路径。本发明在搜索过程中将整个人物路径导航地图分支开并标记,搜索相关联的分支路径进行拼凑组合成最终路径,搜索拐点时利用射线的原理,避免不必要节点的搜索与计算,减少搜索时间和内存占有量。

Description

一种3D游戏的人物路径搜索方法
技术领域
本发明属于数字媒体技术领域,特别涉及一种3D游戏的人物路径搜索方法。
背景技术
随着人们对游戏的要求不断提高,3D游戏在游戏中占据了越来越重的比率。3D游戏比较2D游戏,其更显真实,而且对空间操作的随意性也较强。这意味着3D游戏对显卡的运算速度和内存要求都存在很高的要求。3D游戏中一个重要环节就是自动寻路。自动寻路采用的算法对于复杂的地形计算时间较长,占有内存较多,不仅如此,对于处理动态障碍物问题上也有相同的问题出现。这样在3D游戏中用户可能出现等待时间长,游戏不流畅等问题。影响了游戏的质量。
传统3D游戏采用A*算法作为主要实现算法。A*算法是一种静态路网中求解最短路径最有效的直接搜索方法。公式表示为:f(n)=g(n)+h(n),其中f(n)是从初始点经由节点n到目标点的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到目标节点最佳路径的估计代价。保证找到最短路径(最优解的)条件,关键在于估价函数f(n)的选取。估价值h(n)<=n到目标节点的距离实际值,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。并且如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行,此时的搜索效率是最高的。但在复杂地形下A*算法占据的内存较大,计算的时间也比较长。在3D游戏中,其物理环境采用了一种分层次的路径规划解决方案。首先,游戏环境处理层负责根据地形,静态障碍物的规划以及关卡设计信息生成导航网格图。然后,路径规划层负责选择合适的寻路算法对不同角色进行路径规划。最后,动态障碍物规避层则负责处理碰撞检测局部规避,群体角色寻路优先级等问题。在动态障碍物规避层处理碰撞问题时采用A*算法往往速度较慢,内存占据较大。因而,虽然能够达到搜索最短路径,但是在3D游戏中,玩家对于长时间的等待和画面的卡顿是很不愉悦的,因此内存占有和搜索速度是大家研究的重心。
发明内容
针对现有技术存在的不足,本发明提供一种3D游戏的人物路径搜索方法。
本发明的技术方案是:
一种3D游戏的人物路径搜索方法,包括:
步骤1:将3D游戏的人物路径导航地图划分成若干三角形,并记录每个三角形的顶点和边,相邻两个三角形连接的顶点设为搜索节点;
步骤2:将人物路径的起始位置作为人物路径搜索的起始点,以起始点所在三角形的三条边为搜索边,即人物路径的初始三个可行搜索方向;
步骤3:分别以人物路径的初始三个可行搜索方向,搜索人物路径导航地图中的所有交叠搜索节点,找到人物路径导航地图中的所有分支点,将相邻两个分支点之间的交叠搜索节点保存为交叠搜索节点集合;
所述交叠搜索节点是与当前三角形共用两个搜索节点的三角形中的另一个搜索节点;每两个交叠搜索节点组成成对交叠搜索节点;
步骤4:分别以各交叠搜索节点集合为路径,确定各路径上的最短路线并记录,若出现两个分支点之间有多条路径,标记该两个分支点间最短路径;
步骤5:判断人物路径的大致方向:选取人物路径的结束点,从起始点向起始点所在三角形三边中点分别做射线,以结束点向三条射线分别做垂线,垂线长度最小值对应的射线所在方向即人物路径的大致方向;
步骤6:从结束点向起始点做射线,若射线经过不可行区域,则结束点与起始点间有障碍物不能够直达,从结束点往起始点搜索分支点依次连接起始点、分支点间的最短路径、结束点,得到人物路径搜索结果;否则结束点与起始点间没有障碍物能够直达,此时起始点与结束点的连线为搜索到的人物路径。
步骤3所述搜索人物路径导航地图中的所有交叠搜索节点过程中,三个搜索节点都被搜索过的三角形标记为已搜索三角形;当搜索到已搜索三角形或无后续三角形时结束搜索。
所述步骤3按如下步骤进行:
步骤3-1:以起始点所在三角形的三条边中任一条作为搜索方向开始搜索,找到与起始点所在三角形共用两个搜索节点的三角形中的另一个搜索节点,即交叠搜索节点;
步骤3-2:根据当前交叠搜索节点继续向前搜索交叠搜索节点,若根据当前交叠搜索节点能搜索到不止一个交叠搜索节点,则当前交叠搜索节点具有分支路径,执行步骤3-3;否则,当前交叠搜索节点没有分支路径;
步骤3-3:标记具有分支路径的交叠搜索节点为分支点,将相邻两个分支点之间的交叠搜索节点保存为交叠搜索节点集合;并判断是否已搜索完所有交叠搜索节点:是,则执行步骤4;否则分别以分支点搜索到的各交叠搜索节点与该分支点组成的边作为继续搜索方向,返回执行步骤3-2。
所述步骤4,包括:
步骤4-1:建立当前路径某搜索方向中轴:从分支点开始,在当前路径中选取某搜索方向上的第一对交叠搜索节点之间连线的中点与起始点之间的连线设为中轴;
步骤4-2:分别计算当前搜索方向上的成对交叠搜索节点到中轴的距离;
步骤4-3:若成对交叠搜索节点到中轴的距离数值为一正一负,则成对的交叠搜索节点分别位于中轴的两侧,记录当前成对交叠搜索节点,返回步骤4-2沿当前搜索方向继续计算成对交叠搜索节点到中轴的距离;否则,成对交叠搜索节点到中轴的距离数值都是正数或都是负数,停止记录当前搜索方向上其余成对交叠搜索节点到中轴距离,此时当前成对交叠搜索节点在中轴的同侧,执行步骤4-4;
步骤4-4:计算当前成对交叠搜索节点在当前中轴上的四个垂点坐标,将距离最近的两个垂点所对应的两个交叠搜索节点配对,另两个垂点所对应的两个交叠搜索节点配对,形成两对新的成对交叠搜索节点;若与原成对交叠搜索节点不同,则替换原成对交叠搜索节点,重新计算新的成对交叠搜索节点到中轴的距离,并执行步骤4-3;若与原成对交叠搜索节点相同,执行步骤4-5;
步骤4-5:人物路径产生拐点,当前成对交叠搜索节点中到中轴的距离的数值的绝对值大的一个可能为拐点;
步骤4-6:判断可能为拐点的交叠搜索节点与起始点之间是否存在障碍:是,则执行步骤4-7,否则,可能为拐点的交叠搜索节点设为拐点并记录,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;
步骤4-7:搜索上一对交叠搜索节点中与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点,判断其是否达到起始点:是,则将搜索的该交叠搜索节点设为拐点,否则,执行步骤4-8;
步骤4-8:判断上一对交叠搜索节点中与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点与起始点之间有无障碍:有,则将其设为拐点,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;否则执行步骤4-9;
步骤4-9:继续向上搜索,直到出现与起始点之间没有障碍的与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点,并将其设为拐点,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5。
有益效果:
本发明的3D游戏的人物路径搜索方法在搜索过程中将整个人物路径导航地图分支开并标记,待结束点确定后,搜索相关联的分支路径进行拼凑组合成最终路径,以此减少了搜索时间。搜索拐点时利用了射线的原理,避免了不必要节点的搜索与计算,减少了搜索时间和内存占有量。
附图说明
图1是本发明具体实施方式中搜索所有交叠搜索节点的示意图;
图2是本发明具体实施方式中搜索所有交叠搜索节点过程中的标记示意图;
图3是本发明具体实施方式中根据分支点得到路线的示意图;
图4是本发明具体实施方式中3D游戏的人物路径搜索方法流程图;
图5是本发明具体实施方式中步骤4流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明。
一种3D游戏的人物路径搜索方法,如图4所示,包括:
步骤1:将3D游戏的人物路径导航地图划分成若干三角形,并记录每个三角形的顶点和边,相邻两个三角形连接的顶点设为搜索节点。
步骤2:将人物路径的起始位置作为人物路径搜索的起始点,以起始点所在三角形的三条边为人物路径的初始三个可行搜索方向。
起始点所在三角形S中存在a、b、c三个搜索节点,ab边、bc边、ca边分别为三个可行搜索方向。
步骤3:分别以人物路径的初始三个可行搜索方向,搜索人物路径导航地图中的所有交叠搜索节点,找到人物路径导航地图中的所有分支点及分支路径。
所述交叠搜索节点是与当前三角形共用两个搜索节点的三角形中的另一个搜索节点。每两个交叠搜索节点组成成对交叠搜索节点。例如图1所示,{a,b},{m,n}为成对交叠搜索节点。
搜索人物路径导航地图中的所有交叠搜索节点过程中,三个搜索节点都被搜索过的三角形标记为已搜索三角形;当搜索到已搜索三角形或无后续三角形时结束搜索。
所述步骤3按如下步骤进行:
步骤3-1:以起始点所在三角形的三条边中任一条作为搜索方向开始搜索,找到与起始点所在三角形共用两个搜索节点的三角形中的另一个搜索节点,即交叠搜索节点。
如图1所示,起始点所在三角形S中的ab边作为搜索边为例,找到与起始点所在三角形S共用ab边的非S的三角形S’,得到三角形S’上a、b两个搜索节点以外的搜索节点m,即可行搜索方向为ab边时的交叠搜索节点m(xm,ym)。
步骤3-2:根据当前交叠搜索节点继续向前搜索交叠搜索节点,若根据当前交叠搜索节点能搜索到不止一个交叠搜索节点,则当前交叠搜索节点具有分支路径,执行步骤3-3;否则,当前交叠搜索节点没有分支路径。
从交叠搜索节点m(xm,ym)开始向后搜索,交叠搜索节点m所在的三角形S’有am和bm两条边,am和bm两条边所在方向即两个继续搜索方向,沿这两个继续搜索方向能找到两个交叠搜索节点n(xn,yn),m、n为成对交叠搜索节点,分别以两个交叠搜索节点n(xn,yn)与第一个交叠搜索节点m之间连线作为继续搜索方向,保存交叠搜索节点集合(m,n)。
步骤3-3:标记具有分支路径的交叠搜索节点为分支点,将相邻两个分支点之间的交叠搜索节点保存为交叠搜索节点集合,并判断是否已搜索完所有交叠搜索节点:是,则执行步骤4;否则分别以分支点搜索到的各交叠搜索节点与分支点组成的边作为继续搜索方向,返回执行步骤3-2。
如图2所示,从分支点H搜索到交叠搜索节点A1,再由交叠搜索节点A1搜索到两个交叠搜索节点,因此交叠搜索节点A1具有分支路径,标记交叠搜索节点A1为分支点,保存交叠搜索节点集合HA1,即分支点H与分支点A1之间的交叠搜索节点集合,其中不包括分支点H与分支点A1,标记分支路径HA1。
根据如图2所示的交叠搜索节点(分支点)A1的其中一条分支路径继续搜索到一个交叠搜索节点,但其并不具有分支路径即未搜索到新的分支点,则将不具有分支路径的交叠搜索节点标记为E点,未找到分支点的交叠搜索节点A1的分支路径标记为A1E。然后搜索交叠搜索节点A1的另一分支路径,搜索到新的分支点B1(交叠搜索节点B1能搜索到两个交叠搜索节点),保存交叠搜索节点集合A1B1,即分支点A1与分支点B1之间的交叠搜索节点集合,其中不包括分支点A1与分支点B1,标记分支路径A1B1;再根据分支点B1找到两条分支路径,以此类推,直到所有交叠搜索节点搜索完成,得到人物路径导航地图中的所有分支点及分支路径,若出现两分支点间有多条分支路径,则区分标记,例如图2中的分支点B1和C1之间有两条分支路径,为区分标记,将分支点B1和C1之间的交叠搜索节点集合分别保存为交叠搜索节点集合B1C1和B1C1’。
步骤4:分别以各交叠搜索节点集合为路径,确定各路径上的最短路线并记录,若出现两个分支点之间有多条路径,标记该两分支点间最短路径。
如图2所示,分支点B1和分支点C1之间有两条路径,则找出两条分支路径中路程较短的一条,标记为分支点B1和分支点C1的最短路径。
步骤4如图5所示,包括如下步骤:
步骤4-1:建立当前路径某搜索方向中轴:从分支点开始,在当前路径中选取某搜索方向上的第一对交叠搜索节点之间连线的中点与人物路径搜索的起始点之间的连线设为中轴;
步骤4-2:分别计算当前搜索方向上的成对交叠搜索节点到该中轴的距离;
根据点到线的距离公式:D=Ax+By+C/sqrt(A*A+B*B),求出当前成对的交叠搜索节点到中轴的距离;其中,x、y表示当前成对的交叠搜索节点中任一交叠搜索节点的坐标值,系数A=y2-y1,B=x1-x2,C=(x2y1-x1y2)/(x2-x1),x1、y1表示人物路径搜索的起始点的坐标值,x2、y2表示当前成对的交叠搜索节点之间连线的中点的坐标值;
步骤4-3:若成对交叠搜索节点到中轴的距离数值为一正一负,则成对交叠搜索节点分别位于中轴的两侧,记录当前成对交叠搜索节点,返回步骤4-2沿当前搜索方向继续计算成对交叠搜索节点到该中轴的距离;否则,成对交叠搜索节点到中轴的距离数值都是正数或都是负数,停止记录当前搜索方向上其余成对交叠搜索节点到中轴距离,此时当前成对的交叠搜索节点在中轴的同侧,执行步骤4-4;
步骤4-4:计算当前成对交叠搜索节点在当前中轴上的四个垂点坐标,将距离最近的两个垂点所对应的两个交叠搜索节点配对,另两个垂点所对应的两个交叠搜索节点配对,形成两对新的成对交叠搜索节点;若与原成对交叠搜索节点不同,替换原成对交叠搜索节点,重新计算新的成对交叠搜索节点到中轴的距离,并执行步骤4-3;若与原成对交叠搜索节点相同,执行步骤4-5;
如图1所示,通过坐标(x,y)的如下计算公式,计算两对交叠搜索节点在当前中轴上的垂点n’、m’、p’、q’坐标:
x=(B*B*x-A*B*y-AC)/sqrt(A*A+B*B);
y=(-A*B*x+A*A*y-BC)/sq rt(A*A+B*B);
若p’到n’的距离和q’到n’的距离中存在小于m’到n’的距离时,将p’到n’的距离和q’到n’的距离中最小值对应的交叠搜索节点设置为与n的成对的交叠搜索节点,用m与另一交叠搜索节点重新组成一对交叠搜索节点,重复步骤4-1;
步骤4-5:人物路径产生拐点,当前成对交叠搜索节点中到中轴的距离的数值的绝对值大的一个可能为拐点。
步骤4-6:判断可能为拐点的交叠搜索节点与起始点之间是否存在障碍:是,则执行步骤4-7,否则,可能为拐点的交叠搜索节点设为拐点并记录,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;
步骤4-7:搜索上一对交叠搜索节点中与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点,判断其是否达到起始点:是,则将搜索的该交叠搜索节点设为拐点,否则,执行步骤4-8;
步骤4-8:判断上一对交叠搜索节点中与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同(位于中轴的同侧)的交叠搜索节点与起始点之间有无障碍:有,则将其设为拐点,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;否则执行步骤4-9;
步骤4-9:继续向上搜索,直到出现与起始点之间没有障碍的与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点,并将其设为拐点,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;
举例说明,成对交叠搜索节点a1、b1到中轴的距离的数值的绝对值较大的是a1,因此a1可能为拐点。根据射线原理,查看与a1位于中轴同侧的上一个交叠搜索节点a0与起始点之间是否有障碍:若a0与起始点间无障碍,将a0设为拐点。
步骤5:判断人物路径的大致方向:选取人物路径的结束点,从起始点向起始点所在三角形三边中点分别做射线,以结束点向三条射线分别做垂线,垂线长度最小值对应的射线所在方向即人物路径的大致方向;
步骤6:从结束点向起始点做射线,若射线经过不可行区域,则结束点与起始点间有障碍物不能够直达,从结束点往起始点搜索分支点依次连接起始点、分支点间的最短路径、结束点,得到人物路径搜索结果;否则结束点与起始点间没有障碍物能够直达,此时起始点与结束点的连线为搜索到的人物路径。
如图3所示,从结束点E开始,搜索到标记为EC的交叠搜索节点集合(简称EC),集合里有(a,b),(c,d),(e,f)。然后搜索带有C的交叠搜索节点集合,搜索到CG、CD、CB,依次向上搜索直到S,可以得到:
E->C->B->A->S,E->C->D->A->S,E->C->G->F->A->S,E->C->G->B->A->S四条路线,从步骤4中已经得到两分支点之间的最短路径,将这些最短路径连在一起,计算出最短的一条为最终路径。

Claims (4)

1.一种3D游戏的人物路径搜索方法,其特征在于,包括:
步骤1:将3D游戏的人物路径导航地图划分成若干三角形,并记录每个三角形的顶点和边,相邻两个三角形连接的顶点设为搜索节点;
步骤2:将人物路径的起始位置作为人物路径搜索的起始点,以起始点所在三角形的三条边为人物路径的初始三个可行搜索方向;
步骤3:分别以人物路径的初始三个可行搜索方向,搜索人物路径导航地图中的所有交叠搜索节点,找到人物路径导航地图中的所有分支点,将相邻两个分支点之间的交叠搜索节点保存为交叠搜索节点集合;
所述交叠搜索节点是与当前三角形共用两个搜索节点的三角形中的另一个搜索节点;每两个交叠搜索节点组成成对交叠搜索节点;
步骤4:分别以各交叠搜索节点集合为路径,确定各路径上的最短路线并记录,若出现两个分支点之间有多条路径,标记该两个分支点间最短路径;
步骤5:判断人物路径的大致方向:选取人物路径的结束点,从起始点向起始点所在三角形三边中点分别做射线,以结束点向三条射线分别做垂线,垂线长度最小值对应的射线所在方向即人物路径的大致方向;
步骤6:从结束点向起始点做射线,若射线经过不可行区域,则结束点与起始点间有障碍物不能够直达,从结束点往起始点搜索分支点依次连接起始点、分支点间的最短路径、结束点,得到人物路径搜索结果;否则结束点与起始点间没有障碍物能够直达,此时起始点与结束点的连线为搜索到的人物路径。
2.根据权利要求1所述的方法,其特征在于,步骤3所述搜索人物路径导航地图中的所有交叠搜索节点过程中,三个搜索节点都被搜索过的三角形标记为已搜索三角形;当搜索到已搜索三角形或无后续三角形时结束搜索。
3.根据权利要求1所述的方法,其特征在于,所述步骤3按如下步骤进行:
步骤3-1:以起始点所在三角形的三条边中任一条作为搜索方向开始搜索,找到与起始点所在三角形共用两个搜索节点的三角形中的另一个搜索节点,即交叠搜索节点;
步骤3-2:根据当前交叠搜索节点继续向前搜索交叠搜索节点,若根据当前交叠搜索节点能搜索到不止一个交叠搜索节点,则当前交叠搜索节点具有分支路径,执行步骤3-3;否则,当前交叠搜索节点没有分支路径;
步骤3-3:标记具有分支路径的交叠搜索节点为分支点,将相邻两个分支点之间的交叠搜索节点保存为交叠搜索节点集合;并判断是否已搜索完所有交叠搜索节点:是,则执行步骤4;否则分别以分支点搜索到的各交叠搜索节点与该分支点组成的边作为继续搜索方向,返回执行步骤3-2。
4.根据权利要求1所述的方法,其特征在于,所述步骤4,包括:
步骤4-1:建立当前路径某搜索方向中轴:从分支点开始,在当前路径中选取某搜索方向上的第一对交叠搜索节点之间连线的中点与起始点之间的连线设为中轴;
步骤4-2:分别计算当前搜索方向上的成对交叠搜索节点到中轴的距离;
步骤4-3:若成对交叠搜索节点到中轴的距离数值为一正一负,则成对的交叠搜索节点分别位于中轴的两侧,记录当前成对交叠搜索节点,返回步骤4-2沿当前搜索方向继续计算成对交叠搜索节点到中轴的距离;否则,成对交叠搜索节点到中轴的距离数值都是正数或都是负数,停止记录当前搜索方向上其余成对交叠搜索节点到中轴距离,此时当前成对交叠搜索节点在中轴的同侧,执行步骤4-4;
步骤4-4:计算当前成对交叠搜索节点在当前中轴上的四个垂点坐标,将距离最近的两个垂点所对应的两个交叠搜索节点配对,另两个垂点所对应的两个交叠搜索节点配对,形成两对新的成对交叠搜索节点;若与原成对交叠搜索节点不同,则替换原成对交叠搜索节点,重新计算新的成对交叠搜索节点到中轴的距离,并执行步骤4-3;若与原成对交叠搜索节点相同,执行步骤4-5;
步骤4-5:人物路径产生拐点,当前成对交叠搜索节点中到中轴的距离的数值的绝对值大的一个可能为拐点;
步骤4-6:判断可能为拐点的交叠搜索节点与起始点之间是否存在障碍:是,则执行步骤4-7,否则,可能为拐点的交叠搜索节点设为拐点并记录,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;
步骤4-7:搜索上一对交叠搜索节点中与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点,判断其是否达到起始点:是,则将搜索的该交叠搜索节点设为拐点,否则,执行步骤4-8;
步骤4-8:判断上一对交叠搜索节点中与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点与起始点之间有无障碍:有,则将其设为拐点,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5;否则执行步骤4-9;
步骤4-9:继续向上搜索,直到出现与起始点之间没有障碍的与可能为拐点的交叠搜索节点到中轴的距离数值正负号相同的交叠搜索节点,并将其设为拐点,两个分支点间的拐点与两个分支点的连线即两分支点间的最短路径,执行步骤5。
CN201711163614.1A 2017-11-21 2017-11-21 一种3d游戏的人物路径搜索方法 Active CN107982917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711163614.1A CN107982917B (zh) 2017-11-21 2017-11-21 一种3d游戏的人物路径搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711163614.1A CN107982917B (zh) 2017-11-21 2017-11-21 一种3d游戏的人物路径搜索方法

Publications (2)

Publication Number Publication Date
CN107982917A CN107982917A (zh) 2018-05-04
CN107982917B true CN107982917B (zh) 2020-10-16

Family

ID=62031810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711163614.1A Active CN107982917B (zh) 2017-11-21 2017-11-21 一种3d游戏的人物路径搜索方法

Country Status (1)

Country Link
CN (1) CN107982917B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112697160A (zh) * 2020-12-03 2021-04-23 文诚恒远(天津)供应链管理服务有限公司 导航路径推荐方法、装置及电子设备
CN115779424B (zh) * 2023-02-08 2023-04-28 广州三七极耀网络科技有限公司 一种导航网格寻路方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004219411A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 案内情報提供装置、サーバー装置、案内情報提供方法、及びコンピュータに案内情報提供を実行させるためのプログラム
JP4038045B2 (ja) * 2001-12-18 2008-01-23 株式会社ゼンリン 階層構造のデータを用いた経路探索
CN101329183A (zh) * 2007-06-22 2008-12-24 株式会社日立制作所 路径搜索方法以及路径搜索系统
CN104548598A (zh) * 2014-12-31 2015-04-29 北京像素软件科技股份有限公司 一种虚拟现实场景中寻路的方法
CN106600697A (zh) * 2016-12-13 2017-04-26 东北大学 一种面向3d场景的导航网格地图表示方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4038045B2 (ja) * 2001-12-18 2008-01-23 株式会社ゼンリン 階層構造のデータを用いた経路探索
JP2004219411A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 案内情報提供装置、サーバー装置、案内情報提供方法、及びコンピュータに案内情報提供を実行させるためのプログラム
CN101329183A (zh) * 2007-06-22 2008-12-24 株式会社日立制作所 路径搜索方法以及路径搜索系统
CN104548598A (zh) * 2014-12-31 2015-04-29 北京像素软件科技股份有限公司 一种虚拟现实场景中寻路的方法
CN106600697A (zh) * 2016-12-13 2017-04-26 东北大学 一种面向3d场景的导航网格地图表示方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向3D场景智能寻路技术综述;高天寒,刘文成;《计算机工程与应用》;华北计算技术研究所;20170101;16-22 *

Also Published As

Publication number Publication date
CN107982917A (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
CN106949893B (zh) 一种三维避障的室内机器人导航方法和系统
WO2020134082A1 (zh) 一种路径规划方法、装置和移动设备
CN111065893A (zh) 用于创建精确到车道的道路地图的方法和设备
CN102867057B (zh) 一种基于视觉定位的虚拟向导构建方法
US20010012981A1 (en) Intersection display method, and map display unit and recording medium for realizing the method
CN112950645B (zh) 一种基于多任务深度学习的图像语义分割方法
CN105869512B (zh) 多信息的混杂度量地图建图方法和装置
CN104266656A (zh) 用于道路网的最短路径搜索方法及装置
CN110319837A (zh) 一种服务机器人室内复杂状况路径规划方法
CN102033918A (zh) 基于时间位置信息搜索目标用户的方法及系统
US8706389B2 (en) Range- and/or consumption calculation with energy costs associated with area segments
Cui et al. Direction oriented pathfinding in video games
US20170122752A1 (en) Method of computing routes for multiple-user's commutes and apparatus thereof
CN111380554B (zh) 在定义的拓扑内通过有意义的链路进行有效的搜索
CN107982917B (zh) 一种3d游戏的人物路径搜索方法
US20110050689A1 (en) Method and Apparatus for Creating of 3D Direction Displaying
CN105335597A (zh) 用于获取路线的轨迹模式的方法和系统
CN113538622B (zh) 一种路口绘制方法、装置、设备及存储介质
CN108268039A (zh) 移动机器人的路径规划方法及系统
CN113191550A (zh) 地图匹配方法及装置
CN116518960B (zh) 路网更新方法、装置、电子设备和存储介质
CN103164529A (zh) 一种基于Voronoi图的反k最近邻查询方法
CN109579857A (zh) 一种用于更新地图的方法与设备
CN114705196A (zh) 一种用于机器人的自适应启发式全局路径规划方法与系统
CN110389992B (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
GR01 Patent grant
GR01 Patent grant