A 3D Spatial Domain and Time-Slice Driven Dynamic Outer Contour Mesh Hot-Plugging Method
By adopting a dynamic outer contour mesh hot-plugging method driven by 3D spatial domain and time slice, the problem of low real-time update efficiency of spatial domain data in the existing technology is solved, realizing low-latency spatial domain data rendering and dynamic update, which is suitable for multi-scenario applications.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HANGZHOU DEEPIN ZHILIAN DIGITAL TECH CO LTD
- Filing Date
- 2026-02-02
- Publication Date
- 2026-05-26
Smart Images

Figure CN121616446B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer graphics data processing technology, specifically a method for hot-plugging dynamic outer contour meshes driven by three-dimensional spatial domain and time slice. Background Technology
[0002] With the increasing traffic density from civil aviation, military aviation, and drones, airspace management departments need to upgrade traditional "two-dimensional control maps" to "three-dimensional spatiotemporal control sandboxes." In the past five years, the industry has seen the emergence of the following two technical approaches:
[0003] 1. GIS → Web-based 3D: Represented by Cesium and Three.js, spatial boundaries are converted into glTF / 3D-Tiles for rendering in the browser. However, due to the limitations of WebGL performance, it can only be used for static display or offline updates.
[0004] 2. Game Engine → Real-time Sandbox: Using Unreal Engine or Unity for spatial visualization has the advantage of real-time rendering and interaction, but most of them are still in the stage of "manual modeling" or "offline baking", and have not yet solved the problem of real-time updating of "spatial data dynamically changing with time slices".
[0005] Existing spatial domain construction methods include offline prefabrication modeling, regular mesh methods (3D raster voxels), irregular polygon mesh methods, and game engine outline methods, among which:
[0006] The offline prefabricated modeling method involves manually or automatically creating a high-precision 3D mesh (or vector unit) based on spatial information in the modeling software. The created "static mesh file" is then directly distributed to the running system, and the module calls the local file when needed. However, if the geometry or control rules change, it is necessary to re-"draw, re-substitute, and re-distribute", which takes several hours to several days and cannot achieve real-time updates.
[0007] Regular grid method (3D raster voxels) divides the spatial domain into regular cubic or cuboid units (such as 3D raster), and each grid records attributes (such as obstacles, risk level, permissions, etc.); the computational load increases cubically with large data volume and resolution, which is difficult for real-time systems to handle.
[0008] The irregular polygon mesh method uses GIS polygons (TIN or Delaunay) to fit the terrain and then extrudes them upwards to form a 3D shell; however, the mesh is highly complex, and dynamic adjustments require global re-subdivision, resulting in a large update delay.
[0009] The game engine contour method, based on UE / Unity, directly models the spatial boundary as a renderable closed mesh, and uses material instances for color identification. Existing practices are mostly offline modeling or one-time generation, lacking the ability of "time-slice driven, local hot-swappable", and require overall destruction and reconstruction during updates, which is inefficient.
[0010] The above-mentioned existing technologies have several drawbacks:
[0011] 1. Data Dimension Limitations
[0012] Existing dynamic grid solutions based on 2D GIS vectors typically only define planar outlines, and their data structures inherently lack "height layer" and "time slice" fields. When the application scenario is upgraded to 3D spatial domain, the same algorithm must handle multiple layers of closed grids that become active or inactive with time slices. At this point, the original data structure cannot be directly reused, resulting in the inability to represent the 3D boundaries and lifecycle of the spatial domain.
[0013] 2. Update granularity
[0014] Similar practices in other industries typically treat the generated object as a single static mesh (StaticMesh) or a procedural mesh (ProceduralMeshComponent) based on faces. When the spatial height layer, effective time period, or boundary is adjusted, the entire object must be destroyed and regenerated, causing CPU-GPU synchronization blockage and reduced frame rate.
[0015] 3. Lack of temporal slice semantics
[0016] The current UE engine only supports two levels of data: "geometry + material". It lacks a time-slice driven mechanism and cannot automatically complete the "unload-regeneration" closed loop based on the effective / ineffective period of the spatial domain.
[0017] 4. Deep coupling in cross-system coordinate transformation
[0018] Converting GeoJSON to UE world coordinates requires manual scripts or offline tools, or loading multiple UE plugins in combination. The data parsing and conversion process involves many steps and is lengthy, making it impossible to efficiently and lightweightly read real-time air traffic control messages. Summary of the Invention
[0019] To address the aforementioned technical problems, this invention provides a method for hot-plugging dynamic outer contour meshes driven by three-dimensional spatial domain and time slice.
[0020] To achieve the above objectives, the present invention provides the following technical solution:
[0021] This invention provides a method for hot-plugging dynamic outer contour meshes driven by three-dimensional spatial domain and time slice, the specific method steps of which include:
[0022] S1. Receive air traffic control message information in real time through the transmission protocol, convert geographical coordinates into target world coordinates, and generate management files at the same time;
[0023] S2. Based on the management file, a spatial mesh is constructed in real time by combining outer contour extrusion and ear cutting method;
[0024] S3. Map the spatial domain ID and time slice passed in the message to the spatial domain grid constructed in S2, and construct a double-key hash index of spatial domain ID and time slice, which serves as the sole basis for the hot-plug manager to determine whether to update or create a grid and dynamically execute the hot-plug of the spatial domain grid.
[0025] Preferably, the management files include vertex position files, patch vertex index files, face-space ID mapping files, and space vertex set files.
[0026] Preferably, step S2, the spatial grid construction step specifically includes:
[0027] S21. Based on the vertex position file, first extract the bottom contour line, and then extrude the top contour line using the height layer vector.
[0028] S22. Based on the face vertex index file, connect the spatial vertices on the bottom surface of the outer contour in sequence to obtain the bottom outer contour of the spatial area, and offset the bottom outer contour along the vertical direction of the outer contour to obtain the top outer contour.
[0029] S23. Based on the contour lines obtained from S21 and S22, the bottom, top, and side surfaces are triangularly constructed using the ear-cutting method to create a spatial mesh.
[0030] Preferably, in the spatial mesh construction process of step S2, a vertex cache reuse algorithm is used to perform vertex deduplication to ensure that the top / bottom and side surfaces of the extruded mesh share the same index, thereby reducing the redundant vertex rate.
[0031] Preferably, step S3, the spatial grid hot-plugging execution step specifically includes:
[0032] When the time slice changes or the spatial domain message is updated, a hit is determined based on the double-key hash index.
[0033] If a hit occurs, function 1 is called to unload the old grid, destroy the hit cell grid, and then the logic for generating the spatial grid is re-executed according to the current message data.
[0034] If a match is missed, function two is called to generate a new mesh.
[0035] Preferably, the first function is the RemoveMeshSection function;
[0036] The destruction step specifically includes: finding the corresponding airspace based on the double-key hash index of the current air traffic control message and removing it from the target airspace grid;
[0037] Clear the data associated with this airspace ID from the management file.
[0038] Preferably, the second function is the CreateMeshSection function.
[0039] Preferably, the airspace vertex set file contains a field for identifying the airspace service type. The material of the corresponding airspace is dynamically selected based on the service type field by the type selection function, and the material parameters in the exposed material are used to express the dynamic airspace information in real time, so as to realize the configuration visualization of real-time adjustment of airspace status.
[0040] The present invention also provides an output model applicable to the above-mentioned dynamic outer contour mesh hot-swap method driven by three-dimensional spatial domain and time slice. The output model supports independent output of a single spatial domain or supports multiple spatial domains as a whole model output. The output model can run on PC, mobile terminal or VR device, and can be exported as a 3D model file format to meet the needs of multiple scenarios such as controller training, real-time command and digital twin sand table.
[0041] Compared with existing technologies, this invention provides a three-dimensional spatial domain and time-slice driven dynamic outer contour mesh hot-plugging method, which has the following beneficial effects:
[0042] 1. This invention adopts the contour extrusion-ear cutting method and vertex cache reuse mechanism, combined with the "spatial domain ID and time slice" double-key hash index, to support the dynamic construction and hot-plug operation of the mesh model, meet the low-latency rendering requirements of real-time air traffic control data, and reduce update latency.
[0043] 2. This invention directly embeds the "spatial domain ID + height layer + time slice" fields into the data structure of the spatial outer contour mesh, integrating geometry and business semantics, and driving subsequent updates without the need for bypass storage.
[0044] The features and advantages of the present invention will be described in detail through embodiments and in conjunction with the accompanying drawings. Attached Figure Description
[0045] Figure 1 This is a logic diagram of a three-dimensional spatial domain and time slice driven dynamic outer contour mesh hot-plugging method according to the present invention.
[0046] Figure 2 This is a contour diagram of the construction in a specific embodiment of the present invention;
[0047] Figure 3 This is a spatial grid diagram constructed in a specific embodiment of the present invention. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. However, it should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of the invention. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concept of the invention.
[0049] See Figure 1 A three-dimensional spatial domain and time slice-driven dynamic outer contour mesh hot-plugging method, the specific method steps include:
[0050] S1. Receive air traffic control message information in real time through the transmission protocol, convert geographical coordinates into target world coordinates, and generate management files at the same time;
[0051] S2. Based on the management file, a spatial mesh is constructed in real time by combining outer contour extrusion and ear cutting method;
[0052] S3. Map the spatial domain ID and time slice passed in the message to the spatial domain grid constructed in S2, and construct a double-key hash index of spatial domain ID and time slice, which serves as the sole basis for the hot-plug manager to determine whether to update or create a grid and dynamically execute the hot-plug of the spatial domain grid.
[0053] Preferably, the management files include vertex position files, patch vertex index files, face-space ID mapping files, and space vertex set files.
[0054] Preferably, step S2, the spatial grid construction step specifically includes:
[0055] S21. Based on the vertex position file, first extract the bottom contour line, and then extrude the top contour line using the height layer vector.
[0056] S22. Based on the face vertex index file, connect the spatial vertices on the bottom surface of the outer contour in sequence to obtain the bottom outer contour of the spatial area, and offset the bottom outer contour along the vertical direction of the outer contour to obtain the top outer contour.
[0057] S23. Based on the contour lines obtained from S21 and S22, the bottom, top, and side surfaces are triangularly constructed using the ear-cutting method to create a spatial mesh.
[0058] Preferably, in the spatial mesh construction process of step S2, a vertex cache reuse algorithm is used to perform vertex deduplication to ensure that the top / bottom and side surfaces of the extruded mesh share the same index, thereby reducing the redundant vertex rate.
[0059] Preferably, step S3, the spatial grid hot-plugging execution step specifically includes:
[0060] When the time slice changes or the spatial domain message is updated, a hit is determined based on the double-key hash index.
[0061] If a hit occurs, function 1 is called to unload the old grid, destroy the hit cell grid, and then the logic for generating the spatial grid is re-executed according to the current message data.
[0062] If a match is missed, function two is called to generate a new mesh.
[0063] Preferably, the first function is the RemoveMeshSection function;
[0064] The destruction step specifically includes: finding the corresponding airspace based on the double-key hash index of the current air traffic control message and removing it from the target airspace grid;
[0065] Clear the data associated with this airspace ID from the management file.
[0066] Preferably, the second function is the CreateMeshSection function.
[0067] Preferably, the airspace vertex set file contains a field for identifying the airspace service type. The material of the corresponding airspace is dynamically selected based on the service type field by the type selection function, and the material parameters in the exposed material are used to express the dynamic airspace information in real time, so as to realize the configuration visualization of real-time adjustment of airspace status.
[0068] The present invention also provides an output model applicable to the above-mentioned dynamic outer contour mesh hot-swap method driven by three-dimensional spatial domain and time slice. The output model supports independent output of a single spatial domain or supports multiple spatial domains as a whole model output. The output model can run on PC, mobile terminal or VR device, and can be exported as a 3D model file format to meet the needs of multiple scenarios such as controller training, real-time command and digital twin sand table.
[0069] In a specific embodiment, the specific implementation steps are as follows:
[0070] Step 1: Specifically, the transmission protocol can be HTTP or WebSocket. Receive JSON / GeoJSON messages from the air traffic control system via a long connection. Use the UE blueprint node Break JSON to call the C++ data conversion function to convert WGS-84 coordinates to UE world coordinates in real time, and instantly generate four types of associated files: vertex position file, patch vertex index file, face and spatial domain ID mapping file, and spatial domain vertex set file.
[0071] in:
[0072] Airspace-related messages include the following fields: airspace ID, airspace type, airspace latitude and longitude outline point array (an array of several latitude and longitude points sent in sequence), airspace generation starting height (bottom height), and airspace height (the height of the airspace itself, which is the difference between the top and bottom heights); among these, latitude and longitude and height data belong to geographic coordinate data.
[0073] Coordinate system:
[0074] Different geographic data may use different coordinate systems, such as the WGS84 coordinate system, the Mars coordinate system, and the Mercator 3857 coordinate system. These coordinate systems are different from each other, but they can be converted to each other through conversion.
[0075] Coordinate system in Ue:
[0076] The coordinates used in UE are x, y, and z, not longitude, latitude, and altitude as in geographic data. Therefore, geographic location data needs to be parsed and transformed after being imported into UE.
[0077] The four types of associated files are: vertex location file (an array of x, y, and z values for each point after the latitude and longitude in the message are converted to uE coordinates), face vertex index file (this index file is used to allow the computer to recognize the order in which the faces are generated from the points), spatial domain ID mapping file (after the spatial domain is generated, the generated spatial domain model is assigned an ID according to the spatial domain ID field in the message, which facilitates the matching of the message and the model), and spatial domain vertex set file (the file corresponding to the array of vertices used to generate the generated spatial domain).
[0078] Step 2: Based on the vertex position file from Step 1, first extract the bottom contour line, and then extrude the top contour line using the height layer vector;
[0079] Based on the face vertex index file in step 1, connect the spatial vertices on the bottom surface of the outer contour in sequence to obtain the bottom outer contour of the spatial area, and offset the bottom outer contour along the vertical direction of the outer contour to obtain the top outer contour.
[0080] The ear-cutting method is used to construct triangles on the bottom, top, and side faces, and a vertex cache reuse algorithm is used to keep the redundant vertex rate <5%.
[0081] Using the "Procedural Mesh Component" function built into UE, closed polygon meshes can be created at runtime using the four types of associated files converted in the above steps.
[0082] See Figure 2 In UE, a quadrilateral is composed of two triangular faces. For example, quadrilateral (0123) is composed of triangle (012) and triangle (023).
[0083] During vertex facet construction: all triangular facet numbers are consistently ordered counter-clockwise. This is because UE uses a left-handed coordinate system (a left-handed coordinate system is used in 3D space to determine orientation; its characteristic is that the X-axis points forward, the Y-axis points to the right, and the Z-axis points upward). In the left-handed coordinate system, looking from the normal direction, counter-clockwise vertex order represents the front face, that is, the face with the Z-axis pointing upward. Maintaining a consistent facet orientation ensures that the generated mesh maintains its proper appearance under lighting conditions.
[0084] Using Unreal Engine's ProceduralMeshComponent, a spatial mesh is generated in real-time within the Blueprint and lightweight C++ modules based on the "vertex position file + triangle vertex index file". See details... Figure 3 .
[0085] Step 3: On the UE side, a hash table is constructed using the airspace ID and the time interval involved in the airspace from the airspace message, combined with the airspace grid model generated in the UE. The key is a string concatenated with the airspace ID and the time slice, and the value records the selected sequence number of the corresponding grid in the programmatic grid body component. This hash table serves as the sole basis for the hot-swap manager to determine whether to "update" or "create" a grid. See Table 1 for the format details.
[0086] Table 1 Double-key hash table
[0087]
[0088] Step 4: When the time slice changes or the airspace message is updated, query the hash table above:
[0089] If a hit occurs, the RemoveMeshSection function is called to unload the old mesh;
[0090] If a match is not found, the CreateMeshSection function is called to generate a new mesh;
[0091] By matching the ID in the destroyed airspace message with the ID stored when the airspace grid volume was generated, the affected subgrids can be located and destroyed.
[0092] The above three steps are performed on the new mesh within 0.5 seconds to generate a new mesh and insert it into the scene, achieving local updates; the entire process does not require restarting the level or reloading the scene, and can support real-time refresh of millions of vertices.
[0093] The entire unloading-regeneration closed loop is completed in an asynchronous GameThread task, taking ≤ 50 ms and ensuring a frame rate of 60fps or higher.
[0094] Furthermore, in this invention, materials are bound to visualization.
[0095] Based on the associated file obtained after parsing the airspace service type (control, no-fly zone, training, etc.) in the message, the Material Instance corresponding to the airspace is selected through the UE's secret node;
[0096] The material parameter set can express information such as height layer and effective time period in real time, and supports visual cues such as color / transparency / flickering.
[0097] Furthermore, the system output in this invention is:
[0098] It can output a complete model of a single spatial domain (each spatial domain ID corresponds to an Actor), or add the index files of multiple spatial domains together by spatial domain ID and output them as a single Actor as a whole model.
[0099] It is compatible with PCs, mobile devices, and VR devices, meeting the needs of various scenarios such as controller training, real-time command, and digital twin sand table.
[0100] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions or improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A three-dimensional space and time-slice driven dynamic outer profile mesh hot-plug method, characterized by: The specific methods and steps include: S1. Receive air traffic control message information in real time through the transmission protocol, convert geographical coordinates into target world coordinates, and generate management files at the same time; S2. Based on the management file, a spatial mesh is constructed in real time by combining outer contour extrusion and ear cutting method; S3. Map the spatial domain ID and time slice passed in the message to the spatial domain grid constructed in S2, and construct a double-key hash index of spatial domain ID and time slice, which serves as the sole basis for the hot-plug manager to determine whether to update or create a grid and dynamically execute the hot-plug of the spatial domain grid. The management files include vertex position files, patch vertex index files, face-space ID mapping files, and space vertex set files; In step S2, the spatial grid construction step specifically includes: S21. Based on the vertex position file, first extract the bottom contour line, and then extrude the top contour line using the height layer vector. S22. Based on the face vertex index file, connect the spatial vertices on the bottom surface of the outer contour in sequence to obtain the bottom outer contour of the spatial area, and offset the bottom outer contour along the vertical direction of the outer contour to obtain the top outer contour. S23. Based on the contour lines obtained from S21 and S22, the bottom, top, and side surfaces are triangularly constructed using the ear-cutting method to create a spatial mesh. In the spatial mesh construction process of step S2, a vertex cache reuse algorithm is used to perform vertex deduplication to ensure that the top / bottom and side surfaces of the extruded mesh share the same index, thereby reducing the redundant vertex rate. In step S3, the spatial grid hot-plugging execution step specifically includes: When the time slice changes or the spatial domain message is updated, a hit is determined based on the double-key hash index. If a hit occurs, function 1 is called to unload the old grid, destroy the hit cell grid, and then the logic for generating the spatial grid is re-executed according to the current message data. If no match is found, function two is called to generate a new mesh; The first function is the RemoveMeshSection function; The destruction step specifically includes: finding the corresponding airspace based on the double-key hash index of the current air traffic control message and removing it from the target airspace grid; Clear the data related to this airspace ID from the management file; The second function is the CreateMeshSection function.
2. A three-dimensional space and time-slice driven dynamic outer profile mesh hot swap method according to claim 1, characterized in that: The airspace vertex set file contains fields for identifying airspace service types. The type selection function dynamically selects the material for the corresponding airspace based on the service type field, and uses the material parameters in the exposed material to express dynamic airspace information in real time, thereby realizing the configuration visualization of real-time adjustment of airspace status.
3. A method for output model of a three-dimensional space-time slice driven dynamic outer profile mesh hot-plug method according to any one of claims 1-2, characterized in that: The output model supports independent output of a single airspace or output of multiple airspaces as a whole model. The output model can run on PCs, mobile devices or VR devices, and can be exported as a 3D model file format to meet the needs of multiple scenarios such as controller training, real-time command and control, and digital twin sand table.