CN114177613A - 导航网格更新方法、装置、设备及计算机可读存储介质 - Google Patents
导航网格更新方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114177613A CN114177613A CN202210135191.7A CN202210135191A CN114177613A CN 114177613 A CN114177613 A CN 114177613A CN 202210135191 A CN202210135191 A CN 202210135191A CN 114177613 A CN114177613 A CN 114177613A
- Authority
- CN
- China
- Prior art keywords
- updated
- grid
- unit space
- area
- updating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000008859 change Effects 0.000 claims abstract description 105
- 238000012545 processing Methods 0.000 claims abstract description 74
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 5
- 230000001413 cellular effect Effects 0.000 claims 1
- 238000004381 surface treatment Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 72
- 230000008569 process Effects 0.000 description 33
- 230000006399 behavior Effects 0.000 description 18
- 239000007787 solid Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000002829 reductive effect Effects 0.000 description 11
- 238000009877 rendering Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012508 change request Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 239000002775 capsule Substances 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000009184 walking Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005422 blasting Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Navigation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种导航网格更新方法、装置、设备及计算机可读存储介质,应用于云技术、人工智能、智慧交通和车载等各种应用场景;该导航网格更新方法包括:获取虚拟场景中发生场景变化的待更新区域;在待更新区域内进行模型检测,得到物理模型;对物理模型进行几何化处理,得到指定几何形状的待处理网格数据;对待处理网格数据进行导航处理,得到目标导航网格,其中,目标导航网格用于确定待更新区域内的可通行路线,指定几何形状为导航处理所对应的几何形状;将待更新区域对应的待更新导航网格更新为目标导航网格,其中,待更新导航网格为待更新区域对应的原始导航网格。通过本申请,能够提升导航网格的更新效率。
Description
技术领域
本申请涉及计算机应用领域中的信息处理技术,尤其涉及一种导航网格更新方法、装置、设备及计算机可读存储介质。
背景技术
导航网格是虚拟场景中的导航路线,用于确定虚拟场景中可通行的路线。一般来说,导航网格是由游戏引擎预先生成的,在渲染虚拟场景时,将导航网格作为资源进行导入;也就是说,在虚拟场景的渲染过程中,导航网格是静态的,从而导航网格的更新的复杂度较高,导致导航网格的更新效率较低。
发明内容
本申请实施例提供一种导航网格更新方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升导航网格的更新效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种导航网格更新方法,包括:
获取虚拟场景中发生场景变化的待更新区域;
在所述待更新区域内进行模型检测,得到物理模型;
对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据;
对所述待处理网格数据进行导航处理,得到目标导航网格,其中,所述目标导航网格用于确定所述待更新区域内的可通行路线,所述指定几何形状为导航处理所对应的几何形状;
将所述待更新区域对应的待更新导航网格更新为所述目标导航网格,其中,所述待更新导航网格为所述待更新区域对应的原始导航网格。
本申请实施例提供一种导航网格更新装置,包括:
区域确定模块,用于获取虚拟场景中发生场景变化的待更新区域;
模型检测模块,用于在所述待更新区域内进行模型检测,得到物理模型;
数据转换模块,用于对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据;
网格生成模块,用于对所述待处理网格数据进行导航处理,得到目标导航网格,其中,所述目标导航网格用于确定所述待更新区域内的可通行路线,所述指定几何形状为导航处理所对应的几何形状;
网格更新模块,用于将所述待更新区域对应的待更新导航网格更新为所述目标导航网格,其中,所述待更新导航网格为所述待更新区域对应的原始导航网格。
在本申请实施例中,所述区域确定模块,还用于获取所述虚拟场景中发生场景变化的场景变化区域;确定所述场景变化区域对应的至少一个单元空间;基于至少一个所述单元空间中的每个所述单元空间对应的边界区域,确定所述待更新区域。
在本申请实施例中,所述区域确定模块,还用于从至少一个所述单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间,其中,所述待更新单元空间集合包括发生场景变化的待更新单元空间;从至少一个所述单元空间中,删除至少一个所述待删除单元空间,得到至少一个所述待更新单元空间;将至少一个所述待更新单元空间,更新至所述待更新单元空间集合中。
在本申请实施例中,所述区域确定模块,还用于当指定更新时间到达时,从所述待更新单元空间集合中获取目标待更新单元空间;基于所述目标待更新单元空间对应的边界区域,确定所述虚拟场景中发生场景变化的所述待更新区域。
在本申请实施例中,所述区域确定模块,还用于获取所述待更新单元空间集合中的每个所述待更新单元空间对应的优先级确定信息,其中,所述优先级确定信息包括场景变化时长、虚拟对象距离和场景数据中的至少一种,所述虚拟对象距离是指所述待更新单元空间与虚拟对象之间的距离,所述场景数据是指所述虚拟场景的特征数据;基于所述优先级确定信息,确定每个所述待更新单元空间的更新优先级;从所述待更新单元空间集合中获取所述更新优先级最大的所述待更新单元空间,得到所述目标待更新单元空间。
在本申请实施例中,所述区域确定模块,还用于针对至少一个所述单元空间,获取每个所述单元空间在所述场景变化区域内的空间尺寸;将所述空间尺寸大于第一指定空间尺寸的所述单元空间,确定为有效单元空间。
在本申请实施例中,所述区域确定模块,还用于从至少一个所述单元空间对应的至少一个所述有效单元空间中,确定属于所述待更新单元空间集合的至少一个所述待删除单元空间。
在本申请实施例中,所述导航网格更新装置还包括空间划分模块,用于基于第二指定空间尺寸划分所述虚拟场景,得到单元空间集合,其中,所述单元空间集合包括所述虚拟场景对应的各个所述单元空间。
在本申请实施例中,所述区域确定模块,还用于基于所述场景变化区域对应的边界区域,确定所述待更新区域。
在本申请实施例中,所述数据转换模块,还用于当所述物理模型为曲面模型时,对所述曲面模型进行直面处理,得到待转换模型;对所述待转换模型进行几何化处理,得到所述指定几何形状的所述待处理网格数据。
在本申请实施例中,所述数据转换模块,还用于对所述物理模型进行几何化处理,得到模型顶点集合和所述指定几何形状对应的几何形集合,其中,所述几何形集合中的每个几何形包括顶点索引,所述顶点索引用于确定所述模型顶点集合中的模型顶点;将所述模型顶点集合和所述几何形集合,确定为所述待处理网格数据。
在本申请实施例中,所述网格生成模块,还用于对所述待处理网格数据进行体素化处理,得到高度场数据;基于所述高度场数据,筛选可通行体素块数据;对所述可通行体素块数据进行区域生成,得到可通行区域;对所述可通行区域进行面切割,得到所述目标导航网格。
在本申请实施例中,所述导航网格更新装置还包括网格寻路模块,用于基于所述目标导航网格在所述待更新区域中进行寻路,得到所述可通行路线;基于所述可通行路线控制待运动虚拟对象在所述虚拟场景中运动。
本申请实施例提供一种导航网格更新设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的导航网格更新方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令用于被处理器执行时,实现本申请实施例提供的导航网格更新方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现本申请实施例提供的导航网格更新方法。
本申请实施例至少具有以下有益效果:在虚拟场景发生场景变化时,通过对待更新区域内的物理模型进行检测,就能够基于待更新区域内的物理模型重新确定待更新区域对应的目标导航网格,使得在虚拟场景的渲染过程中,导航网格能够基于场景变化实时更新;因此,基于待更新区域内的物理模型就能够实现导航网格的更新,从而能够降低导航网格更新的复杂度,提升导航网格的更新效率。
附图说明
图1是本申请实施例提供的导航网格更新系统的架构示意图;
图2是本申请实施例提供的图1中的一种服务器的组成结构示意图;
图3是本申请实施例提供的导航网格更新方法的流程示意图一;
图4是本申请实施例提供的导航网格更新方法的流程示意图二;
图5是本申请实施例提供的导航网格更新方法的流程示意图三;
图6是本申请实施例提供的导航网格更新方法的流程示意图四;
图7是本申请实施例提供的一种示例性的导航网格更新方法的流程示意图;
图8是本申请实施例提供的一种示例性的游戏场景的示意图;
图9是本申请实施例提供的另一种示例性的游戏场景的示意图;
图10是本申请实施例提供的一种示例性的导航网格更新方法的流程示意图;
图11是本申请实施例提供的一种示例性的几何化处理的示意图;
图12是本申请实施例提供的一种示例性的对凸多变形切割三角形的过程;
图13是本申请实施例提供的一种示例性的寻路示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)虚拟场景,是指应用程序在终端设备上运行时所显示(或提供)的虚拟场景,也可以是指通过接收云端服务器所发送的音视频信息所播放的虚拟场景,其中,应用程序在云端服务器上运行。另外,虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境;以及虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括虚拟天空、虚拟陆地和虚拟海洋等,该虚拟陆地可以包括虚拟沙漠和虚拟城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动,智能体也可以基于控制信息在该虚拟场景中进行移动。
2)物理引擎,用于实现物理模拟计算;通过物理引擎,能够使得虚拟场景中的虚拟对象遵行物理参数来运动,从而虚拟对象能够模拟真实世界中的运动规律来运动。本申请实施例中,可以通过物理引擎对检测到的物理模型进行处理,以获得目标导航网格。
3)导航网格(Navigation Mesh),又称为行走面,是一种用于在复杂空间中导航寻路、标记可行走路线的多边形网格数据;还用于标识位置的地形、一位置处虚拟角色对应的动作(比如,行走,游泳,攀爬等)。导航网格包括多个凸多边形,每个凸边形为导航网格的基本组成单位,也是基于导航网格寻路的单位。在导航网格的同一个凸边形中的两点,在忽略地形高度的情况下,是可以直线到达的;如果两个点位于不同的凸边形,则利用导航网格和寻路算法计算出待经过的凸边形,进而基于待经过的凸边形计算出可通行路线。
4)虚拟对象,虚拟场景中可以进行交互的各种虚拟人和虚拟物的形象,或在虚拟场景中的可活动虚拟对象。其中,该可活动虚拟对象可以是虚拟人物、虚拟动物和动漫人物等,例如在虚拟场景中显示的虚拟人物和虚拟动物等。该虚拟对象可以是虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
5)包围盒,用于获取离散点集的最优包围空间;比如,采用比几何对象的体积稍大且特性简单(比如,边的数量少于该集合对象)的几何体来近似地代替几何对象,其中,比几何对象的体积稍大且特性简单的几何体即为包围盒。常见的包围盒包括AABB(Axis-Aligned Bounding Box)包围盒、包围球、方向包围盒(Oriented Bounding Box,OBB)、以及固定方向凸包(Fixed Directions Hulls,FDH)。
6)场景数据,表示虚拟场景的特征数据;比如,可以是虚拟场景中建造区域的面积、以及虚拟场景当前所处的建筑风格等;也可以包括虚拟建筑在虚拟场景中所处的位置、以及虚拟建筑的占地面积等;还可以是虚拟场景中的交互数据,比如,攻击情况。
7)客户端,设备中运行的用于提供各种服务的应用程序,例如游戏客户端,演习仿真客户端,等等。
8)云计算(Cloud Computing),是一种计算模式,通过将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务;其中,为资源池提供资源的网络被称为“云”,“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
9)云游戏(Cloud Gaming),又可称为游戏点播(Gaming on Demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(Thin Client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端运行,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为音视频流,以通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。本申请实施例提供的导航网格更新方法,可以应用于云游戏应用中。
10)人工智能(Artificial Intelligence,AI),是利用数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。在本申请实施例中,待运动虚拟对象可以是通过人工智能确定的智能体。
需要说明的是,导航网格是虚拟场景中的导航路线,用于确定虚拟场景中的可行路线。一般来说,用于渲染虚拟场景的设备是不包括游戏引擎的,而是由游戏引擎预先生成导航网格,将导航网格作为渲染资源,并在虚拟场景的渲染过程中,基于导航网格进行寻路;然而,上述的导航网格是静态的,当虚拟场景发生变化,将无法基于虚拟场景的变化更新导航网格,导致虚拟场景中基于导航网格移动时,导航准确度较低。
另外,可以通过游戏引擎实现导航网格的更新,但接入游戏引擎,会带来额外的架构改造、迁移成本和性能隐患,导致导航网格的更新效率较低。
基于此,本申请实施例提供一种导航网格的更新方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升导航准确度,简化虚拟场景渲染的系统架构,降低迁移成本和性能隐患,提升导航网格的更新效率。下面说明本申请实施例提供的导航网格更新设备(以下简称为更新设备)的示例性应用,本申请实施例提供的更新设备可以实施为智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能家电、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、智能语音交互设备、便携式游戏设备和智能音箱等各种类型的终端,也可以实施为服务器。下面,将说明更新设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的导航网格更新系统的架构示意图;如图1所示,为支撑一个导航网格更新应用,在导航网格更新系统100中,终端200(示例性示出了终端200-1和终端200-2)通过网络300连接服务器400(称为更新设备),网络300可以是广域网或者局域网,又或者是二者的组合。另外,该导航网格更新系统100中还包括数据库500,用于向服务器400提供数据支持;并且,图1中示出的为数据库500独立于服务器400的一种情况,此外,数据库500还可以集成在服务器400中,本申请实施例对此不作限定。
终端200,用于响应于场景改变操作,通过网络300向服务器400发送场景变化请求;还用于通过网络300接收服务器400响应于场景变化请求所发送的可通行路线,基于可通行路线渲染智能体的运动轨迹。
服务器400,用于通过网络300接收终端200发送的场景变化请求,响应于场景变化请求,获取虚拟场景中发生场景变化的待更新区域;在待更新区域内进行模型检测,得到物理模型;对物理模型进行几何化处理,得到指定几何形状的待处理网格数据;对待处理网格数据进行导航处理,得到目标导航网格,其中,目标导航网格用于确定待更新区域内的可通行路线,指定几何形状为导航处理所对应的几何形状;将待更新区域对应的待更新导航网格更新为目标导航网格,其中,待更新导航网格为待更新区域对应的原始导航网格;基于目标导航网格确定可通行路线;还用于通过网络300向终端200发送可通行路线。
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备和智能音箱等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不作限制。
参见图2,图2是本申请实施例提供的图1中的一种服务器的组成结构示意图,图2所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算机设备,示例性的网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的导航网格更新装置可以采用软件方式实现,图2示出了存储在存储器450中的导航网格更新装置455,其可以是程序和插件等形式的软件,包括以下软件模块:区域确定模块4551、模型检测模块4552、数据转换模块4553、网格生成模块4554、网格更新模块4555、空间划分模块4556和网格寻路模块4557,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本申请实施例提供的导航网格更新装置可以采用硬件方式实现,作为示例,本申请实施例提供的导航网格更新装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的导航网格更新方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的导航网格更新方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如游戏APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面,将结合本申请实施例提供的导航网格更新设备的示例性应用和实施,说明本申请实施例提供的导航网格更新方法。另外,本申请实施例提供的导航网格更新方法应用于云技术、人工智能、智慧交通和车载等各种场景。
参见图3,图3是本申请实施例提供的导航网格更新方法的流程示意图一,该导航网格更新方法由更新设备执行,将结合图3示出的步骤进行说明。
S301、获取虚拟场景中发生场景变化的待更新区域。
在本申请实施例中,在呈现虚拟场景的情况下,更新设备实时检测虚拟场景中改变虚拟场景的行为;当更新设备检测到改变虚拟场景的行为时,确定虚拟场景发生了场景变化,从而,获取虚拟场景中发生场景变化的区域,也就获得了待更新区域。
需要说明的是,更新设备通过获取虚拟场景中改变虚拟场景的行为数据,来检测虚拟场景中的改变虚拟场景的行为;其中,改变虚拟场景的行为数据包括虚拟场景的建造行为数据、虚拟场景的破坏行为数据和虚拟场景中虚拟道具(比如,虚拟交通工具)的移动行为数据中的至少一种;以及,改变虚拟场景的行为数据可以通过接收用于改变虚拟场景的操作获得、还可以通过接收用于指示改变虚拟场景的指令获得、又可以通过事件触发获得,等等,本申请实施例对此不作限定。另外,待更新区域可以是虚拟场景中发生场景变化的所有区域,还可以是虚拟场景中发生场景变化的部分区域,等等,本申请实施例对此不作限定;而当待更新区域是虚拟场景中发生场景变化的部分区域时,该发生场景变化的部分区域可以是发生场景变化的所有区域中优先级最大的区域。
S302、在待更新区域内进行模型检测,得到物理模型。
在本申请实施例中,更新设备获得了待更新区域之后,在待更新区域内进行模型检测,所检测到的模型称为物理模型,该物理模型用于重新生成待更新区域内的导航网格。其中,物理模型是指待更新区域内的虚拟物体;比如,虚拟建筑和虚拟人物等刚体模型,这里,刚体模型是指在运动中或受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体模型。
需要说明的是,由于待更新区域内发生场景变化,是因为待更新区域内的物理模型发生了变化,而发生变化的物理模型是影响待更新区域内的导航网格改变的因素;因此,更新设备通过检测待更新区域内的物理模型,以根据检测到的物理模型更新待更新区域内的导航网格,进而实现导航网格与场景变化的适配更新,提升待更新区域内的导航网格与虚拟场景的匹配度。
S303、对物理模型进行几何化处理,得到指定几何形状的待处理网格数据。
在本申请实施例中,由于物理模型对应的数据与用于生成导航网格的数据在格式上不同,因此,更新设备对物理模型进行几何化处理,以实现物理模型对应的数据向用于生成导航网格的数据的转换;其中,转换后的结果即为指定几何形状的待处理网格数据。
需要说明的是,几何化处理即为数据转换的处理,用于将物理模型对应的几何形数据转换为用于生成导航网格的几何形数据。指定几何形状为用于生成导航网格的几何形数据所对应的几何形状,比如,三角形,矩形等。
S304、对待处理网格数据进行导航处理,得到目标导航网格。
在本申请实施例中,更新设备获得了待处理网格数据之后,基于待处理网格数据进行导航处理,以基于待处理网格数据确定可通行的数据,进而基于可通行的数据生成目标导航网格。
需要说明的是,目标导航网格是更新设备为待更新区域重新生成的导航网格,易知,目标导航网格与待更新区域是匹配的;其中,目标导航网格用于确定待更新区域内的可通行路线。
S305、将待更新区域对应的待更新导航网格更新为目标导航网格。
在本申请实施例中,更新设备获得了目标导航网格之后,基于该目标导航网格对待更新区域对应的待更新导航网格进行更新,以使得待更新区域的导航网格为目标导航网格。
需要说明的是,待更新导航网格为待更新区域所对应的原始导航网格,即为待更新区域发生场景变化之前的导航网格。另外,当虚拟场景为游戏场景时,待更新导航网格可以是由游戏引擎预先生成的。
可以理解的是,在虚拟场景发生场景变化时,通过对待更新区域内的物理模型进行检测,就能够基于待更新区域内的物理模型重新确定待更新区域对应的目标导航网格,使得在虚拟场景的渲染过程中,导航网格能够基于场景变化实时更新;因此,基于待更新区域内的物理模型就能够实现导航网格的更新,从而能够降低导航网格更新的复杂度,提升导航网格的更新效率;另外,还能够提升导航网格与虚拟场景的匹配度,从而当基于目标导航网格确定可通行路线时,能够提升导航的准确度。
参见图4,图4是本申请实施例提供的导航网格更新方法的流程示意图二;如图4所示,在本申请实施例中,图3中的S301可通过S3011至S3013实现;也就是说,更新设备获取虚拟场景中发生场景变化的待更新区域,包括S3011至S3013,下面对各步骤分别进行说明。
S3011、获取虚拟场景中发生场景变化的场景变化区域。
在本申请实施例中,更新设备对虚拟场景中发生场景变化的区域进行获取,也就获得了场景变化区域;其中,场景变化区域是指虚拟场景中发生场景变化的所有区域。
S3012、确定场景变化区域对应的至少一个单元空间。
需要说明的是,虚拟场景包括各个指定尺寸大小的单元空间,从而场景变化区域也包括至少一个单元空间;这里,至少一个单元空间是指场景变化区域中所包括的单元空间。
S3013、基于至少一个单元空间中的每个单元空间对应的边界区域,确定待更新区域。
在本申请实施例中,更新设备可以将场景变化区域中每个单元空间对应的边界区域,确定为待更新区域;也就是说,更新设备可以以单元空间为单位进行导航网格的更新。
可以理解的是,更新设备通过将场景变化区域内的每个单元空间确定为待更新区域,实现了以单元空间为单位更新导航网格的处理;如此,一方面能够提升导航网格更新的效率,另一方面,还能够提升导航网格更新的准确度。
继续参见图4,在本申请实施例中,S3011之后还包括S3014;也就是说,更新设备获取虚拟场景中发生场景变化的场景变化区域之后,该导航网格更新方法还包括S3014,下面对该步骤进行说明。
S3014、基于场景变化区域对应的边界区域,确定待更新区域。
需要说明的是,更新设备可以将场景变化区域中的每个单元空间的边界区域确定为待更新区域,还可以将场景变化区域的边界区域确定为待更新区域;当更新设备将场景变化区域的边界区域确定为待更新区域时,是将场景变化区域作为整体进行导航网格的更新的,此时,场景变化区域即为待更新区域。
基于图4,参见图5,图5是本申请实施例提供的导航网格更新方法的流程示意图三;如图5所示,在本申请实施例中,S3012之后还包括S3015至S3017;也就是说,更新设备确定场景变化区域对应的至少一个单元空间之后,该导航网格更新方法还包括S3015至S3017,下面对各步骤分别进行说明。
S3015、从至少一个单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间。
在本申请实施例中,更新设备在更新导航网格时,可以从待更新单元空间集合中获取单元空间,以确定待更新区域;从而,更新设备在获得了场景变化区域内的至少一个单元空间之后,将场景变化区域内的至少一个单元空间更新至待更新单元空间集合中;其中,待更新单元空间集合包括发生场景变化的待更新单元空间,也就是说,待更新单元空间集合用于缓存待进行更新导航网格的单元空间。
需要说明的是,更新设备在将场景变化区域内的至少一个单元空间更新至待更新单元空间集合中时,可以直接将至少一个单元空间更新至待更新单元空间集合中,还可以将至少一个单元空间中属于待更新单元空间集合的单元空间删除后再更新至待更新单元空间集合中;其中,至少一个待删除单元空间中的每个待删除单元空间,即为至少一个单元空间中属于待更新单元空间集合的单元空间。
S3016、从至少一个单元空间中,删除至少一个待删除单元空间,得到至少一个待更新单元空间。
在本申请实施例中,更新设备从至少一个单元空间中将至少一个待删除单元空间进行删除,也就获得了至少一个待更新单元空间;也就是说,至少一个待更新单元空间是删除了至少一个待删除单元空间后的至少一个单元空间。
S3017、将至少一个待更新单元空间,更新至待更新单元空间集合中。
在本申请实施例中,由于至少一个待更新单元空间是导航网格待进行更新的单元空间,因此,更新设备将至少一个待更新单元空间添加至待更新单元空间集合中。
可以理解的是,通过对至少一个单元空间进行至少一个待删除单元空间的删除,删除了至少一个单元空间中已在待更新单元空间集合中的单元空间,如此,避免了多个单元空间在待更新单元空间集合的重复存放,从而,能够降低导航网格更新的重复率。
继续参见图5在本申请实施例中,图3中的S301还可通过S3018和S3019实现;也就是说,更新设备获取虚拟场景中发生场景变化的待更新区域,包括S3018和S3019,下面对各步骤分别进行说明。
S3018、当指定更新时间到达时,从待更新单元空间集合中获取目标待更新单元空间。
需要说明的是,当更新设备将待更新区域内的至少一个单元空间更新至待更新单元空间集合之后,更新设备可以从待更新单元空间集合中获取待更新单元空间,以对获取的待更新单元空间进行导航网格的更新。这里,从待更新单元空间集合中获取的待更新单元空间即为目标待更新单元空间。
S3019、基于目标待更新单元空间对应的边界区域,确定虚拟场景中发生场景变化的待更新区域。
需要说明的是,更新设备可以将目标待更新单元空间对应的边界区域,确定为虚拟场景中发生场景变化的待更新区域。
可以理解的是,通过从待更新单元空间集合中确定目标待更新单元空间,以确定虚拟场景中发生场景变化的待更新区域,能够降低导航网格更新的重复率,进而提升导航网格的更新准确度和更新效率,降低资源消耗。
在本申请实施例中,S3018可通过S30181至S30183(图中未示出)实现;也就是说,更新设备从待更新单元空间集合中获取目标待更新单元空间,包括S30181至S30183,下面对各步骤分别进行说明。
S30181、获取待更新单元空间集合中的每个待更新单元空间对应的优先级确定信息。
在本申请实施例中,更新设备从待更新单元空间集合中获取目标待更新单元空间时,可以是从待更新单元空间集合中获取任一待更新单元空间,还可以是基于优先级从待更新单元空间集合中获取目标待更新单元空间,等等,本申请实施例对此不作限定。
需要说明的是,更新设备在基于优先级从待更新单元空间集合中获取目标待更新单元空间时,先获取待更新单元空间集合中每个待更新单元空间对应的优先级确定信息;优先级确定信息用于确定每个待更新单元空间的优先级;优先级确定信息包括场景变化时长、虚拟对象距离和场景数据中的至少一种,其中,场景变化时长是指待更新单元空间的发生场景变化时间至当前时间的时长,距离数据是指待更新单元空间与虚拟对象之间的距离,场景数据是指虚拟场景的特征数据(比如,爆破区域,地形数据)。
S30182、基于优先级确定信息,确定每个待更新单元空间的更新优先级。
在本申请实施例中,更新设备将每个待更新单元空间对应的优先级称为更新优先级。这里,更新优先级可以与场景变化时长正相关(也可以是负相关);更新优先级可以与距离数据负相关,比如,优先更新与虚拟对象(可以是虚拟场景中的任一对象,也可以是待导航的虚拟对象)之间的距离最短的待更新单元空间的导航网格;以及比如相对应其他区域,爆破区域内的待更新单元空间的更新优先级较高。
S30183、从待更新单元空间集合中获取更新优先级最大的待更新单元空间,得到目标待更新单元空间。
需要说明的是,更新设备这里获得的目标待更新单元空间,为待更新单元空间集合中更新优先级最大的待更新单元空间。
可以理解的是,更新设备将所有待更新单元空间存储在待更新单元空间集合中,当指定更新时间到达时,基于更新优先级获取目标待更新单元空间以进行导航网格的更新,能够提升导航网格更新的及时性和准确性。比如,当更新优先级与场景变化时长正相关时,更新设备通过对更新优先级最大的待更新单元空间进行导航网格的更新,能够确保待更新单元空间的有序更新,进而能够提升导航网格更新的准确性;当更新优先级与距离数据负相关时,由于虚拟对象所在区域处的交互频率大于其他区域,更新设备通过对更新优先级最大的待更新单元空间进行导航网格的更新,能够确保虚拟对象所在区域的待更新单元空间的导航网格更新的及时性,进而能够提升基于导航网格的导航效果;当更新优先级是基于虚拟场景的区域类型确定的时,更新设备通过对更新优先级最大的待更新单元空间进行导航网格的更新,能够实现指定区域处的导航网格的针对性更新,进而能够提升基于导航网格的导航效果。
在本申请实施例中,S3015之前还包括判断场景变化区域中的每个单元空间的有效性的过程;也就是说,更新设备从至少一个单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间之前,该导航网格更新方法还包括:更新设备针对至少一个单元空间,获取每个单元空间在场景变化区域内的空间尺寸;将空间尺寸大于第一指定空间尺寸的单元空间,确定为有效单元空间。
需要说明的是,更新设备先确定至少一个单元空间中的每个单元空间在场景变化区域内的空间尺寸,再基于该空间尺寸与第一指定空间尺寸的比较结果,确定对应单元空间的有效性;有效的单元空间称为有效单元空间,并且,空间尺寸大于第一指定空间尺寸的单元空间为有效单元空间,空间尺寸小于或等于第一指定空间尺寸的单元空间为无效单元空间。这里,第一指定空间尺寸是基于单元空间的尺寸确定的阈值,易知,第一指定空间尺寸小于单元空间的尺寸,比如,第一指定空间为单元空间的尺寸的一半。
相应地,在本申请实施例中,S3015中更新设备从至少一个单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间,包括:更新设备从至少一个单元空间对应的至少一个有效单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间。
需要说明的是,更新设备通过对至少一个单元空间中每个单元空间进行有效性判断,并确保该单元空间为有效单元空间时,才进行重复存储的判断(即为判断单元空间是否属于待更新单元空间集合的过程);如此,针对场景变化区域边缘处的单元空间,如果单元空间落在场景变化区域内的尺寸较大(即为空间尺寸大于第一指定空间尺寸),表明场景变化对该单元空间的影响较大,此时,才对该单元空间进行导航网格的更新;如果单元空间落在场景变化区域内的尺寸较小(即为空间尺寸小于或等于第一指定空间尺寸),表明场景变化对该单元空间的影响较小,此时,取消对该单元空间进行导航网格的更新;因此,能够提升所确定的导航网格待更新区域的准确度,进而提升导航网格更新的准确度。
在本申请实施例中,S3011之前还包括划分虚拟场景的过程;也就是说,更新设备获取虚拟场景中发生场景变化的场景变化区域之前,该导航网格更新方法还包括:更新设备基于第二指定空间尺寸划分虚拟场景,得到单元空间集合。
需要说明的是,更新设备提前对虚拟场景进行了划分,以基于单元空间实现导航网格的更新;这里,更新设备划分虚拟场景的依据可以为第二指定空间尺寸,当完成划分后,虚拟场景将被划分为各个单元空间;其中,单元空间集合包括虚拟场景对应的各个单元空间。易知,第二指定空间尺寸即为单元空间的尺寸,且第二指定空间尺寸为划分虚拟场景的基本单元阈值,比如,指定大小的长、宽和高。
可以理解的是,通过对虚拟场景进行划分,使得虚拟场景是由各个单元空间组成的;如此,在场景发生变化时,能够对虚拟场景中场景发生变化的至少一个单元空间分别进行导航网格的更新;比如,可以将至少一个单元空间的导航网格的更新并行处理,从而能够提升导航网格的更新效率。此外,通过对虚拟场景划分,使得导航网格是与单元空间对应的,即虚拟场景的导航网格是由各个单元空间分别对应的导航网格组成的,从而,当场景发生变化时,使得导航网格的更新是以单元空间为单位进行更新的,而不是以虚拟场景整体进行更新的,从而,能够降低导航网格的更新的资源消耗。
在本申请实施例中,S303可通过S3031和S3032(图中未示出)实现;也就是说,更新设备对物理模型进行几何化处理,得到指定几何形状的待处理网格数据,包括S3031和S3032,下面对各步骤分别进行说明。
S3031、当物理模型为曲面模型时,对曲面模型进行直面处理,得到待转换模型。
S3032、对待转换模型进行几何化处理,得到指定几何形状的待处理网格数据。
需要说明的是,更新设备在对物理模型进行几何化处理时,可以基于物理模型中所包括的图形的形状确定几何化处理的方式。这里,由于用于确定导航网格的待处理网格数据为直线图形数据,因此,在基于物理模型获取待处理网格数据的过程中,当物理模型为直面模型(比如,高度图,三角网格,立方体等)时,更新设备直接对直面模型进行几何化处理,以获得待处理网格数据。当物理模型为曲面模型(比如,胶囊体,球体等)时,更新设备对曲面模型进行直面处理,以将曲面模型转换为直面模型再进行几何化处理,以获得待处理网格数据;其中,待转换模型即为直面模型。另外,直面处理是指将曲面模型中的曲面图像转换为直线图形的过程,比如,获取曲面模型的外接矩形包围盒的处理。
在本申请实施例中,更新设备可以通过S3031和S3032对曲面模型进行直面处理来获得待处理网格数据,还可以通过对曲面模型的曲面进行指定几何形状的栅格化,来获得待处理网格数据,等等,本申请实施例对此不作限定;其中,栅格化是指将曲面模型映射成二维坐标点,并基于各个二维坐标点构建三角形的过程。
可以理解的是,更新设备对曲面模型进行直面处理的过程中,先通过获取曲面模型近似的直面模型,再将对直面模型的几何化处理作为对曲面模型的几何化处理;而由于对直面模型进行几何化处理时仅通过线条的划分就能实现,因此通过获取近似的直面模型和线条划分就能够实现对曲面模型的几何化处理,从而能够提升几何化处理的效率,进而能够提升导航网格的更新效率。
在本申请实施例中,S303还可通过S3033和S3034(图中未示出)实现;也就是说,更新设备对物理模型进行几何化处理,得到指定几何形状的待处理网格数据,包括S3033和S3034,下面对各步骤分别进行说明。
S3033、对物理模型进行几何化处理,得到模型顶点集合和指定几何形状对应的几何形集合。
S3034、将模型顶点集合和几何形集合,确定为待处理网格数据。
在本申请实施例中,更新设备对物理模型进行几何化处理时,获得的指定几何形状的待处理网格数据包括模型顶点集合和指定几何形状对应的几何形数组;其中,几何形集合中的每个几何形包括顶点索引,几何形即为指定几何形状,顶点索引用于确定模型顶点数据中的模型顶点。
可以理解的是,通过将几何化处理的结果采用模型顶点集合和几何形集合来描述待处理网格数据,由于几何形集合中包括的为每个几何形的顶点的顶点索引,因此,能够实现模型顶点的复用,从而能够降低待处理网格数据的存储资源,进而能够降低更新导航网格的资源消耗。
在本申请实施例中,S304可通过S3041至S3044(图中未示出)实现;也就是说,更新设备对待处理网格数据进行导航处理,得到目标导航网格,包括S3041至S3044,下面对各步骤分别进行说明。
S3041、对待处理网格数据进行体素化处理,得到高度场数据。
S3042、基于高度场数据,筛选可通行体素块数据。
需要说明的是,更新设备通过对待处理网格数据进行体素化处理,以筛选出可通行的体素块,这里称为可通行体素块数据;其中,可通行体素块数据包括各个可通行的体素块。
还需要说明的是,待处理网格数据为用几何图形的网格数据描述的区域,体素化处理是指按指定大小对待处理网格数据对应的区域进行均匀划分的过程,所划分出的每个单元即为一个体素块数据。其中,高度场数据包括每个体素块数据对应的高度、以及每个体素块数据与相邻体素块数据之间的高度差。这里,更新设备可以基于高度阈值和高度差阈值进行可通行体素块数据的筛选,基于高度场数据,将高度低于高度阈值、且高度差小于高度差阈值的体素块数据,确定为可通行的体素块。
S3043、对可通行体素块数据进行区域生成,得到可通行区域。
需要说明的是,区域生成是指获取可通行体素块数据的区域的过程;这里,更新设备获取每个可通行体素块对应的区域,也就获得了与可通行体素块对应的可通行区域。
S3044、对可通行区域进行面切割,得到目标导航网格。
需要说明的是,更新设备对可通行区域进行面切割,以将可通行区域转换为导航网格对应的数据格式,也就获得了目标导航网格。其中,面切割是指将可通行区域中的子区域整合为各个指定几何形状(比如,三角形)的网格数据的过程。
可以理解的是,由于待处理网格数据是物理模型所对应的指定几何形状的网格数据,因此,更新设备通过对待处理网格数据依次进行体素化处理、筛选、区域生成和面切割,来获得目标导航网格数据,实现了基于物理模型更新导航网格的过程;从而实现了独立于虚拟引擎(比如,游戏引擎)的导航网格的更新,进而,能够提升导航网格的更新消耗,降低导航网格的资源消耗。
参见图6,图6是本申请实施例提供的导航网格更新方法的流程示意图四;如图6所示,在本申请实施例中,S305之后还包括S306和S307;也就是说,更新设备将待更新区域对应的待更新导航网格更新为目标导航网格之后,该导航网格更新方法还包括S306和S307,下面对各步骤分别进行说明。
S306、基于目标导航网格在待更新区域中进行寻路,得到可通行路线。
需要说明的是,更新设备基于目标导航网格在待更新区域中进行寻路,以获得待更新区域中的可通行的路线,这里,更新设备将待更新区域中的可通行的路线称为可通行路线。
S307、基于可通行路线控制待运动虚拟对象在虚拟场景中运动。
需要说明的是,更新设备可以在自身中基于可通行路线控制待运动虚拟对象在虚拟场景中运动;也可以将可通行路线发送至渲染设备,以使渲染设备基于可通行路线控制待运动虚拟对象在虚拟场景中运动;其中,渲染设备比如为运行游戏客户端的终端。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。该示例性应用描述了游戏场景(称为虚拟场景)为智能体(称为待运动虚拟对象)寻路的过程中,基于对场景变化的感知,自动实时更新导航网格以准确地为智能体进行寻路的过程。
参见图7,图7是本申请实施例提供的一种示例性的导航网格更新方法的流程示意图;如图7所示,该示例性的导航网格更新方法包括S701至S706,下面对各步骤分别进行说明。
S701、检测场景改变行为。
需要说明的是,服务器通过检测行为数据来对玩家的行为进行检测,当在游戏场景中检测到玩家的建造行为和地形破坏行为、以及刚体模型的阻挡和离去等影响游戏场景的行为时,也就检测到了场景改变行为,表明游戏场景发生了变化。
示例性地,参见图8,图8是本申请实施例提供的一种示例性的游戏场景的示意图;如图8所示,初始的游戏场景8-1中包括虚拟对象8-2和智能体8-3。当虚拟对象8-2在游戏场景8-1中进行建造时,服务器也就检测到了场景改变行为;参见图9,图9是本申请实施例提供的另一种示例性的游戏场景的示意图;如图9所示,服务器响应于建造操作,与游戏客户端交互渲染变化的游戏场景9-1;此时,虚拟对象8-2在游戏场景9-1中所建造的虚拟建筑9-2上;这里,由于初始的游戏场景8-1发生了变化,变化至了游戏场景9-1,因此服务器需要基于游戏场景9-1更新游戏场景8-1的导航网格(称为待更新导航网格),如此,智能体8-3可以基于更新后的导航网格(称为目标导航网格)在虚拟建筑9-2上运动。
S702、基于场景改变行为,计算受影响场景区域(称为场景变化区域)的区域包围盒。
这里,受影响场景区域比如为图9中发生了建造的区域。
S703、基于区域包围盒确定受影响的长方体空间(称为单元空间,又称为Tile)。
需要说明的是,游戏场景是由固定长和宽(称为第二指定空间尺寸)的长方体空间组成的,每个长方体空间对应自身的导航网格,所有长方体空间的导航网格组成了游戏场景的导航网格;这里,服务器通过处理相邻长方体空间之间的连接关系,将所有长方体空间的导航网格组成游戏场景的导航网格;另外,各长方体空间之间的导航网格的连接关系可通过公共边描述。
示例性地,当游戏场景发生变化时,确定受影响场景区域对应的区域包围盒为,此时,受影响场景区域内的长方体空间(即为受影响的长方体空间,称为至少一个单元空间)可通过式(1)和式(2)确定,式(1)和式(2)分别如下所示。
S704、判断受影响的长方体空间是否有效且在待更新队列(称为待更新单元空间集合)中。如果是则执行S706,如果否则执行S705。
需要说明的是,待更新队列用于存储所有受影响的长方体空间,可以通过存储受影响的长方体空间的索引实现所有受影响的长方体空间的存储;从而,服务器基于长方体空间的索引确定受影响的长方体空间是否在待更新队列中。这里,服务器可以基于每个长方体空间落在受影响场景区域的空间尺寸,判断长方体空间是否有效;比如,当落在受影响场景区域的空间尺寸大于长方体空间的尺寸的一半时,可以确定对应长方体空间有效,否则无效。
S705、结束导航网格更新处理。
S706、将受影响的长方体空间添加至待更新队列中。
这里,服务器通过将受影响的长方体空间的索引添加至待更新队列中,实现受影响的长方体空间在待更新队列的添加。
下面说明基于待更新队列更新导航网格的过程。
参见图10,图10是本申请实施例提供的一种示例性的导航网格更新方法的流程示意图;如图10所示,该示例性的导航网格更新方法包括S1001至S1005,下面对各步骤分别进行说明。
S1001、定时从待更新队列中取出长方体空间(称为目标待更新单元空间)。
S1002、计算取出的长方体空间对应的空间包围盒。
S1003、基于空间包围盒进行三角网格转换(称为几何化处理)。
需要说明的是,服务器采用物理引擎(比如,“PhysX”物理引擎)更新导航网格,由于物理引擎对应的数据格式为三角网格数据;因此,服务器先基于空间包围盒进行三角网格转换。下面说明三角网格转换的过程。
参见图11,图11是本申请实施例提供的一种示例性的几何化处理的示意图;如图11所示,该示例性的几何化处理过程包括S1101至S1108,下面对各步骤分别进行说明。
S1101、对空间包围盒内的物理模型进行碰撞检测。
需要说明的是,服务器利用物理引擎的碰撞查询功能,将空间包围盒的最小坐标和最大坐标作为参数输入来进行碰撞检测,得到空间包围盒内所有的物理模型。
S1102、判断物理模型的模型形状。
需要说明的是,当模型形状为高度图时,执行S1103;当模型形状包括凸多边形时,即为凸多边形网格时,执行S1104;当模型形状包括三角形时,即为三角形网格时,执行S1105;当模型形状为胶囊体或球形时,执行S1106;当模型形状为立方体时,执行S1107。
S1103、基于标志位,将高度图中的矩形栅格切割为两个三角形,得到三角网格数据。
需要说明的是,高度图是由一个个矩形排列而成的,这里,服务器基于标志位将每个矩形划分成两个三角形,来得到高度图对应的三角网格数据。其中,标志位为高度图中每个矩形对应的三角形划分方式,比如,对于矩形的四个顶点1-4,可以通过成对角关系的顶点1和顶点3之间的连线将该矩形切割为两个三角形,还可以通过成对角关系的顶点2和顶点4之间的连线将该矩形切割为两个三角形,这里,标志位用于确定是基于顶点1和顶点3进行三角形切割,还是基于顶点2和顶点4进行三角形切割。
S1104、采用耳切法切割成三角形,得到三角网格数据。
需要说明的是,服务器针对包括凸多边形的物理模型,利用耳切法获取凸多边形对应的各个三角形,以获得凸多边形的物理模型所对应的三角网格数据。其中,耳切法是将凸多边形转换成一组由同样顶点组成的三角形集合的过程;在通过耳切法对凸多边形进行三角化的过程,通过不断确定凸多边形的耳朵来切割三角形;这里,凸多边形的耳朵是指由连续顶点V0、V1和V2组成的内部不包含其他凸多边形顶点的三角形;参见图12,图12是本申请实施例提供的一种示例性的对凸多变形切割三角形的过程;如图12所示,针对包括顶点12-1、顶点12-2、顶点12-3、顶点12-4和顶点12-5的凸多边形,确定的第一个耳朵是由顶点12-1、顶点12-2和顶点12-5构成的三角形12-6,确定的第二个耳朵是由顶点12-2、顶点12-3和顶点12-5构成的三角形12-7,确定的最后一个耳朵是由顶点12-3、顶点12-4和顶点12-5构成的三角形12-8;从而,该凸多边形别切割为三个三角形:三角形12-6、三角形12-7和三角形12-8。
S1105、按逆时针方向导出三角网格数据。
需要说明的是,当物理模型包括三角形时,该物理模型已是三角形集合;然而,由于物理模型对应的三角形集合中,三角形的排列顺序是顺时针排列的,而物理引擎所处理的三角形是的逆时针排列的,因此,服务器为了进行标准化处理,按照逆时针顺序重新排列物理模型所包括的所有三角形,也就是得到了三角网格数据。
S1106、确定外接立方体。执行S1107。
需要说明的是,服务器对于胶囊体和球形的物理模型,可以通过对曲面进行三角形栅格化获得三角网格数据,还可以采用外接立方体(称为直面处理)来获得三角网格数据。
S1107、将立方体的六个面中的每个面切割为两个三角形,得到三角网格数据。
这里,服务器对于立方体,通过对六个面的矩形分别连接顶点进行三角形划分。
S1108、将三角网格数据中属于空间包围盒外的三角形过滤掉,得到待处理三角网格数据(称为待处理网格数据)。
需要说明的是,服务器为了节省存储空间,采用顶点数组和三角形数组两个数组表示待处理三角网格数据;其中,三角形数组包括顶点数组的索引,如此,能够实现顶点坐标的复用,进而能够节省存储空间。
S1004、利用物理引擎对长方体空间对应的待处理三角网格数据进行处理,得到新的导航网格(称为目标导航网格)。
需要说明的是,物理引擎对待处理三角网格数据依次执行体素化生成高度场处理、区域生成、合并和面切割(比如,三角形切割)生成凸多边形等处理,得到新的导航网格。
S1005、利用新的导航网格替换长方体空间原有的导航网格(称为待更新导航网格)。
示例性地,参见图13,图13是本申请实施例提供的一种示例性的寻路示意图;如图13所示,当对图9的游戏场景9-1中受影响场景区域内的每个长方体空间均完成了新的导航网格的替换之后,服务器也就基于游戏场景9-1完成了对游戏场景8-1的导航网格的更新处理;此时,服务器基于更新后的导航网格确定智能体8-3的可通行路线,从而,在虚拟场景13-1中,智能体8-3能够在虚拟建筑9-2上运动。
可以理解的是,在游戏客户端的运行过程中,基于物理引擎动态生成导航网格并进行更新,实现了导航网格更新与游戏引擎的解耦,提升了导航网格更新的效率,并降低了导航网格更新的资源消耗;另外,通过长方体空间Tile的划分和待更新队列,从时间和空间上提升了导航网格的更新效率,降低了导航网格更新的重复率。
下面继续说明本申请实施例提供的导航网格更新装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的导航网格更新装置455中的软件模块可以包括:
区域确定模块4551,用于获取虚拟场景中发生场景变化的待更新区域;
模型检测模块4552,用于检测所述待更新区域内的物理模型;
数据转换模块4553,用于对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据;
网格生成模块4554,用于对所述待处理网格数据进行导航处理,得到目标导航网格,其中,所述目标导航网格用于确定所述待更新区域内的可通行路线,所述指定几何形状为导航处理所对应的几何形状;
网格更新模块4555,用于将所述待更新区域对应的待更新导航网格更新为所述目标导航网格,其中,所述待更新导航网格为所述待更新区域对应的原始导航网格。
在本申请实施例中,所述区域确定模块4551,还用于获取所述虚拟场景中发生场景变化的场景变化区域;确定所述场景变化区域对应的至少一个单元空间;基于至少一个所述单元空间中的每个所述单元空间对应的边界区域,确定所述待更新区域。
在本申请实施例中,所述区域确定模块4551,还用于从至少一个所述单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间,其中,所述待更新单元空间集合包括发生场景变化的待更新单元空间;从至少一个所述单元空间中,删除至少一个所述待删除单元空间,得到至少一个所述待更新单元空间;将至少一个所述待更新单元空间,更新至所述待更新单元空间集合中。
在本申请实施例中,所述区域确定模块4551,还用于当指定更新时间到达时,从所述待更新单元空间集合中获取目标待更新单元空间;基于所述目标待更新单元空间对应的边界区域,确定所述虚拟场景中发生场景变化的所述待更新区域。
在本申请实施例中,所述区域确定模块4551,还用于获取所述待更新单元空间集合中的每个所述待更新单元空间对应的优先级确定信息,其中,所述优先级确定信息包括场景变化时长、虚拟对象距离和场景数据中的至少一种,所述虚拟对象距离是指所述待更新单元空间与虚拟对象之间的距离,所述场景数据是指所述虚拟场景的特征数据;基于所述优先级确定信息,确定每个所述待更新单元空间的更新优先级;从所述待更新单元空间集合中获取所述更新优先级最大的所述待更新单元空间,得到所述目标待更新单元空间。
在本申请实施例中,所述区域确定模块4551,还用于针对至少一个所述单元空间,获取每个所述单元空间在所述场景变化区域内的空间尺寸;将所述空间尺寸大于第一指定空间尺寸的所述单元空间,确定为有效单元空间。
在本申请实施例中,所述区域确定模块4551,还用于从至少一个所述单元空间对应的至少一个所述有效单元空间中,确定属于所述待更新单元空间集合的至少一个所述待删除单元空间。
在本申请实施例中,所述导航网格更新装置455还包括空间划分模块4556,用于基于第二指定空间尺寸划分所述虚拟场景,得到单元空间集合,其中,所述单元空间集合包括所述虚拟场景对应的各个所述单元空间。
在本申请实施例中,所述区域确定模块4551,还用于基于所述场景变化区域对应的边界区域,确定所述待更新区域。
在本申请实施例中,所述数据转换模块4553,还用于当所述物理模型为曲面模型时,对所述曲面模型进行直面处理,得到待转换模型;对所述待转换模型进行几何化处理,得到所述指定几何形状的所述待处理网格数据。
在本申请实施例中,所述数据转换模块4553,还用于对所述物理模型进行几何化处理,得到模型顶点集合和所述指定几何形状对应的几何形集合,其中,所述几何形集合中的每个几何形包括顶点索引,所述顶点索引用于确定所述模型顶点集合中的模型顶点;将所述模型顶点集合和所述几何形集合,确定为所述待处理网格数据。
在本申请实施例中,所述网格生成模块4554,还用于对所述待处理网格数据进行体素化处理,得到高度场数据;基于所述高度场数据,筛选可通行体素块数据;对所述可通行体素块数据进行区域生成,得到可通行区域;对所述可通行区域进行面切割,得到所述目标导航网格。
在本申请实施例中,所述导航网格更新装置455还包括网格寻路模块4557,用于基于所述目标导航网格在所述待更新区域中进行寻路,得到所述可通行路线;基于所述可通行路线控制待运动虚拟对象在所述虚拟场景中运动。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的导航网格更新方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的导航网格更新方法,例如,如图3示出的导航网格更新方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算机设备上执行(此时,这一个计算机设备即更新设备),或者在位于一个地点的多个计算机设备上执行(此时,位于一个地点的多个计算机设备即更新设备),又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行(此时,分布在多个地点且通过通信网络互连的多个计算机设备即更新设备)。
可以理解的是,在本申请实施例中,涉及到场景数据等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
综上所述,本申请实施例在虚拟场景发生场景变化时,通过对待更新区域内进行物理模型检测,使得能够基于待更新区域内的物理模型重新确定待更新区域对应的目标导航网格,进而使得虚拟场景的渲染过程中,导航网格能够基于场景变化实时更新,导航网格与虚拟场景的匹配度较高,从而当基于目标导航网格确定可通行路线时,能够提升导航的准确度。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种导航网格更新方法,其特征在于,所述方法包括:
获取虚拟场景中发生场景变化的待更新区域;
在所述待更新区域内进行模型检测,得到物理模型;
对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据;
对所述待处理网格数据进行导航处理,得到目标导航网格,其中,所述目标导航网格用于确定所述待更新区域内的可通行路线,所述指定几何形状为导航处理所对应的几何形状;
将所述待更新区域对应的待更新导航网格更新为所述目标导航网格,其中,所述待更新导航网格为所述待更新区域对应的原始导航网格。
2.根据权利要求1所述的方法,其特征在于,所述获取虚拟场景中发生场景变化的待更新区域,包括:
获取所述虚拟场景中发生场景变化的场景变化区域;
确定所述场景变化区域对应的至少一个单元空间;
基于至少一个所述单元空间中的每个所述单元空间对应的边界区域,确定所述待更新区域。
3.根据权利要求2所述的方法,其特征在于,所述确定所述场景变化区域对应的至少一个单元空间之后,所述方法还包括:
从至少一个所述单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间,其中,所述待更新单元空间集合包括发生场景变化的待更新单元空间;
从至少一个所述单元空间中,删除至少一个所述待删除单元空间,得到至少一个所述待更新单元空间;
将至少一个所述待更新单元空间,更新至所述待更新单元空间集合中;
所述获取虚拟场景中发生场景变化的待更新区域,包括:
当指定更新时间到达时,从所述待更新单元空间集合中获取目标待更新单元空间;
基于所述目标待更新单元空间对应的边界区域,确定所述虚拟场景中发生场景变化的所述待更新区域。
4.根据权利要求3所述的方法,其特征在于,所述从所述待更新单元空间集合中获取目标待更新单元空间,包括:
获取所述待更新单元空间集合中的每个所述待更新单元空间对应的优先级确定信息,其中,所述优先级确定信息包括场景变化时长、虚拟对象距离和场景数据中的至少一种,所述虚拟对象距离是指所述待更新单元空间与虚拟对象之间的距离,所述场景数据是指所述虚拟场景的特征数据;
基于所述优先级确定信息,确定每个所述待更新单元空间的更新优先级;
从所述待更新单元空间集合中获取所述更新优先级最大的所述待更新单元空间,得到所述目标待更新单元空间。
5.根据权利要求3所述的方法,其特征在于,所述从至少一个所述单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间之前,所述方法还包括:
针对至少一个所述单元空间,获取每个所述单元空间在所述场景变化区域内的空间尺寸;
将所述空间尺寸大于第一指定空间尺寸的所述单元空间,确定为有效单元空间;
所述从至少一个所述单元空间中,确定属于待更新单元空间集合的至少一个待删除单元空间,包括:
从至少一个所述单元空间对应的至少一个所述有效单元空间中,确定属于所述待更新单元空间集合的至少一个所述待删除单元空间。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述获取所述虚拟场景中发生场景变化的场景变化区域之前,所述方法还包括:
基于第二指定空间尺寸划分所述虚拟场景,得到单元空间集合,其中,所述单元空间集合包括所述虚拟场景对应的各个所述单元空间。
7.根据权利要求2所述的方法,其特征在于,所述获取所述虚拟场景中发生场景变化的场景变化区域之后,所述方法还包括:
基于所述场景变化区域对应的边界区域,确定所述待更新区域。
8.根据权利要求1-5、7任一项所述的方法,其特征在于,所述对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据,包括:
当所述物理模型为曲面模型时,对所述曲面模型进行直面处理,得到待转换模型;
对所述待转换模型进行几何化处理,得到所述指定几何形状的所述待处理网格数据。
9.根据权利要求1-5、7任一项所述的方法,其特征在于,所述对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据,包括:
对所述物理模型进行几何化处理,得到模型顶点集合和所述指定几何形状对应的几何形集合,其中,所述几何形集合中的每个几何形包括顶点索引,所述顶点索引用于确定所述模型顶点集合中的模型顶点;
将所述模型顶点集合和所述几何形集合,确定为所述待处理网格数据。
10.根据权利要求1-5、7任一项所述的方法,其特征在于,所述对所述待处理网格数据进行导航处理,得到目标导航网格,包括:
对所述待处理网格数据进行体素化处理,得到高度场数据;
基于所述高度场数据,筛选可通行体素块数据;
对所述可通行体素块数据进行区域生成,得到可通行区域;
对所述可通行区域进行面切割,得到所述目标导航网格。
11.根据权利要求1-5、7任一项所述的方法,其特征在于,所述将所述待更新区域对应的待更新导航网格更新为所述目标导航网格之后,所述方法还包括:
基于所述目标导航网格在所述待更新区域中进行寻路,得到所述可通行路线;
基于所述可通行路线控制待运动虚拟对象在所述虚拟场景中运动。
12.一种导航网格更新装置,其特征在于,所述导航网格更新装置包括:
区域确定模块,用于获取虚拟场景中发生场景变化的待更新区域;
模型检测模块,用于在所述待更新区域内进行模型检测,得到物理模型;
数据转换模块,用于对所述物理模型进行几何化处理,得到指定几何形状的待处理网格数据;
网格生成模块,用于对所述待处理网格数据进行导航处理,得到目标导航网格,其中,所述目标导航网格用于确定所述待更新区域内的可通行路线,所述指定几何形状为导航处理所对应的几何形状;
网格更新模块,用于将所述待更新区域对应的待更新导航网格更新为所述目标导航网格,其中,所述待更新导航网格为所述待更新区域对应的原始导航网格。
13.一种导航网格更新设备,其特征在于,所述导航网格更新设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1-11任一项所述的导航网格更新方法。
14.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令用于被处理器执行时,实现权利要求1-11任一项所述的导航网格更新方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210135191.7A CN114177613B (zh) | 2022-02-15 | 2022-02-15 | 导航网格更新方法、装置、设备及计算机可读存储介质 |
PCT/CN2022/133124 WO2023155517A1 (zh) | 2022-02-15 | 2022-11-21 | 一种导航网格更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
US18/239,683 US20230410433A1 (en) | 2022-02-15 | 2023-08-29 | Navigation mesh update |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210135191.7A CN114177613B (zh) | 2022-02-15 | 2022-02-15 | 导航网格更新方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114177613A true CN114177613A (zh) | 2022-03-15 |
CN114177613B CN114177613B (zh) | 2022-05-17 |
Family
ID=80545959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210135191.7A Active CN114177613B (zh) | 2022-02-15 | 2022-02-15 | 导航网格更新方法、装置、设备及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230410433A1 (zh) |
CN (1) | CN114177613B (zh) |
WO (1) | WO2023155517A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114518896A (zh) * | 2022-04-07 | 2022-05-20 | 山西正合天科技股份有限公司 | 一种基于车载应用的工控机控制方法及系统 |
CN115501607A (zh) * | 2022-08-23 | 2022-12-23 | 网易(杭州)网络有限公司 | 寻路图的重建方法、装置和电子设备 |
CN116309641A (zh) * | 2023-03-23 | 2023-06-23 | 北京鹰之眼智能健康科技有限公司 | 图像区域获取系统 |
WO2023155517A1 (zh) * | 2022-02-15 | 2023-08-24 | 腾讯科技(深圳)有限公司 | 一种导航网格更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180245922A1 (en) * | 2015-09-09 | 2018-08-30 | Elbit Systems Land And C4I Ltd. | Open terrain navigation systems and methods |
CN112121435A (zh) * | 2020-09-18 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 游戏寻路方法、装置、服务器和存储介质 |
CN112717404A (zh) * | 2021-01-25 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 虚拟对象的移动处理方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8111257B2 (en) * | 2007-03-06 | 2012-02-07 | Aiseek Ltd. | System and method for the generation of navigation graphs in real-time |
US10406437B1 (en) * | 2015-09-30 | 2019-09-10 | Electronic Arts Inc. | Route navigation system within a game application environment |
CN110523081B (zh) * | 2019-08-08 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 导航寻路路径的规划方法及装置 |
CN112386911A (zh) * | 2020-12-08 | 2021-02-23 | 网易(杭州)网络有限公司 | 导航网格生成方法、装置、非易失性存储介质及电子装置 |
CN113786623A (zh) * | 2021-09-17 | 2021-12-14 | 上海米哈游璃月科技有限公司 | 一种导航网格更新方法、装置和系统 |
CN114177613B (zh) * | 2022-02-15 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 导航网格更新方法、装置、设备及计算机可读存储介质 |
-
2022
- 2022-02-15 CN CN202210135191.7A patent/CN114177613B/zh active Active
- 2022-11-21 WO PCT/CN2022/133124 patent/WO2023155517A1/zh unknown
-
2023
- 2023-08-29 US US18/239,683 patent/US20230410433A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180245922A1 (en) * | 2015-09-09 | 2018-08-30 | Elbit Systems Land And C4I Ltd. | Open terrain navigation systems and methods |
CN112121435A (zh) * | 2020-09-18 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 游戏寻路方法、装置、服务器和存储介质 |
CN112717404A (zh) * | 2021-01-25 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 虚拟对象的移动处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
朱军等: "基于导航网格的室内火灾逃生路径动态规划", 《西南交通大学学报》 * |
郑挚等: "笔记本计算机与GPS构成实时立体导航系统的研究", 《自动化技术与应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023155517A1 (zh) * | 2022-02-15 | 2023-08-24 | 腾讯科技(深圳)有限公司 | 一种导航网格更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
CN114518896A (zh) * | 2022-04-07 | 2022-05-20 | 山西正合天科技股份有限公司 | 一种基于车载应用的工控机控制方法及系统 |
CN115501607A (zh) * | 2022-08-23 | 2022-12-23 | 网易(杭州)网络有限公司 | 寻路图的重建方法、装置和电子设备 |
CN116309641A (zh) * | 2023-03-23 | 2023-06-23 | 北京鹰之眼智能健康科技有限公司 | 图像区域获取系统 |
CN116309641B (zh) * | 2023-03-23 | 2023-09-22 | 北京鹰之眼智能健康科技有限公司 | 图像区域获取系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023155517A1 (zh) | 2023-08-24 |
CN114177613B (zh) | 2022-05-17 |
US20230410433A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114177613B (zh) | 导航网格更新方法、装置、设备及计算机可读存储介质 | |
US11798119B2 (en) | Multi-dimensional 3D engine computing and virtualization-based dynamic load balancing of virtual or real worlds | |
CN112717404B (zh) | 虚拟对象的移动处理方法、装置、电子设备及存储介质 | |
US8219018B2 (en) | Image generating program, storage medium, image processing method, and image processing device | |
CN113920184B (zh) | 多边形简化方法、装置、设备及计算机可读存储介质 | |
CN112102465A (zh) | 基于3d结构引擎的计算平台 | |
CN114429528A (zh) | 图像处理方法、装置、设备、计算机程序及存储介质 | |
JP2023520019A (ja) | グリッド経路発見に基づく回折モデリング | |
WO2022257692A1 (zh) | 虚拟场景变换方法、装置、设备、存储介质及程序产品 | |
WO2017167167A1 (zh) | 模型对象构建的方法、服务器及系统 | |
JP2020018620A (ja) | 仮想空間における音声生成プログラム、四分木の生成方法、および音声生成装置 | |
CN109985386B (zh) | 一种生成地图的方法和装置 | |
CN113240789B (zh) | 虚拟对象构建方法及装置 | |
CN114130022A (zh) | 虚拟场景的画面显示方法、装置、设备、介质及程序产品 | |
US20170165576A1 (en) | Control of audio effects using volumetric data | |
WO2024114152A1 (zh) | 三维场景的特征提取方法、装置、设备及存储介质 | |
CN113209612A (zh) | 虚拟场景中的建筑处理方法、装置、电子设备及存储介质 | |
US20230351696A1 (en) | Data processing method and apparatus, device, computer-readable storage medium, and computer program product | |
CN112206519A (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
CN115888085A (zh) | 游戏信息的处理方法、装置和存储介质 | |
CN114028807A (zh) | 虚拟对象的渲染方法、装置、设备及可读存储介质 | |
WO2023216771A1 (zh) | 虚拟天气交互方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
WO2024012016A1 (zh) | 虚拟场景的信息显示方法、装置、电子设备、存储介质及计算机程序产品 | |
Miner | Surveying the Frontier. Subjective Rendering and Occlusion in Open-World Westerns | |
WO2024066723A1 (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40069950 Country of ref document: HK |