Methods, devices, media, and computer program products for establishing a navigational mesh connection
Patent Information
- Application Number
- CN202311558883.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-21
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2043-11-21
AI Technical Summary
[0004]本发明的目的在于提供建立导航网格连接的方法、设备、介质和计算机程序产品,解决现有技术中建立导航网格连接时间复杂度高、支持的情形少的技术问题
[0044] In this invention, the method for establishing navigation mesh connections is based on graph neural networks. It can generate all possible navigation mesh connections through a single GPU parallel computation, thus having lower time complexity and faster speed than the existing method of traversing all navigation mesh edges. Thanks to the representation and learning capabilities of graph neural networks, the established navigation mesh connections can support more types of virtual character behaviors, such as long-distance teleportation, jumping upwards, and jumping downwards.
Smart Images

Figure CN117647257B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to methods, apparatus, media, and computer program products for establishing navigation mesh connections. Background Technology
[0002] In games, virtual characters often need to find their way from a starting point on a map to a destination. Pathfinding is a process based on map features, abstracting the map into a data structure, and using appropriate algorithms to find feasible paths. This process consists of two steps: 1) Modeling: abstracting the map into a data structure; 2) Pathfinding: finding the path using algorithms. Modeling includes converting the map into a polygonal mesh, i.e., a navigation mesh. Because this modeling method more accurately reflects map features and is suitable for 3D maps, it has become the mainstream modeling method used for automatic pathfinding in games.
[0003] For maps modeled as navigation meshes, when a virtual character needs to move between multiple navigation mesh surfaces, navigation mesh links must be used to connect the different navigation meshes. For example, navigation shortcuts for actions such as crossing ditches, jumping up, or falling from slightly higher steps need to be represented by navigation mesh links. Currently, navigation mesh links can be implemented through manual addition or automatic generation. The automatic generation method involves generating a virtual agent that walks along the edges of each navigation mesh in the map and checks if the landing position of a jump / fall is on a navigation mesh. If so, and there are no obstacles in the jump / fall trajectory, a navigation mesh link is created between the start and end points of this jump / fall. This automatic generation method requires traversing the edges of the navigation meshes, resulting in high time complexity. Furthermore, this method only supports horizontal jumps and falls for game characters and only supports the generation of navigation mesh links between adjacent different navigation meshes. Summary of the Invention
[0004] The purpose of this invention is to provide a method, apparatus, medium, and computer program product for establishing navigation mesh connections, thereby solving the technical problems of high time complexity and limited support for establishing navigation mesh connections in the prior art.
[0005] The first embodiment of the present invention discloses a method for establishing a navigation mesh connection for an electronic device, the method comprising:
[0006] The target map in navigation grid format is converted into target map data, the target map data including a first adjacency matrix;
[0007] The target graph data is input into a pre-trained connected graph neural network, wherein the connected graph neural network generates a second adjacency matrix of the target graph data;
[0008] Determine the additional edges in the second adjacency matrix compared to the first adjacency matrix;
[0009] Based on the extra edges, add navigation grid connections between the corresponding navigation grids.
[0010] Optionally, the connected graph neural network is obtained through the following training steps:
[0011] Obtain a first sample map and a second sample map in a navigation grid format, wherein the first sample map and the second sample map have the same navigation grid, and the second sample map has sample navigation grid connections;
[0012] Convert the first sample map into first sample map data;
[0013] The second sample map is converted into second sample map data, which includes a second sample adjacency matrix;
[0014] Using gradient descent, repeat the following training sub-steps: input the first sample graph data into the trained graph neural network, the trained graph neural network outputs the first sample adjacency matrix, until the following convergence condition is met: the consistency between the first sample adjacency matrix and the second sample adjacency matrix reaches a first predetermined threshold, and the connected graph neural network is obtained.
[0015] Optionally, the connected graph neural network includes:
[0016] A connection encoder is used to learn the hidden representation of the target graph data;
[0017] A connection decoder generates the second adjacency matrix based on the hidden representation.
[0018] Optionally, the connected graph neural network further includes an edge classifier, which classifies the extra edges based on the hidden representation of the information of the two nodes connected by the extra edges.
[0019] Optionally, classifying the extra edges includes:
[0020] Add one or more of the following markers to each extra edge: "Up", "Down", "Horizontal", and "Long Distance".
[0021] Optionally,
[0022] The step of inputting the first sample graph data into a trained graph neural network and the trained graph neural network outputting a first sample adjacency matrix includes: inputting the first sample graph data into a trained encoder of the trained graph neural network, the trained encoder outputting a hidden representation of the first sample graph data, and inputting the hidden representation of the first sample graph data into a trained decoder of the trained graph neural network, the trained decoder outputting a first sample adjacency matrix.
[0023] The process of obtaining the connection graph neural network includes obtaining the connection encoder and the connection decoder.
[0024] Optionally, the first sample graph data includes a third sample adjacency matrix; the training step further includes:
[0025] Based on the height and distance information between the two navigation grids connected by each sample navigation grid connection, add one or more of the following markers to each edge in the second sample map data corresponding to the sample navigation grid connection: "up", "down", "horizontal", and "far distance".
[0026] The training sub-step further includes: determining the extra edges in the first sample adjacency matrix compared to the third sample adjacency matrix; inputting the hidden representations of the two nodes connected by the extra edges into the trained classifier of the trained graph neural network; and the trained classifier outputting the labels of the extra edges.
[0027] The convergence condition further includes: the consistency between the label of the extra edge and the label of the edge corresponding to the connection of the sample navigation mesh in the second sample graph data reaches a second predetermined threshold.
[0028] The process of obtaining the connected graph neural network further includes obtaining the edge classifier.
[0029] Optionally, the step of adding one or more of the following markers—"upward," "downward," "horizontal," and "far distance"—to each edge in the second sample map data corresponding to the sample navigation grid connection based on the height and distance information between the two navigation grids connected by each sample navigation grid connection includes:
[0030] If the distance between two navigation grids connected by the sample navigation grid connection is greater than a predetermined distance threshold, then the "far distance" marker is added to the edge corresponding to the sample navigation grid connection; otherwise:
[0031] If H s -H eif ≥ th, adding the "downward" mark to the edge corresponding to the connection of the sample navigation grid,
[0032] if H s -H e ≤ -th, adding the "upward" mark to the edge corresponding to the connection of the sample navigation grid,
[0033] if H s -H e < th, adding the "horizontal" mark to the edge corresponding to the connection of the sample navigation grid, wherein,
[0034] H s is the height of the start navigation grid connected by the sample navigation grid connection, H e is the height of the end navigation grid connected by the sample navigation grid connection, and th is a predetermined height threshold.
[0035] Optionally, the adding navigation grid connections between corresponding navigation grids based on the extra edges comprises:
[0036] when the extra edge has the "long distance" mark or the "horizontal" mark, adding the navigation grid corresponding to any one of the two nodes connected by the extra edge to the adjacent grid list of the navigation grid corresponding to the other node;
[0037] when the extra edge has the "upward" mark, adding the navigation grid with a higher height among the two navigation grids corresponding to the two nodes connected by the extra edge to the adjacent grid list of the other navigation grid;
[0038] when the extra edge has the "downward" mark, adding the navigation grid with a lower height among the two navigation grids corresponding to the two nodes connected by the extra edge to the adjacent grid list of the other navigation grid.
[0039] Optionally, the connection encoder is an encoder of VGAE, and the connection decoder is a decoder of VGAE.
[0040] A second embodiment of the present invention discloses an electronic device, the electronic device comprising a memory storing computer-executable instructions and a processor, wherein when the instructions are executed by the processor, the electronic device is caused to implement the method for establishing navigation grid connections according to the first embodiment of the present invention.
[0041] A third embodiment of the present invention discloses a computer storage medium, wherein instructions are stored on the computer storage medium, and when the instructions are run on a computer, the computer is caused to execute the method for establishing navigation grid connections according to the first embodiment of the present invention.
[0042] A fourth embodiment of the present invention discloses a computer program product including computer-executable instructions, which are executed by a processor to implement a method for establishing a navigation mesh connection according to a first embodiment of the present invention.
[0043] The main differences and effects of the embodiments of the present invention compared with the prior art are as follows:
[0044] In this invention, the method for establishing navigation mesh connections is based on graph neural networks. It can generate all possible navigation mesh connections through a single GPU parallel computation, thus having lower time complexity and faster speed than the existing method of traversing all navigation mesh edges. Thanks to the representation and learning capabilities of graph neural networks, the established navigation mesh connections can support more types of virtual character behaviors, such as long-distance teleportation, jumping upwards, and jumping downwards. Attached Figure Description
[0045] Figure 1 A target map in a navigation grid format is shown according to an embodiment of this application.
[0046] Figure 2 A flowchart illustrating a method for establishing navigation mesh connections according to an embodiment of this application is shown.
[0047] Figure 3 A connection graph neural network according to an embodiment of this application is shown.
[0048] Figure 4 Examples of embodiments according to this application are shown as follows Figure 1 The navigation grid connection of the target map is shown.
[0049] Figure 5 A flowchart illustrating a training method for a connected graph neural network according to an embodiment of this application is shown.
[0050] Figure 6 A trained graph neural network according to an embodiment of this application is shown.
[0051] Figure 7 A hardware structure block diagram of an electronic device according to an embodiment of this application is shown. Detailed Implementation
[0052] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0053] Figure 1 A target map in a navigation grid format according to an embodiment of the present invention is shown. Figure 1As shown, the target map 10 in navigation grid format can be a map in a video game, and is a map composed of multiple polygonal navigation grids. The target map 10 includes multiple navigation grid surfaces separated from each other in a three-dimensional virtual space: a first navigation grid surface 11, a second navigation grid surface 12, a third navigation grid surface 13, and a fourth navigation grid surface 14. As an example, each navigation grid surface is a quadrilateral and is divided into multiple polygonal (triangular) navigation grids. If there are no obstacles obstructing adjacent navigation grids, navigation grid connections are typically added between them, allowing virtual characters to move between them. For example, a virtual character can move naturally between navigation grids 111, 112, 113, and 114 on the first navigation grid surface 11. If it is required that the virtual character can move between multiple navigation grid surfaces, navigation grid connections are also required between the relevant navigation grid surfaces. For example, if it is required that the virtual character can move between navigation grid 113 on the first navigation grid surface 11 and navigation grid 131 on the third navigation grid surface 13, navigation grid connections are also needed to connect navigation grids 113 and 131. Adding navigation mesh connections between adjacent navigation meshes is far more complex than adding connections between navigation meshes located on different navigation mesh surfaces. This is because factors such as terrain and game mechanics must be considered to determine whether a connection should be added.
[0054] Existing methods for automatically generating navigation mesh connections between navigation mesh surfaces have high time complexity, support only two virtual character behaviors (horizontal jumping and falling), and only support the generation of navigation mesh connections between adjacent navigation meshes. To address this issue, embodiments of this application provide a method for establishing navigation mesh connections. Figure 2 A flowchart of the method is shown. For example... Figure 2 As shown, the method includes:
[0055] S201, convert the target map in navigation grid format into target map data, which includes a first adjacency matrix. For example, in order to convert such... Figure 1 To establish possible navigation grid connections between different navigation grid surfaces of the target map 10 in the navigation grid format shown, this invention uses a method based on a graph neural network (GNN). Since the input of a graph neural network is a graph data structure, and navigation grids are often stored as bounding volume trees (BVTrees), it is necessary to first convert the navigation grids into graph data before inputting them into the graph neural network to automatically generate navigation grid connections.
[0056] A graph is a data structure consisting of a set of vertices and the relationships between them, i.e., a set of edges: G = (V, E), where G represents a graph and V = {v1, v2, ..., v...}. n Let} be a finite, non-empty set of nodes, and E be a finite set of relationships between nodes, also called the edge set. An edge is a 1×4 vector connecting nodes in the graph data. An edge between two nodes can be directed or undirected. If it is directed, it is called a directed graph; otherwise, it is called an undirected graph.
[0057] Graph data processed by graph neural networks can be represented by a feature matrix, an adjacency matrix, and a degree matrix. The feature matrix represents the features of nodes in the graph data, the adjacency matrix represents the connection relationships between nodes, and the degree matrix represents the degree of a node, which refers to the number of other nodes that the node is connected to.
[0058] In this application, the topological structure of the target map 10, modeled as a navigation grid format (object array), can be viewed as an undirected graph. Each navigation grid is a node in this undirected graph, and the adjacency relationship between navigation grids determines whether an edge exists between nodes. After the target map in navigation grid format is converted into graph data, a node in the graph data corresponds to a navigation grid in the target map, and an edge in the graph data can correspond to multiple navigation grids connected in the target map. Since graph data is mainly described by the feature matrix, adjacency matrix, and degree matrix of the nodes in the graph, converting the target map in navigation grid format (object array) into a graph mainly involves converting the object array describing the navigation grids into the above three matrices describing the graph data. For the target map 10, its object array describing the navigation grids is converted into:
[0059] 1) Feature Matrix X: Each row of the feature matrix X represents the feature of a node in the graph data, corresponding to a grid cell before transformation. The feature of a node is defined as the vertex coordinates of its corresponding grid cell. For example, if a 3D map is modeled using navigation grids of the same shape, and there are n grid cells after modeling, with each grid cell having m vertices, then the dimension of the feature matrix X is n×3m. The 3D target map 10, after modeling, has 16 grid cells, each of which is a triangle with 3 vertices. Therefore, the feature matrix X of the target graph data transformed from target map 10... t The dimensions are 16×9.
[0060] 2) Adjacency Matrix A: Indicates whether there are edges connecting nodes. For a map with n grids after modeling, the adjacency matrix A is an n×n 0 / 1 matrix. ij =0 indicates that the i-th node is connected to the j-th node by an edge, Aij =1 indicates that the i-th node and the j-th node are not connected by an edge. A is a symmetric matrix, and A ii =1. Adjacency matrix A of the target map data transformed from target map 10. t The first adjacency matrix has a dimension of 16×16, which can indicate whether the navigation grids of the target map 10 are connected. For example, during modeling, it can be assumed that adjacent navigation grids in the target map 10 are connected. After converting the target map 10 into graph data, the nodes of adjacent navigation grids in the graph data will be connected by edges, while the other nodes will not be connected by edges.
[0061] 3) Degree matrix D: Represents the degree of each node. For a map with n grids after modeling, the degree matrix D is an n×n diagonal matrix, defined as D=diag(d(v1),…,d(v2)). n )), where d(v i )=∑ j∈N(i) A ij , representing the number of edges connected to the i-th node. The degree matrix D of the target graph data transformed from target map 10. t The dimensions are 16×16.
[0062] S202, the target map data is input into a pre-trained connected graph neural network, which generates a second adjacency matrix for the target map data. For example, the target map 10, modeled as a navigation grid format, only contains connections between adjacent navigation grids. Correspondingly, in the target map data directly converted from the target map 10, the adjacency matrix can only represent the edges between nodes corresponding to these adjacent navigation grids. Therefore, the target map data at this time does not label navigation grid connections or only labels some navigation grid connections. In situations where the virtual character needs to cross ditches, jump onto, or fall from slightly higher platforms, the virtual character will cross different navigation grid surfaces. For example, there is a long distance between the first navigation grid surface 11 and the second navigation grid surface 12, a short distance between the first navigation grid surface 11 and the third navigation grid surface 13, and the first navigation grid surface 11 and the fourth navigation grid surface 14 are at different heights. When a virtual character needs to jump down from navigation grid 114 to navigation grid 141, jump up from navigation grid 141 to navigation grid 114, traverse a long distance from navigation grid 111 to navigation grid 121, traverse a long distance from navigation grid 121 to navigation grid 111, traverse a short distance from navigation grid 113 to navigation grid 131, and traverse a short distance from navigation grid 131 to navigation grid 113, it is necessary to further add navigation grid connections between these non-adjacent navigation grids. This invention obtains a second adjacency matrix of the target graph data by inputting the target graph data into a pre-trained connected graph neural network, in order to further add navigation grid connections between these non-adjacent navigation grids.
[0063] In this application, "short distance" and "long distance" can be determined by a predetermined distance threshold. When a distance is greater than the predetermined distance threshold, it can be called "long distance", and when a distance is less than or equal to the predetermined distance threshold, it can be called "short distance".
[0064] According to some embodiments of this application, a connected graph neural network includes: a connection encoder that learns a hidden representation of target graph data; and a connection decoder that generates a second adjacency matrix based on the hidden representation. Figure 3The diagram illustrates a connected graph neural network 300, whose main architecture is a Variational Graph Auto-Encoder (VGAE), comprising a connected encoder 301 and a connected decoder 302. The connected encoder 301 can be the encoder of the VGAE, learning the hidden representation of the input graph through a Graph Convolutional Network (GCN). The connected decoder 302 can be the decoder of the VGAE, obtaining the similarity of the adjacency matrix by calculating the inner product to generate a new adjacency matrix. For example, the feature matrix X of the target graph data transformed from the target map 10... t and adjacency matrix A t (First adjacency matrix) is input to encoder 301, and encoder 301 outputs the hidden representation Z of the target graph data. t Then hide the representation Z. t The input is connected to decoder 302, and decoder 302 outputs a new adjacency matrix Z. t′ (Second adjacency matrix).
[0065] S203, determine the additional edges in the second adjacency matrix compared to the first adjacency matrix; for example, in the adjacency matrix Z... t′ (Second adjacency matrix) and adjacency matrix A t The adjacency matrix A is determined by comparing it with the first adjacency matrix. t′ Relative to adjacency matrix A t The extra edges edge_new1, edge_new2, and edge_new3 represent new edges generated by the connected graph neural network 300, which correspond to new navigation grid connections that can be added to the target map 10.
[0066] According to some embodiments of this application, the connected graph neural network further includes an edge classifier. The edge classifier classifies the extra edges based on the hidden representations of the information of the two nodes connected by the extra edges. For example, to support the classification of new edges, after obtaining the hidden representation through the connection encoder 301, the process is divided into two parts: the α part classifies the edges, and the β part generates a new adjacency matrix through the connection decoder 302. In the α part, for each extra edge determined in S203, the indices of the two nodes it connects to, i.e., the two endpoints, are obtained. The hidden representations corresponding to the two endpoints are concatenated together and then passed through the edge classifier 303 to classify the edges, obtaining the label vector of the extra edges. The edge classifier 303 can be a fully connected layer.
[0067] According to some embodiments of this application, the extra edges are classified, including adding one or more of the following markers to each extra edge: "upward," "downward," "horizontal," and "long-distance." Depending on the relationship between the two connected navigation grids, a navigation grid connection can be of the type of "upward," "downward," "horizontal," and "long-distance" connection, and corresponding markers can be added to the extra edges in the graph data corresponding to these navigation grid connections. For example, as... Figure 4 As shown, a navigation grid connection 401 can be added between navigation grid 111 and navigation grid 121. Since the distance between these two navigation grids exceeds a predetermined distance threshold, navigation grid connection 401 is a "long distance" connection. When the connection graph neural network 300 generates an extra edge edge_new1 between the nodes corresponding to navigation grid 111 and navigation grid 121, the hidden representations corresponding to the nodes at both ends of the extra edge edge_new1 are concatenated and input into the edge classifier 303. The edge classifier 303 adds a "long distance" label to the extra edge edge_new1. A navigation grid connection 402 can be added between navigation grid 113 and navigation grid 131. Since the two navigation grids have the same height, the navigation grid connection 402 is a "horizontal" connection. When the connection graph neural network 300 generates an extra edge edge_new2 between the nodes corresponding to navigation grid 113 and navigation grid 131, the hidden representations corresponding to the nodes at both ends of the extra edge edge_new2 are concatenated and then input into the edge classifier 303. The edge classifier 303 adds a "horizontal" label to the extra edge edge_new2.
[0068] Multiple navigation grid connections can exist between two navigation grids, for example, Figure 4Navigation grid 114 is located at the top of a higher platform, and navigation grid 141 is located at the top of a lower platform. A virtual character can jump from navigation grid 141 to navigation grid 114, which can be achieved by adding a navigation grid connection; similarly, a virtual character can jump from navigation grid 114 to navigation grid 141, which can also be achieved by adding a navigation grid connection. Therefore, two navigation grid connections can be added between navigation grid 141 and navigation grid 114: navigation grid connection 403 from navigation grid 114 to navigation grid 141 and navigation grid connection 404 from navigation grid 141 to navigation grid 114. Since navigation grid 114 is higher than navigation grid 141, navigation grid connection 403 is a "downward" connection, and navigation grid connection 404 is an "upward" connection. When the connection graph neural network 300 generates an extra edge edge_new3 between the nodes corresponding to navigation meshes 141 and 114, the hidden representations corresponding to the nodes at both ends of the extra edge edge_new3 are concatenated and then input into the edge classifier 303. The edge classifier 303 adds "downward" and "upward" labels to the extra edge edge_new3. Thus, it can be seen that each edge can correspond to multiple navigation mesh connections. Therefore, each edge can have multiple labels, and these labels are not mutually exclusive. Considering there are four types of labels, each edge can be represented by a 1×4 vector [l1, l2, l3, l4]. When l1 is 1, it means that a "far distance" label has been added, and when l1 is 0, it means that no "far distance" label has been added. When l2 is 1, it means that a "horizontal" label has been added, and when l2 is 0, it means that no "horizontal" label has been added. When l3 is 1, it means that a "upward" label has been added, and when l3 is 0, it means that no "upward" label has been added. When l4 is 1, it means that a "downward" label has been added, and when l4 is 0, it means that no "downward" label has been added. The edge classifier 303 adds a label to each extra edge, that is, it outputs the label vector of the extra edge. For example, the label vector label1 of edge_new1 is [1,0,0,0], the label vector label2 of edge_new2 is [0,1,0,0], and the label vector label3 of edge_new3 is [0,0,1,1].
[0069] S204, based on the extra edges, adds navigation mesh connections between the corresponding navigation meshes. For example, given the adjacency matrix A... t′ Relative to adjacency matrix A t After the extra edges are added, determine the two nodes in the target graph data corresponding to each extra edge, and further determine the two navigation grids in the target map 10 corresponding to these two nodes, that is, the navigation grid pair corresponding to each extra edge. For example... Figure 4As shown, based on these additional edges, the following corresponding navigation mesh pairs are determined: navigation mesh 111 and navigation mesh 121, navigation mesh 113 and navigation mesh 131, and navigation mesh 114 and navigation mesh 141. Then, corresponding navigation mesh connections 401 are added between navigation mesh 111 and navigation mesh 121, corresponding navigation mesh connections 402 are added between navigation mesh 113 and navigation mesh 131, and corresponding navigation mesh connections 403 and 404 are added between navigation mesh 114 and navigation mesh 141.
[0070] In this application, the navigation mesh connected at the starting end of a navigation mesh connection is called the starting navigation mesh, and the navigation mesh connected at the ending end is called the ending navigation mesh. For a navigation mesh connection, the data structure of its starting navigation mesh records the corresponding ending navigation mesh. Since a navigation mesh can be the starting navigation mesh of multiple navigation mesh connections, it means that the data structure of a navigation mesh can record multiple corresponding ending navigation meshes. Therefore, the data structure of the navigation mesh maintains a list recording these ending navigation meshes, called the ending navigation mesh list. It is understood that, depending on the actual situation, the number of ending navigation meshes in the ending navigation mesh list can be zero, one, or more.
[0071] According to some embodiments of this application, navigation mesh connections are added between corresponding navigation meshes based on the extra edges, including:
[0072] When an extra edge has a "long distance" or "horizontal" label, the navigation mesh corresponding to either of the two nodes connected by the extra edge is added to the adjacent mesh list of the navigation mesh corresponding to the other node. For example, if edge_new1 has a label vector label1 = [1,0,0,0], which means it has a "long distance" label, and its nodes correspond to navigation meshes 111 and 121 respectively, then navigation mesh 121 can be added to the navigation mesh list at the endpoint of navigation mesh 111, and navigation mesh 111 can be added to the navigation mesh list at the endpoint of navigation mesh 121, thus adding navigation mesh connection 401 as a "long distance" connection. If edge_new2 has a label vector label2 = [0,1,0,0], which means it has a "horizontal" label, and its nodes correspond to navigation meshes 113 and 131 respectively, then navigation mesh 131 can be added to the navigation mesh list at the endpoint of navigation mesh 113, and navigation mesh 113 can be added to the navigation mesh list at the endpoint of navigation mesh 131, thus adding navigation mesh connection 402 as a "horizontal" connection.
[0073] When an extra edge has an "upward" label, the navigation mesh with the higher height of the two navigation meshes corresponding to the two nodes connected by the extra edge is added to the adjacent mesh list of the other navigation mesh. For example, the label vector label3 of edge_new3 is [0, 0, 1, 1], meaning it has both "upward" and "downward" labels, and its nodes correspond to navigation mesh 114 and navigation mesh 141, respectively. Navigation mesh 114 is higher than navigation mesh 141. To add an "upward" connection, navigation mesh 141 is determined as the starting navigation mesh, and navigation mesh 114 is determined as the ending navigation mesh. Then, navigation mesh 114 is added to the ending navigation mesh list of navigation mesh 141, thus adding navigation mesh connection 404 as an "upward" connection.
[0074] When an extra edge has a "downward" label, the navigation mesh with the lower height of the two navigation meshes corresponding to the two nodes connected by the extra edge is added to the adjacent mesh list of the other navigation mesh. For example, the label vector label3 of edge_new3 is [0,0,1,1], meaning it has both "upward" and "downward" labels, and its nodes correspond to navigation meshes 114 and 141, respectively. Navigation mesh 114 is higher than navigation mesh 141. To add a "downward" connection, navigation mesh 114 is determined as the starting navigation mesh, and navigation mesh 141 is determined as the ending navigation mesh. Then, navigation mesh 141 is added to the ending navigation mesh list of navigation mesh 114, thus adding navigation mesh connection 403 as a "downward" connection.
[0075] Embodiments of this application provide a training method for a connected graph neural network, such as... Figure 5 As shown, the method includes the following training steps:
[0076] S501, Obtain a first sample map and a second sample map in navigation grid format. The first and second sample maps have the same navigation grid, and the second sample map has sample navigation grid connections. For example, the second sample map has sample navigation grid connections pre-annotated manually.
[0077] S502, the first sample map is transformed into first sample map data. Further, the first sample map data includes a third sample adjacency matrix. For example, the first sample map data includes a feature matrix X. s and adjacency matrix A s (Third sample adjacency matrix).
[0078] S503, transform the second sample map into second sample map data, which includes the second sample adjacency matrix. For example, the second sample map data includes the adjacency matrix. (second sample adjacency matrix), which is used as a training label.
[0079] Further, the training step further comprises: according to the height information and distance information between the two navigation meshes connected by each sample navigation mesh connection, adding one or more markers selected from "up", "down", "horizontal" and "long-distance" to each edge corresponding to the sample navigation mesh connection in the second sample graph data; specifically, comprising:
[0080] if the distance between the two navigation meshes connected by the sample navigation mesh connection is greater than a predetermined distance threshold, adding a "long-distance" marker to the edge corresponding to the sample navigation mesh connection; otherwise:
[0081] if H s -H e ≥th, adding a "down" marker to the edge corresponding to the sample navigation mesh connection,
[0082] if H s -H e ≤-th, adding an "up" marker to the edge corresponding to the sample navigation mesh connection,
[0083] if H s -H e <th, adding a "horizontal" marker to the edge corresponding to the sample navigation mesh connection, wherein,
[0084] H s is the height of the starting navigation mesh connected by the sample navigation mesh connection, H e is the height of the end navigation mesh connected by the sample navigation mesh connection, th is a predetermined height threshold, each edge can use a marker vector L_label i for representation, and i represents the i-th edge in the second sample graph data.
[0085] then, a gradient descent method is used to repeat the following training substeps: inputting the first sample graph data into the graph neural network being trained, and the trained graph neural network outputs a first sample adjacency matrix, until the following convergence condition is satisfied: the consistency between the first sample adjacency matrix and the second sample adjacency matrix reaches a first predetermined threshold, so as to obtain a connected graph neural network; specifically, comprising:
[0086] S504 (Training Sub-step): The first sample graph data is input into the trained graph neural network, and the trained graph neural network outputs the first sample adjacency matrix. Specifically, this includes: inputting the first sample graph data into the trained encoder of the trained graph neural network; the trained encoder outputs the hidden representation of the first sample graph data; and inputting the hidden representation of the first sample graph data into the trained decoder of the trained graph neural network; the trained decoder outputs the first sample adjacency matrix. For example, Figure 6 The trained graph neural network 300' is shown, including a trained encoder 301', a trained decoder 302', and a trained classifier 303'. The trained encoder 301' can be a VGAE encoder, learning the hidden representation of the input graph through a graph convolutional network. The trained decoder 302' can be a VGAE decoder, obtaining the similarity of the adjacency matrix by calculating the inner product to generate a new adjacency matrix. The trained classifier 303' can be a fully connected layer. The feature matrix X of the first sample graph data... s and adjacency matrix A s (Third sample adjacency matrix) Input the trained encoder 301', the trained encoder 301' outputs the hidden representation Z of the first graph data. s Then hide the representation Z. s Input the trained decoder 302', and the trained decoder 302' outputs a new adjacency matrix A. s′ (Adjacency matrix of the first sample)
[0087] Furthermore, the training sub-step also includes: determining the extra edges in the first sample adjacency matrix compared to the third sample adjacency matrix; inputting the hidden representations of the two nodes connected by the extra edges into the trained classifier of the trained graph neural network; and the trained classifier outputting the labels of the extra edges. For example, the trained classifier classifies the extra edges based on the hidden representations of the information of the two nodes connected by the extra edges. For example, the trained encoder 301' obtains the hidden representation Z. s The process is then divided into two parts: the α part classifies the edges using the trained classifier 303', and the β part generates a new adjacency matrix A using the trained decoder 302'. s′ The adjacency matrix A s′ With adjacency matrix A s By comparing, the adjacency matrix A is determined. s′ Relative to adjacency matrix A s extra edge_new j Let j represent the j-th edge among the extra edges. Then, in the α part, for the extra edge edge_new jObtain the indices of the two connected nodes, i.e., the two endpoints. Concatenate the hidden representations corresponding to these two endpoints together and input them into the trained classifier 303' for edge classification. The trained classifier 303' outputs edge_new. j label vector j .
[0088] S505, determine whether the convergence condition is met; the convergence condition includes: whether the consistency between the first sample adjacency matrix and the second sample adjacency matrix reaches a first predetermined threshold; the convergence condition also includes: whether the consistency between the label of the extra edge and the label of the edge corresponding to the sample navigation grid in the second sample graph data reaches a second predetermined threshold.
[0089] For example, in order to continuously optimize the trained graph neural network during training so that its output predictions increasingly approach the true values, a loss function needs to be constructed:
[0090] The output (predicted value) of the α part is the label vector. j The training labels (true values) are the label vector L_label. i This allows the trained classifier 303' of the α part to learn the label vector L_label. i The characteristics of the label. Therefore, the loss function for the α part is label. j With L_label i The inner product, i.e. Where count_edge is used to calculate the loss. α The number of edges counted, for example, could be the extra edges edge_new j The total number, which is its label vector. j The total quantity;
[0091] The output (predicted value) of the β part is the adjacency matrix A. s′ (The first sample adjacency matrix), the training labels (true values) are the adjacency matrix. (Second sample adjacency matrix), enabling the trained decoder 302' of the β part to learn the adjacency matrix. The characteristics of . Therefore, the loss function for the β part is A. s′ and The inner product, i.e.
[0092] The aggregate loss function for the α and β parts is: loss = αloss α +βloss β , where α is the weighting coefficient of the loss function in the α part and β is the weighting coefficient of the loss function in the β part.
[0093] Based on this, the convergence condition can be: loss α Less than the second predetermined threshold, and loss β The loss is less than a first predetermined threshold; or the loss is less than a third predetermined threshold.
[0094] If the convergence condition is not met, then in S506, the trained graph neural network is optimized using gradient descent, and the process returns to S504; for example, the gradient descent method is used to train the GCN of the encoder 301 and the fully connected layer of the α part, wherein in one gradient descent calculation, the β part needs to be forward calculated once, and the α part needs to be forward calculated count_edge times.
[0095] If the convergence condition is met, training ends in S507, resulting in a connected graph neural network. Specifically, this includes obtaining a connection encoder, a connection decoder, and an edge classifier. For example, the loss... α Less than the second predetermined threshold, and loss β Training ends when the loss is less than a first predetermined threshold, or when the loss is less than a third predetermined threshold, and the following result can be obtained: Figure 3 The connection of encoder 301, decoder 302, and edge classifier 303 shown above yields the following result: Figure 3 The connection graph shown is neural network 300.
[0096] The connected graph neural network according to some embodiments of this application is pre-trained through the training steps of the above-described connected graph neural network training method.
[0097] In this invention, the method for establishing navigation mesh connections is based on graph neural networks. It can generate all possible navigation mesh connections through a single GPU parallel computation, thus having lower time complexity and faster speed than the existing method of traversing all navigation mesh edges. Thanks to the representation and learning capabilities of graph neural networks, the established navigation mesh connections can support more types of virtual character behaviors, such as long-distance teleportation, jumping upwards, and jumping downwards.
[0098] Figure 7 This is a hardware structure block diagram of an electronic device according to an embodiment of this application.
[0099] like Figure 7 As shown, the electronic device 700 may include one or more processors 702, a system motherboard 708 connected to at least one of the processors 702, a system memory 704 connected to the system motherboard 708, a non-volatile memory (NVM) 706 connected to the system motherboard 708, and a network interface 710 connected to the system motherboard 708.
[0100] Processor 702 may include one or more single-core or multi-core processors. Processor 702 may include any combination of general-purpose processors and special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In embodiments of the invention, processor 702 may be configured to perform operations according to... Figures 1-6 One or more embodiments of the various embodiments shown.
[0101] In some embodiments, the system motherboard 708 may include any suitable interface controller to provide any suitable interface to at least one of the processors 702 and / or any suitable device or component communicating with the system motherboard 708.
[0102] In some embodiments, system motherboard 708 may include one or more memory controllers to provide an interface to system memory 704. System memory 704 may be used to load and store data and / or instructions. In some embodiments, system memory 704 of electronic device 700 may include any suitable volatile memory, such as suitable dynamic random access memory (DRAM).
[0103] The NVM 706 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, the NVM 706 may include any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as at least one of an HDD (Hard Disk Drive), a CD (Compact Disc) drive, or a DVD (Digital Versatile Disc) drive.
[0104] The NVM 706 may include a portion of the storage resources on a device installed on the electronic device 700, or it may be accessible by the device, but is not necessarily part of the device. For example, the NVM 706 may be accessed over a network via the network interface 710.
[0105] Specifically, system memory 704 and NVM 706 may each include a temporary copy and a permanent copy of instruction 720, respectively. Instruction 720 may include, when executed by at least one of processors 702, causing electronic device 700 to perform, as Figures 1-6 The instructions for the method shown. In some embodiments, the instructions 720, hardware, firmware and / or their software components may additionally / alternatively be located in the system motherboard 708, network interface 710 and / or processor 702.
[0106] Network interface 710 may include a transceiver for providing a radio interface to electronic device 700, thereby enabling communication with any other suitable device (e.g., front-end module, antenna, etc.) via one or more networks. In some embodiments, network interface 710 may be integrated into other components of electronic device 700. For example, network interface 710 may be integrated into at least one of processor 702, system memory 704, NVM 706, and firmware device (not shown) with instructions, wherein electronic device 700 implements [the desired functionality] when at least one of processor 702 executes the instructions. Figures 1-6 One or more embodiments of the various embodiments shown.
[0107] The network interface 710 may further include any suitable hardware and / or firmware to provide a multiple-input multiple-output radio interface. For example, the network interface 710 may be a network adapter, a wireless network adapter, a telephone modem, and / or a wireless modem.
[0108] In one embodiment, at least one of the processors 702 may be packaged together with one or more controllers for the system motherboard 708 to form a system-in-package (SiP). In another embodiment, at least one of the processors 702 may be integrated on the same die with one or more controllers for the system motherboard 708 to form a system-on-a-chip (SoC).
[0109] The electronic device 700 may further include an input / output (I / O) device 712 connected to the system motherboard 708. The I / O device 712 may include a user interface enabling a user to interact with the electronic device 700; the peripheral component interface is designed to allow peripheral components to also interact with the electronic device 700. In some embodiments, the electronic device 700 may also include sensors for determining at least one type of environmental condition and location information related to the electronic device 700.
[0110] In some embodiments, the I / O device 712 may include, but is not limited to, a display (e.g., a liquid crystal display, a touch screen display, etc.), a speaker, a microphone, one or more cameras (e.g., a still image camera and / or a video camera), a flashlight (e.g., an LED flash) and a keyboard.
[0111] In some embodiments, the peripheral component interface may include, but is not limited to, a non-volatile memory port, an audio jack, and a power interface.
[0112] In some embodiments, the sensor may include, but is not limited to, a gyroscope sensor, an accelerometer, a proximity sensor, an ambient light sensor, and a positioning unit. The positioning unit may also be part of or interact with the network interface 710 to communicate with components of the positioning network (e.g., Global Positioning System (GPS) satellites).
[0113] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 700. In other embodiments of this application, the electronic device 700 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0114] Program code can be applied to input instructions to perform the functions described in this invention and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a system for processing instructions including processor 702 includes any system having a processor such as a digital signal processor (DSP), microcontroller, application-specific integrated circuit (ASIC), or microprocessor.
[0115] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this invention are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0116] One or more aspects of at least one embodiment can be implemented by instructions stored on a computer-readable storage medium, which, when read and executed by a processor, enable an electronic device to implement the methods of the embodiments described in this invention.
[0117] According to some embodiments of this application, a computer storage medium is disclosed, on which instructions are stored, which, when executed on a computer, cause the computer to perform a method for establishing a navigation mesh connection according to embodiments of this application.
[0118] The method embodiments of this application correspond to this embodiment, and this embodiment can be implemented in conjunction with the method embodiments of this application. The relevant technical details mentioned in the method embodiments of this application are still valid in this embodiment, and will not be repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the method embodiments of this application.
[0119] According to some embodiments of this application, a computer program product is disclosed, including computer-executable instructions that are executed by a processor to implement a method for establishing navigation mesh connections according to embodiments of this application.
[0120] The method embodiments of this application correspond to this embodiment, and this embodiment can be implemented in conjunction with the method embodiments of this application. The relevant technical details mentioned in the method embodiments of this application are still valid in this embodiment, and will not be repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the method embodiments of this application.
[0121] It is understood that the specific embodiments described herein are merely for illustrative purposes and not for limiting the scope of this application. Furthermore, for ease of description, the accompanying drawings show only the parts relevant to this application, and not all of the structures or processes. It should be noted that similar reference numerals and letters in this specification denote similar items in the accompanying drawings.
[0122] It should be understood that although the terms "first," "second," etc., may be used herein to describe various features, these features should not be limited by these terms. The use of these terms is merely for distinction and should not be construed as indicating or implying relative importance. For example, without departing from the scope of the exemplary embodiments, a first feature may be referred to as a second feature, and similarly, a second feature may be referred to as a first feature.
[0123] In the description of this application, it should also be noted that, unless otherwise explicitly specified and limited, the terms "set up," "connected," and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this embodiment based on the specific circumstances.
[0124] The illustrative embodiments of this application include, but are not limited to, methods, apparatus, media, and computer program products for establishing navigation mesh connections.
[0125] Various aspects of the illustrative embodiments will be described using terminology commonly employed by those skilled in the art to convey the essence of their work to others skilled in the art. However, it will be apparent to those skilled in the art that some alternative embodiments will be practiced using the features partially described. Specific figures and configurations are set forth for purposes of explanation in order to provide a more thorough understanding of the illustrative embodiments. However, it will be apparent to those skilled in the art that alternative embodiments may be practiced without specific details. In some other instances, well-known features have been omitted or simplified herein to avoid obscuring the illustrative embodiments of this application.
[0126] Furthermore, the various operations will be described as multiple separate operations in a manner most conducive to understanding the illustrative embodiments; however, the order of description should not be construed as implying that these operations must depend on the order of description, and many of these operations may be performed in parallel, concurrently, or simultaneously. Moreover, the order of the operations may also be rearranged. The process may be terminated when the described operations are completed, but may also include additional steps not included in the figures. The process may correspond to a method, function, procedure, subroutine, subroutine, etc.
[0127] References to "an embodiment," "embodiment," "illustrative embodiment," etc., in this specification indicate that the described embodiment may include specific features, structures, or properties; however, each embodiment may or may not necessarily include specific features, structures, or properties. Furthermore, these phrases are not necessarily directed to the same embodiment. Additionally, when specific features are described in conjunction with specific embodiments, the knowledge of those skilled in the art can influence the combination of these features with other embodiments, whether or not those embodiments are explicitly described.
[0128] Unless the context otherwise specifies, the terms “comprising,” “having,” and “including” are synonyms. The phrase “A and / or B” means “(A), (B), or (A and B).”
[0129] As used herein, the term "module" may refer to, as part of, or include: a memory (shared, dedicated, or grouped), an application-specific integrated circuit (ASIC), electronic circuitry and / or a processor (shared, dedicated, or grouped), combinational logic circuitry, and / or other suitable components that provide the said functionality for running one or more software or firmware programs.
[0130] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order is not necessary. Rather, in some embodiments, these features may be illustrated in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular drawing does not mean that all embodiments need to include such features; in some embodiments, these features may be omitted or may be combined with other features.
[0131] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions or programs carried or stored on one or more transient or non-transient machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors, etc. When the instructions or program are run by a machine, the machine may perform the various methods described above. For example, the instructions may be distributed via a network or other computer-readable media. Therefore, machine-readable media may include, but are not limited to, any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, such as floppy disks, optical disks, optical disc read-only memories (CD-ROMs), magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable read-only memories (EPROMs), electronically erasable programmable read-only memories (EEPROMs), magnetic cards or optical cards, or flash memory or tangible machine-readable storage for transmitting network information via electrical, optical, acoustic, or other forms of signals (e.g., carrier waves, infrared signals, digital signals, etc.). Therefore, machine-readable media includes any form of machine-readable medium suitable for storing or transmitting electronic instructions or machine (e.g., computer) readable information.
[0132] The embodiments of this application have been described in detail above with reference to the accompanying drawings. However, the use of the technical solutions of this application is not limited to the various applications mentioned in the embodiments of this application. Various structures and modifications can be easily implemented with reference to the technical solutions of this application to achieve the various beneficial effects mentioned herein. Within the scope of knowledge possessed by those skilled in the art, all changes made without departing from the spirit of this application should be considered within the scope of this patent application.
Claims
1. A method for establishing a navigation mesh connection, used in an electronic device, characterized in that, The method includes: The target map in navigation grid format is converted into target map data, the target map data including a first adjacency matrix; The target graph data is input into a pre-trained connected graph neural network, wherein the connected graph neural network generates a second adjacency matrix of the target graph data; Determine the additional edges in the second adjacency matrix compared to the first adjacency matrix; Based on the extra edges, add navigation mesh connections between the corresponding navigation meshes; The connected graph neural network is obtained through the following training steps: Obtain a first sample map and a second sample map in a navigation grid format, wherein the first sample map and the second sample map have the same navigation grid, and the second sample map has sample navigation grid connections; Convert the first sample map into first sample map data; The second sample map is converted into second sample map data, which includes a second sample adjacency matrix; Using gradient descent, repeat the following training sub-steps: input the first sample graph data into the trained graph neural network, the trained graph neural network outputs the first sample adjacency matrix, until the following convergence condition is met: the consistency between the first sample adjacency matrix and the second sample adjacency matrix reaches a first predetermined threshold, and the connected graph neural network is obtained.
2. The method according to claim 1, characterized in that, The connection graph neural network includes: A connection encoder is used to learn the hidden representation of the target graph data; A connection decoder generates the first adjacency matrix based on the hidden representation.
3. The method according to claim 2, characterized in that, The connected graph neural network also includes an edge classifier, which classifies the extra edges based on the hidden representation of the information of the two nodes connected by the extra edges.
4. The method according to claim 3, characterized in that, The classification of the extra edges includes: Add one or more of the following markers to each extra edge: "Up", "Down", "Horizontal", and "Long Distance".
5. The method according to claim 4, characterized in that, The step of inputting the first sample graph data into a trained graph neural network and the trained graph neural network outputting a first sample adjacency matrix includes: inputting the first sample graph data into a trained connection encoder of the trained graph neural network, the trained connection encoder outputting a hidden representation of the first sample graph data, and inputting the hidden representation of the first sample graph data into a trained connection decoder of the trained graph neural network, the trained connection decoder outputting a first sample adjacency matrix. The process of obtaining the connection graph neural network includes obtaining the connection encoder and the connection decoder.
6. The method according to claim 5, characterized in that, The first sample graph data includes the third sample adjacency matrix; The training steps also include: Based on the height and distance information between the two navigation grids connected by each sample navigation grid connection, add one or more of the following markers to each edge in the second sample map data corresponding to the sample navigation grid connection: "up", "down", "horizontal", and "far distance". The training sub-step further includes: determining the extra edges in the first sample adjacency matrix compared to the third sample adjacency matrix; inputting the hidden representations of the two nodes connected by the extra edges into the trained classifier of the trained graph neural network; and the trained classifier outputting the labels of the extra edges. The convergence condition further includes: the consistency between the label of the extra edge and the label of the edge corresponding to the connection of the sample navigation mesh in the second sample graph data reaches a second predetermined threshold. The process of obtaining the connected graph neural network further includes obtaining the edge classifier.
7. The method according to claim 6, characterized in that, The step of adding one or more of the following markers—"upward," "downward," "horizontal," and "far distance"—to each edge in the second sample map data corresponding to the sample navigation grid connection based on the height and distance information between the two navigation grids connected by each sample navigation grid connection includes: If the distance between two navigation grids connected by the sample navigation grid connection is greater than a predetermined distance threshold, then the "far distance" marker is added to the edge corresponding to the sample navigation grid connection; otherwise: if Then, the "downward" marker is added to the edge corresponding to the connection with the sample navigation grid. if Then, add the "upward" marker to the edge corresponding to the connection with the sample navigation grid. if Then, the "horizontal" marker is added to the edge corresponding to the connection with the sample navigation grid, wherein, The height of the starting navigation grid to which the sample navigation grid is connected. The height of the endpoint navigation grid to which the sample navigation grid is connected. This is a predetermined height threshold.
8. The method according to claim 7, characterized in that, The step of adding navigation grid connections between the corresponding navigation grids based on the extra edges includes: If the extra edge has the "far distance" or "horizontal" marking, add the navigation mesh corresponding to either of the two nodes connected by the extra edge to the adjacent mesh list of the navigation mesh corresponding to the other node. If the extra edge has the "upward" mark, add the navigation grid with the higher height of the two navigation grids corresponding to the two nodes connected by the extra edge to the adjacent grid list of the other navigation grid; If the extra edge has the "downward" mark, add the navigation grid with the lower height of the two navigation grids corresponding to the two nodes connected by the extra edge to the adjacent grid list of the other navigation grid.
9. The method according to claim 2, characterized in that, The connection encoder is a VGAE encoder, and the connection decoder is a VGAE decoder.
10. A device for establishing a navigation mesh connection, characterized in that, The device includes a memory storing computer-executable instructions and a processor, which, when executed by the processor, cause the device to perform the method of establishing a navigation mesh connection according to any one of claims 1-9.
11. A computer storage medium, characterized in that, The computer storage medium stores instructions that, when executed on the computer, cause the computer to perform the method for establishing a navigation mesh connection according to any one of claims 1-9.
12. A computer program product, characterized in that, Includes computer-executable instructions, which are executed by a processor to implement the method for establishing a navigation mesh connection according to any one of claims 1-9.
Citation Information
Patent Citations
Table structure recognition method, system and equipment based on graph neural network and storage medium
CN117037201A