CN109685903A - 一种超大地图移动优化方法 - Google Patents
一种超大地图移动优化方法 Download PDFInfo
- Publication number
- CN109685903A CN109685903A CN201811635439.6A CN201811635439A CN109685903A CN 109685903 A CN109685903 A CN 109685903A CN 201811635439 A CN201811635439 A CN 201811635439A CN 109685903 A CN109685903 A CN 109685903A
- Authority
- CN
- China
- Prior art keywords
- polygon
- solid
- optimization method
- super large
- area
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及大型移动游戏开发技术领域,尤其为一种超大地图移动优化方法,包括如下步骤:(1)体素化:从源几何体构造实心的高度场,用来表示不可行走的空间;(2)生成地区:将实心高度场的上表面中连续的区间合并为地区;(3)生成轮廓:检测地区的轮廓,并构造成简单多边形;(4)生成多边形网格:将轮廓分割成凸多边形;(5)生成高度细节:将多边形网格三角化,得到高度细节。本发明,采用一种全新的地图数据生成算法,用多边形的模式组织地图数据结构,区分阻挡和区域,降低大范围寻路的开销,使大型游戏多单位自动移动成为可能。
Description
技术领域
本发明涉及大型移动游戏开发技术领域,具体为一种超大地图移动优化方法。
背景技术
在大型的移动游戏中,地图可能超过了2000米以上,这时从地图左下角寻找一条路径达到地图右上角,因为地图障碍信息特别多,采用传统的Atar或拐点寻路方式导致开销过高,同时可能存在多个单位一起寻路,导致游戏掉帧非常严重。
发明内容
本发明的目的在于提供一种超大地图移动优化方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种超大地图移动优化方法,包括如下步骤:
(1)体素化:从源几何体构造实心的高度场,用来表示不可行走的空间;
(2)生成地区:将实心高度场的上表面中连续的区间合并为地区;
(3)生成轮廓:检测地区的轮廓,并构造成简单多边形;
(4)生成多边形网格:将轮廓分割成凸多边形;
(5)生成高度细节:将多边形网格三角化,得到高度细节。
进一步的,在步骤(1)中,一些不可走的表面在这个阶段会被剔除掉,对于源几何体上的每个三角形,使用“保守体素化算法”,对于源几何体上的每个三角形,使用“保守体素化算法”。
进一步的,体素化阶段后,实心高度场包含了很多的区间,覆盖了源几何体上的所有面。
进一步的,步骤(2)中:近一步定义实体表面上哪部分是可以行走的,以及将这些可行走的部分划分成连续的地区,这些地区可以最终构成简单多边形。
进一步的,最终构成简单多边形包括如下步骤:首先,将实心的高度场,转换成一个开放的高度场,用来表示实体表面上那些可以行走的部分;然后,进一步剔除掉不可行走的区域。
进一步的,步骤(3)中:首先,从地区生成非常精细的多边形;然后,使用多种算法来完成下面的步骤:简化相邻多边形的边缘;简化边界优化边界的长度。
进一步的,步骤(4)中,在轮廓分割成凸多边形阶段的结尾,一个凸多边形网格代表了可以行走的表面。
进一步的,步骤(4)中,在多边形的内部或者边缘添加顶点,来确保网格与原始几何体表面。
进一步的,使用步骤(1)至(5)生成的多边形信息,采用Atar寻路找出连通的多边形面,再使用拐点算法就能算出一条最优路径。
与现有技术相比,本发明的有益效果是:
采用一种全新的地图数据生成算法,用多边形的模式组织地图数据结构,区分阻挡和区域,降低大范围寻路的开销,使大型游戏多单位自动移动成为可能。
附图说明
图1为本发明多边形地图分块寻路技术图。
图2为本发明体素化效果图。
图3为本发明生成地区效果图。
图4为本发明生成轮廓效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“上/下端”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置/套设有”、“套接”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
请参阅图1-4,本发明提供一种技术方案:
一种超大地图移动优化方法,其技术方案分为多边形寻路技术
多边形地图分块技术方案:
不同于传统的四边形网格分隔地图,此技术采用多边形来分隔地图,最多支持六边形,且都是凸多边形,如图1。
本发明,大体流程如下:
1.体素化:从源几何体构造实心的高度场,用来表示不可行走的空间;
2.生成地区:将实心高度场的上表面中连续的区间合并为地区;
3.生成轮廓:检测地区的轮廓,并构造成简单多边形;
4.生成多边形网格:将轮廓分割成凸多边形;
5.生成高度细节。将多边形网格三角化,得到高度细节。
体素化(Voxelization)
在体素1化阶段,源几何体被转换成高度场,用来表示不可行走的空间。一些不可走的表面在这个阶段会被剔除掉2。
对于源几何体上的每个三角形,使用“保守体素化算法”(ConservativeVoxelization)分割成体素,并加入到高度场中。保守体素化算法确保了每个三角形面,都会被生成的体素完全包围。
体素化阶段后,实心高度场(solid heightfield)包含了很多的区间(span),覆盖了源几何体上的所有面。效果图如图2。
生成地区:
这一阶段的目标是,近一步定义实体表面上哪部分是可以行走的,以及将这些可行走的部分划分成连续的地区,这些地区可以最终构成简单多边形。
首先,将实心的高度场,转换成一个开放的高度场(open heightfield),用来表示实体表面上那些可以行走的部分。一个开放的高度场,表示位于实体空间表面的地表部分。
在下图3中,绿色部分(箭头指向的部分)代表开放区间(span)中的地表。这相当于是实心高度场上所有可行走的上表面。注意那些墙,桌子下面的区域,以及走廊扶手上那些比较窄的区域,已经在实心高度场生成的时候被剔除掉了。一些不可行走的区域,比如桌面3,楼梯扶手,墙边较窄的位置,目前仍然显示为可行走的。
然后,进一步剔除掉不可行走的区域。在计算完成的时候,开放区间中那些认为可以行走的部分,应该通过下面的测试:
该区域不能紧挨着障碍物(如,墙,家具等)(使用WalkableRadius作为距离阀值)
该区域在表面之上没有足够的开放空间(非碰撞区域)。效果图如图3。
生成轮廓
轮廓就是沿着地区边缘“行走”,构成简单多边形。这是从体素空间转换回向量空间的第一步处理。
首先,从地区生成非常精细的多边形。然后,使用多种算法来完成下面的步骤:
简化相邻多边形的边缘(地区之间的部分)
简化边界(边界是没有邻接或邻接了障碍物的轮廓)优化边界的长度。(边界如果太长,不能得到最优的三角形),效果图如图4。
生成凸多边形
许多算法只能用于凸多边形。因此,这一步需要把轮廓构成的简单多边形转换成凸多边形网格。在该阶段的结尾,一个凸多边形网格代表了可以行走的表面。
生成高度细节
在这最后的阶段,凸多边形网格会被Delaunay三角化算法三角化,于是可以增加高度的细节。在多边形的内部或者边缘添加顶点,来确保网格与原始几何体表面等价。
寻路技术:
使用上面生成的多边形信息,采用Atar寻路找出连通的多边形面,再使用拐点算法就能算出一条最优路径。
本发明,是(大型)移动游戏大地图地图信息数据组织的一种解决方案,采用一种全新的地图数据生成算法,用多边形的模式组织地图数据结构,区分阻挡和区域,降低大范围寻路的开销,使大型游戏多单位自动移动成为可能。
本发明解决解决了在移动游戏中超大地图(8000米*8000米)中,移动寻路开销过大,提出了一种快速生成Navmesh多边形的技术方案,采用此技术组织地图数据,可迅速解决寻路卡顿问题。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (9)
1.一种超大地图移动优化方法,其特征在于,包括如下步骤:
(1)体素化:从源几何体构造实心的高度场,用来表示不可行走的空间;
(2)生成地区:将实心高度场的上表面中连续的区间合并为地区;
(3)生成轮廓:检测地区的轮廓,并构造成简单多边形;
(4)生成多边形网格:将轮廓分割成凸多边形;
(5)生成高度细节:将多边形网格三角化,得到高度细节。
2.根据权利要求1所述的一种超大地图移动优化方法,其特征在于:在步骤(1)中,一些不可走的表面在这个阶段会被剔除掉,对于源几何体上的每个三角形,使用“保守体素化算法”,对于源几何体上的每个三角形,使用“保守体素化算法”。
3.根据权利要求2所述的一种超大地图移动优化方法,其特征在于:体素化阶段后,实心高度场包含了很多的区间,覆盖了源几何体上的所有面。
4.根据权利要求1所述的一种超大地图移动优化方法,其特征在于:步骤(2)中:近一步定义实体表面上哪部分是可以行走的,以及将这些可行走的部分划分成连续的地区,这些地区可以最终构成简单多边形。
5.根据权利要求4所述的一种超大地图移动优化方法,其特征在于:最终构成简单多边形包括如下步骤:首先,将实心的高度场,转换成一个开放的高度场,用来表示实体表面上那些可以行走的部分;然后,进一步剔除掉不可行走的区域。
6.根据权利要求1所述的一种超大地图移动优化方法,其特征在于:步骤(3)中:首先,从地区生成非常精细的多边形;然后,使用多种算法来完成下面的步骤:简化相邻多边形的边缘;简化边界优化边界的长度。
7.根据权利要求1所述的一种超大地图移动优化方法,其特征在于:步骤(4)中,在轮廓分割成凸多边形阶段的结尾,一个凸多边形网格代表了可以行走的表面。
8.根据权利要求1所述的一种超大地图移动优化方法,其特征在于:步骤(4)中,在多边形的内部或者边缘添加顶点,来确保网格与原始几何体表面。
9.根据权利要求1所述的一种超大地图移动优化方法,其特征在于:使用步骤(1)至(5)生成的多边形信息,采用Atar寻路找出连通的多边形面,再使用拐点算法就能算出一条最优路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811635439.6A CN109685903B (zh) | 2018-12-29 | 2018-12-29 | 一种超大地图移动优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811635439.6A CN109685903B (zh) | 2018-12-29 | 2018-12-29 | 一种超大地图移动优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109685903A true CN109685903A (zh) | 2019-04-26 |
CN109685903B CN109685903B (zh) | 2023-09-29 |
Family
ID=66191124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811635439.6A Active CN109685903B (zh) | 2018-12-29 | 2018-12-29 | 一种超大地图移动优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109685903B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111013146A (zh) * | 2019-12-25 | 2020-04-17 | 北京像素软件科技股份有限公司 | 超大地图的可动态修改的寻路导航方法和装置 |
CN111815778A (zh) * | 2020-06-22 | 2020-10-23 | 北京优锘科技有限公司 | 基于地面模型生成导航路径的方法 |
CN112669466A (zh) * | 2020-12-23 | 2021-04-16 | 北京像素软件科技股份有限公司 | 虚拟空间路径规划方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600697A (zh) * | 2016-12-13 | 2017-04-26 | 东北大学 | 一种面向3d场景的导航网格地图表示方法 |
CN108090155A (zh) * | 2017-12-12 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种2d网格寻路方法、装置及存储介质 |
-
2018
- 2018-12-29 CN CN201811635439.6A patent/CN109685903B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600697A (zh) * | 2016-12-13 | 2017-04-26 | 东北大学 | 一种面向3d场景的导航网格地图表示方法 |
CN108090155A (zh) * | 2017-12-12 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种2d网格寻路方法、装置及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111013146A (zh) * | 2019-12-25 | 2020-04-17 | 北京像素软件科技股份有限公司 | 超大地图的可动态修改的寻路导航方法和装置 |
CN111013146B (zh) * | 2019-12-25 | 2024-02-23 | 北京像素软件科技股份有限公司 | 超大地图的可动态修改的寻路导航方法和装置 |
CN111815778A (zh) * | 2020-06-22 | 2020-10-23 | 北京优锘科技有限公司 | 基于地面模型生成导航路径的方法 |
CN112669466A (zh) * | 2020-12-23 | 2021-04-16 | 北京像素软件科技股份有限公司 | 虚拟空间路径规划方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109685903B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685903A (zh) | 一种超大地图移动优化方法 | |
Chen et al. | Floor-sp: Inverse cad for floorplans by sequential room-wise shortest path | |
CN107742091B (zh) | 一种路肩提取的方法及装置 | |
US9390552B1 (en) | Method and device for extracting skeleton from point cloud | |
Mezger et al. | Hierarchical techniques in collision detection for cloth animation | |
Lafarge et al. | Creating large-scale city models from 3D-point clouds: a robust approach with hybrid representation | |
CN108053476B (zh) | 一种基于分段三维重建的人体参数测量系统及方法 | |
CN103198751B (zh) | 一种移动机器人基于激光测距仪的线特征地图创建方法 | |
US9141873B2 (en) | Apparatus for measuring three-dimensional position, method thereof, and program | |
CN107767453B (zh) | 一种基于规则约束的建筑物lidar点云重构优化方法 | |
CN108052703A (zh) | 基于混合层次包围盒的快速碰撞检测方法 | |
CN108211354A (zh) | 3d游戏场景中虚拟资源的生成方法及装置 | |
CN103871102A (zh) | 一种基于高程点和道路轮廓面的道路三维精细建模方法 | |
Quan | Surface reconstruction by integrating 3d and 2d data of multiple views | |
CN109410323B (zh) | 一种城市建筑立面三维“线-面”结构重建方法 | |
CN115564926A (zh) | 基于影像建筑物结构学习的三维面片模型构建方法 | |
CN103247074A (zh) | 一种结合深度信息与人脸分析技术的3d照相方法 | |
US20220040859A1 (en) | Footstep planning method, robot and computer-readable storage medium | |
Chen et al. | Automatic surface repairing, defeaturing and meshing algorithms based on an extended B-rep | |
CN103413346B (zh) | 一种真实感流体实时重建方法及其系统 | |
Thiemann et al. | 3D-symbolization using adaptive templates | |
JP7380704B2 (ja) | 中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム | |
Sahillioğlu et al. | Coarse-to-fine surface reconstruction from silhouettes and range data using mesh deformation | |
Jin et al. | High precision indoor model contour extraction algorithm based on geometric information | |
CN117687400A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230822 Address after: 7th Floor, Building 4, No. 599 Wangshang Road, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310051 Applicant after: NETEASE (HANGZHOU) NETWORK Co.,Ltd. Address before: 518000 room 2806, block a, building 11, Shenzhen Bay ecological park, Gaoxin South Shidao, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN NINGMENG INTERDYNAMIC TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |