CN107970610B - 一种3d场景垂直空间飞行路线的规划方法和装置 - Google Patents

一种3d场景垂直空间飞行路线的规划方法和装置 Download PDF

Info

Publication number
CN107970610B
CN107970610B CN201711363625.4A CN201711363625A CN107970610B CN 107970610 B CN107970610 B CN 107970610B CN 201711363625 A CN201711363625 A CN 201711363625A CN 107970610 B CN107970610 B CN 107970610B
Authority
CN
China
Prior art keywords
path
vertical space
planning
point
scene
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
CN201711363625.4A
Other languages
English (en)
Other versions
CN107970610A (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.)
Suzhou Snail Digital Technology Co Ltd
Original Assignee
Suzhou Snail Digital 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 Suzhou Snail Digital Technology Co Ltd filed Critical Suzhou Snail Digital Technology Co Ltd
Priority to CN201711363625.4A priority Critical patent/CN107970610B/zh
Publication of CN107970610A publication Critical patent/CN107970610A/zh
Application granted granted Critical
Publication of CN107970610B publication Critical patent/CN107970610B/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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying

Landscapes

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

Abstract

一种3D场景垂直空间飞行路线的规划方法和装置,所述方法包括步骤:获取垂直空间的抽象模型;定义抽象模型中的障碍物及关键点;基于地形数据,识别出障碍物及关键点;基于高度信息,识别出关键路径。本发明的3D场景垂直空间飞行路线的规划方法和装置,能够合理、高效地进行三维垂直空间路径的生成。其合理性体现在路径比较符合物理规律和人为认知,让游戏体验显得更加真实,提高游戏玩家用户体验;其高效性是指整个规划方法一次性完成全部路径的生成,不需每帧计算,减少计算机性能消耗。

Description

一种3D场景垂直空间飞行路线的规划方法和装置
技术领域
本发明涉及3D游戏技术领域,特别是涉及一种3D场景垂直空间飞行路线的规划方法和装置。
背景技术
在如今的3D游戏中,垂直空间飞行寻路是一套比较常见的玩法功能,具体是指游戏角色从场景的A点在水平方向不变的情况下飞行到场景的B点,即从A点直接向B点飞行,且水平方向一直朝向B(A、B点为场景中任意不同的点)。由于场景的不可控性,A、B点之间垂直方向存在着各种障碍,因此需要提出一种方法生成一套合理的垂直空间路径来避开这些障碍物,生成的路径是否合理直接影响到游戏性和玩家的用户体验。
目前市面上处理此类问题的方式分为两大类型:一类是直上直下的类型,即A点飞行到B点时,先从A点垂直向上飞行到最高点(AB段路径的最高障碍物点),之后水平飞行到B点的正上方,最后垂直下落到B点;另一类是移动过程中每帧和场景做碰撞检测,根据“路况”实时调整垂直方向的高度,直到到达目标点。两种方式虽然都能解决飞行问题,但是在路径合理性上都显得不够智能,游戏带入感和用户体验不好。并且,第二种方式在运动中不断作碰撞判定,在计算效率上偏低。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种3D场景垂直空间飞行路线的规划方法和装置,能够合理、高效地进行三维垂直空间路径的生成。
为实现上述目的,本发明提供的包括以下步骤:
获取垂直空间的抽象模型;
定义抽象模型中的障碍物及关键点;
基于地形数据,识别出障碍物及关键点;
基于高度信息,识别出关键路径。
进一步地,本发明的3D场景垂直空间飞行路线的规划方法,还包括步骤:优化关键路径的高度。
进一步地,本发明的3D场景垂直空间飞行路线的规划方法,还包括步骤:基于直达原则,计算出最优路径。
进一步地,所述获取垂直空间的抽象模型的步骤是:
将起始点、目标点连成一条直线,垂直剖开3D场景空间,将垂直空间抽象成由地形数据构成的抽象模型。
进一步地,所述定义抽象模型中的障碍物及关键点的步骤包括以下步骤:
若障碍物高于前面行走点,则将障碍物的最高点作为关键点;
若障碍物低于前面行走点,则将障碍物的最高点作为关键点;
若障碍物属于可行走的隧道,则将隧道的起点和终点分别作为关键点。
进一步地,所述基于高度信息,识别出关键路径的步骤是:
在识别出关键点的同时,根据前面行走路面的高度信息,判断该关键点是否是合理的路径节点,如果合理,则添加到路径节点列表中,以构成关键路径。
进一步地,所述基于直达原则,计算出最优路径的步骤是:
在算法角度上采用凸空间选取法,精简掉无效的节点。
为实现上述目的,本发明提供的3D场景垂直空间飞行路线的规划装置,包括:模型抽象模块和路径规划模块,其中,
所述模型抽象模块,用于获取垂直空间的抽象模型,以及定义抽象模型中的障碍物及关键点;
所述路径规划模块,用于基于地形数据,识别出障碍物及关键点,以及基于高度信息,识别出关键路径。
进一步地,所述路径规划模块,还用于优化关键路径的高度。
进一步地,所述路径规划模块,还用于基于直达原则,计算出最优路径。
本发明的3D场景垂直空间飞行路线的规划方法和装置,能够合理、高效地进行三维垂直空间路径的生成。其合理性体现在路径比较符合物理规律和人为认知,让游戏体验显得更加真实,提高游戏玩家用户体验;其高效性是指整个规划方法一次性完成全部路径的生成,不需每帧计算,减少计算机性能消耗。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的3D场景垂直空间飞行路线的规划方法流程图;
图2为根据本发明的起始点和目标点连线的垂直空间的抽象模型示意图;
图3为根据本发明规划的抽象模型的关键路径和最优路径的示意图;
图4为根据本发明的另一实施例中规划的关键路径和最优路径的对比示意图;
图5为根据本发明的3D场景垂直空间飞行路线的规划装置架构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的3D场景垂直空间飞行路线的规划方法流程图,下面将参考图1,对本发明的3D场景垂直空间飞行路线的规划方法进行详细描述。
在步骤110,获取垂直空间的抽象模型。
该步骤中,图2为根据本发明的起始点和目标点连线的垂直空间的抽象模型示意图,如图2所示,在3D场景中,寻路的起始点为A、目标点为N,将A、N两点连成一条直线,然后延直线垂直剖开3D场景空间,得到垂直空间(即剖切面),再将垂直空间抽象成由地形数据构成的抽象模型。在图2中的抽象模型中,阴影区域表示建筑物(含有行走区域以及障碍物),水平直线表示行走区域(即可以正常地面移动的连续区域),水平直线的高度差反应了垂直空间中可以行走区域的高度差,例如正常路面和建筑物的房顶都是可以行走的,建筑物的墙壁是障碍物,且不可以行走。
在步骤120,定义抽象模型中的障碍物及关键点。
该步骤中,图3为根据本发明规划的抽象模型的关键路径和最优路径的示意图。在图3中,若障碍物高于前面行走点,则记为“墙”,并且将“墙”的最高点作为关键点,例如点B、D、H、I和K;若障碍物低于前面行走点,则记为“悬崖”,并且将“悬崖”的最高点作为关键点,例如点C、E、G1和J;若障碍物属于可行走的隧道(F-G2、H-G1和L-M通路),则将隧道的起点和终点分别记为“入口”和“出口”,并作为关键点,例如点F和G2、点H和G1、点L和M。
在本实施例中,将障碍物归纳为四类:墙、悬崖、入口和出口。
在步骤130,基于地形数据,识别出障碍物及关键点。
该步骤中,如图3所示,从起始点A到目标点N,通过地形数据和算法,识别出步骤120中定义的障碍物及关键点,以及标记关键点(图3中的圈圈即为标记)并记录坐标。
在步骤140,基于高度信息,识别出关键路径。
该步骤中,在步骤130中识别出关键点的同时,根据前面行走路面的高度信息,判断该关键点是否是合理的路径节点,如果合理,则添加到路径节点列表中,以构成关键路径。
例如,图3中,发现关键点E后,识别出F和H两个关键点,并且F-G2及其上的H-G1都是通路,此时,若F-G2通路在高度上满足通过的条件,则选择点F和G2作为关键路径上的节点,添加到路径节点列表中,并且,忽略点H和G1。
在本实施例中,步骤140与步骤130同步进行,得到的关键路径是:A-B-C-D-E-F-G2-I-J-K-N。
在步骤150,优化关键路径的高度。
该步骤中,对步骤140中的得到的关键路径(A-B-C-D-E-F-G2-I-J-K-N)进行高度优化。由于关键点E处的高度在 F-G2通路的上方以及H-G1通路的下方是可通过的,所以增设关键点G3,调整关键路径为:A-B-C-D-E-G3-I-J-K-N。
在步骤160,基于直达原则,计算出最优路径。
该步骤中,对步骤150中的关键路径(A-B-C-D-E-G3-I-J-K-N)进行直达优化。直达原则是,能直达就直达,相应地,在算法角度上采用一种凸空间选取法,精简掉无效的节点。最终所得的最优路径为:A-D-G3-I-J-N。
图4为根据本发明的另一实施例中规划的关键路径和最优路径的对比示意图。如图4所示,关键路径(A-C-D-G-H-J-K-N-M)和最优路径(A-C-G-H-K-M)存在明显的差异,在视觉上可以看出最优路径是最合理的路径。
图5为根据本发明的3D场景垂直空间飞行路线的规划装置架构图,如图5所示,本发明的3D场景垂直空间飞行路线的规划装置500,包括:模型抽象模块510和路径规划模块520,其中,
模型抽象模块510,用于获取垂直空间的抽象模型,以及定义抽象模型中的障碍物及关键点。
具体而言,获取垂直空间的抽象模型时,如图2所示,在3D场景中,寻路的起始点为A、目标点为N,将A、N两点连成一条直线,然后延直线垂直剖开3D场景空间,得到垂直空间(即剖切面),再将垂直空间抽象成由地形数据构成的抽象模型。在图2中的抽象模型中,阴影区域表示建筑物(含有行走区域以及障碍物),水平直线表示行走区域(即可以正常地面移动的连续区域),水平直线的高度差反应了垂直空间中可以行走区域的高度差,例如正常路面和建筑物的房顶都是可以行走的,建筑物的墙壁是障碍物,且不可以行走。
定义抽象模型中的障碍物及关键点时,如图3所示,若障碍物高于前面行走点,则记为“墙”,并且将“墙”的最高点作为关键点,例如点B、D、H、I和K;若障碍物低于前面行走点,则记为“悬崖”,并且将“悬崖”的最高点作为关键点,例如点C、E、G1和J;若障碍物属于可行走的隧道(F-G2、H-G1和L-M通路),则将隧道的起点和终点分别记为“入口”和“出口”,并作为关键点,例如点F和G2、点H和G1、点L和M。
在本实施例中,将障碍物归纳为四类:墙、悬崖、入口和出口。
路径规划模块520,用于基于地形数据,识别出障碍物及关键点,以及基于高度信息,识别出关键路径。
具体而言,如图3所示,从起始点A到目标点N,通过地形数据和算法,识别出模型抽象模块510定义的障碍物及关键点,以及标记关键点(图3中的圈圈即为标记)并记录坐标。
在识别出关键点的同时,根据前面行走路面的高度信息,判断该关键点是否是合理的路径节点,如果合理,则添加到路径节点列表中,以构成关键路径。
例如,图3中,发现关键点E后,识别出F和H两个关键点,并且F-G2及其上的H-G1都是通路,此时,若F-G2通路在高度上满足通过的条件,则选择点F和G2作为关键路径上的节点,添加到路径节点列表中,并且,忽略点H和G1。
在本实施例中,路径规划模块520得到的关键路径是:A-B-C-D-E-F-G2-I-J-K-N。
进一步地,路径规划模块520,还用于优化关键路径的高度。
本实施例中,如图3所示,对得到的关键路径(A-B-C-D-E-F-G2-I-J-K-N)进行高度优化。由于关键点E处的高度在 F-G2通路的上方以及H-G1通路的下方是可通过的,所以增设关键点G3,调整关键路径为:A-B-C-D-E-G3-I-J-K-N。
进一步地,路径规划模块520,还用于基于直达原则,计算出最优路径。
具体而言,直达原则是,能直达就直达,相应地,在算法角度上采用一种凸空间选取法精简掉无效的节点。如图3所示,对得到的关键路径(A-B-C-D-E-G3-I-J-K-N)进行直达优化,最终所得的最优路径为:A-D-G3-I-J-N。
本发明的3D场景垂直空间飞行路线的规划方法和装置,能够合理、高效地进行三维垂直空间路径的生成:其合理性体现在路径比较符合物理规律和人为认知,让游戏体验显得更加真实,提高游戏玩家用户体验;其高效性是指整个规划方法一次性完成全部路径的生成,不需每帧计算,减少计算机性能消耗。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种3D场景垂直空间飞行路线的规划方法,其特征在于,包括以下步骤:
获取垂直空间的抽象模型;
定义抽象模型中的障碍物及关键点;
基于地形数据,识别出障碍物及关键点;
基于高度信息,识别出关键路径;
所述获取垂直空间的抽象模型的步骤是:
将起始点、目标点连成一条直线,垂直剖开3D场景空间,将垂直空间抽象成由地形数据构成的抽象模型。
2.根据权利要求1所述的3D场景垂直空间飞行路线的规划方法,其特征在于,还包括步骤:优化关键路径的高度。
3.根据权利要求1所述的3D场景垂直空间飞行路线的规划方法,其特征在于,还包括步骤:基于直达原则,计算出最优路径。
4.根据权利要求1所述的3D场景垂直空间飞行路线的规划方法,其特征在于,所述定义抽象模型中的障碍物及关键点的步骤包括以下步骤:
若障碍物高于前面行走点,则将障碍物的最高点作为关键点;
若障碍物低于前面行走点,则将前面行走点的高度作为关键点;
若障碍物属于可行走的隧道,则将隧道的起点和终点分别作为关键点。
5.根据权利要求1所述的3D场景垂直空间飞行路线的规划方法,其特征在于,所述基于高度信息,识别出关键路径的步骤是:
在识别出关键点的同时,根据前面行走路面的高度信息,判断该关键点是否是合理的路径节点,如果合理,则添加到路径节点列表中,以构成关键路径。
6.根据权利要求3所述的3D场景垂直空间飞行路线的规划方法,其特征在于,所述基于直达原则,计算出最优路径的步骤是:
在算法角度上采用凸空间选取法,精简掉无效的节点。
7.一种3D场景垂直空间飞行路线的规划装置,其特征在于,包括:模型抽象模块和路径规划模块,其中,
所述模型抽象模块,用于获取垂直空间的抽象模型,以及定义抽象模型中的障碍物及关键点;
所述路径规划模块,用于基于地形数据,识别出障碍物及关键点,以及基于高度信息,识别出关键路径;
所述模型抽象模块,还用于将起始点、目标点连成一条直线,垂直剖开3D场景空间,将垂直空间抽象成由地形数据构成的抽象模型。
8.根据权利要求7所述的3D场景垂直空间飞行路线的规划装置,其特征在于,所述路径规划模块,还用于优化关键路径的高度。
9.根据权利要求7所述的3D场景垂直空间飞行路线的规划装置,其特征在于,所述路径规划模块,还用于基于直达原则,计算出最优路径。
CN201711363625.4A 2017-12-18 2017-12-18 一种3d场景垂直空间飞行路线的规划方法和装置 Active CN107970610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711363625.4A CN107970610B (zh) 2017-12-18 2017-12-18 一种3d场景垂直空间飞行路线的规划方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711363625.4A CN107970610B (zh) 2017-12-18 2017-12-18 一种3d场景垂直空间飞行路线的规划方法和装置

Publications (2)

Publication Number Publication Date
CN107970610A CN107970610A (zh) 2018-05-01
CN107970610B true CN107970610B (zh) 2020-10-09

Family

ID=62006688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711363625.4A Active CN107970610B (zh) 2017-12-18 2017-12-18 一种3d场景垂直空间飞行路线的规划方法和装置

Country Status (1)

Country Link
CN (1) CN107970610B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112090078B (zh) * 2020-08-13 2021-10-15 深圳中清龙图网络技术有限公司 游戏角色移动控制方法、装置、设备和介质
CN113082719B (zh) * 2021-04-30 2022-07-29 腾讯科技(深圳)有限公司 三维虚拟场景的寻路方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430797A (zh) * 2007-11-07 2009-05-13 上海兰基斯软件有限公司 一种三维虚拟场景快速路径规划的橡皮筋算法
WO2009157382A1 (ja) * 2008-06-23 2009-12-30 シャープ株式会社 表示処理装置、表示処理装置の制御方法、制御プログラムおよび記録媒体
CN102901500A (zh) * 2012-09-17 2013-01-30 西安电子科技大学 基于概率a星与智能体混合的飞行器最优路径确定方法
CN106955493A (zh) * 2017-03-30 2017-07-18 北京乐动卓越科技有限公司 一种3d网络游戏中角色移动的校验方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2708259A1 (en) * 2007-12-19 2009-06-25 Ivo Research Limited Vehicle competition implementation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430797A (zh) * 2007-11-07 2009-05-13 上海兰基斯软件有限公司 一种三维虚拟场景快速路径规划的橡皮筋算法
WO2009157382A1 (ja) * 2008-06-23 2009-12-30 シャープ株式会社 表示処理装置、表示処理装置の制御方法、制御プログラムおよび記録媒体
CN102901500A (zh) * 2012-09-17 2013-01-30 西安电子科技大学 基于概率a星与智能体混合的飞行器最优路径确定方法
CN106955493A (zh) * 2017-03-30 2017-07-18 北京乐动卓越科技有限公司 一种3d网络游戏中角色移动的校验方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
跳转点寻路介绍;little_two_two;《https://blog.csdn.net/yuxikuo_1/article/details/50406651》;20151226;全文 *

Also Published As

Publication number Publication date
CN107970610A (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
EP3638981B1 (en) Fusion framework of navigation information for autonomous navigation
US11181926B2 (en) Trajectory selection for an autonomous vehicle
US11561551B2 (en) Prioritized constraints for a navigational system
US11216004B2 (en) Map automation—lane classification
KR102306939B1 (ko) V2x 통신 및 이미지 처리를 이용한 정보 융합을 통해 자율 주행의 단기 경로를 플래닝하기 위한 방법 및 장치
JP6928722B2 (ja) 車両動作のための位置特定の決定
Kümmerle et al. A navigation system for robots operating in crowded urban environments
Pfeiffer et al. Efficient representation of traffic scenes by means of dynamic stixels
CN103901892B (zh) 无人机的控制方法及系统
CN112525202A (zh) 一种基于多传感器融合的slam定位导航方法及系统
JP5057184B2 (ja) 画像処理システム及び車両制御システム
KR20200108527A (ko) 심층 강화 학습에 기반한 자율주행 에이전트의 학습 방법 및 시스템
CN113495578A (zh) 一种基于数字孪生式训练的集群航迹规划强化学习方法
Sorokin et al. Learning to navigate sidewalks in outdoor environments
CN113359859B (zh) 一种组合导航避障方法、系统、终端设备及存储介质
CN109285180A (zh) 一种3d的道路车辆跟踪方法
CN114779772B (zh) 一种融合全局及局部算法的路径规划方法及装置
CN116804879B (zh) 一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法
CN113255520A (zh) 基于双目视觉和深度学习的车辆避障方法与电子设备
CN109213153A (zh) 一种车辆自动驾驶方法及电子设备
CN107970610B (zh) 一种3d场景垂直空间飞行路线的规划方法和装置
US20210316220A1 (en) System and method for virtual navigation in a gaming environment
CN116661479B (zh) 建筑巡检路径规划方法、设备和可读存储介质
CN114237235A (zh) 一种基于深度强化学习的移动机器人避障方法
CN113432610A (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