A method and system for preloading slices of industrial large scene models

Through sharded preloading and multi-threading technology, the large-scene three-dimensional model is segmented into small models and compressed and encrypted, solving the problem of slow loading of the large-scene three-dimensional model, achieving efficient loading and smooth rendering, and improving the user experience.

CN118918256BActive Publication Date: 2025-02-14LUCULENT SMART TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410973706.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-19
Publication Date
2025-02-14
Estimated Expiration
2044-07-19

AI Technical Summary

Technical Problem

The three-dimensional model of large scenes is slowly loading, which is difficult to meet the needs of fast loading and smooth rendering.

Method used

The sharded preloading method is adopted to segment the three-dimensional model of large scenes into small three-dimensional models with low resolution and high resolution through preprocessing operations, perform secondary compression and encryption, and multi-threaded loading and dynamic rendering through the client engine.

Benefits of technology

It realizes efficient loading and smooth rendering of three-dimensional models in large scenes, improves user experience and avoids waste of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118918256B_ABST
    Figure CN118918256B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and system for preloading slices of industrial large scene models, which relates to the technical field of industrial large scene three-dimensional visualization, including: preprocessing the three-dimensional model of the large scene to obtain a small three-dimensional model; performing secondary compression and encryption on the small three-dimensional model; loading the small three-dimensional model through a client engine. The slice preloading method and system proposed in the present invention successfully realizes efficient loading and smooth rendering of large scene three-dimensional models by comprehensively optimizing key steps such as data processing, encryption compression, multi-threaded loading, streaming loading, and rendering acceleration, wherein the area viewed by the user is predicted, and the corresponding hierarchical level is inserted through the result of the predicted area, which further improves the rendering speed, avoids resource waste, and greatly enhances the user experience, and has significant innovation and practicality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of industrial large-scale three-dimensional visualization, and in particular to a method and system for preloading slices of an industrial large-scale scene model. Background Art

[0002] With the increasing application of 3D visualization technology in the industrial field, the loading and rendering of large-scene 3D models has gradually become a key bottleneck affecting user experience.

[0003] Traditional loading modes often show low efficiency when dealing with large amounts of data, and are unable to meet the actual needs of fast loading and smooth rendering. Summary of the invention

[0004] In view of the above-mentioned problems, the present invention is proposed.

[0005] Therefore, the technical problem solved by the present invention is to effectively solve the problem of slow loading of large-scene three-dimensional models.

[0006] To solve the above technical problems, the present invention provides the following technical solution: a method for preloading slices of an industrial large scene model, comprising the following steps:

[0007] Preprocessing operations are performed on the 3D model of the large scene to obtain a small 3D model; secondary compression and encryption are performed on the small 3D model; and the small 3D model is loaded through the client engine.

[0008] As a preferred solution of the method for preloading slices of industrial large scene models described in the present invention, the preprocessing operation includes separating the digital and analog of the three-dimensional model through an automated script, extracting design-related data, and performing surface reduction, texture compression, and material merging operations of the same object on the three-dimensional model using three-dimensional model design software. After the operation, the three-dimensional model is segmented into low-resolution small three-dimensional models and high-resolution small three-dimensional models through an automated script.

[0009] The low-resolution small 3D model is a small 3D model with a texture resolution lower than 1024×1024 and a number of vertices and polygons equal to or less than a threshold. The high-resolution small 3D model is a small 3D model with a texture resolution greater than or equal to 1024×1024 and a number of vertices and polygons greater than a threshold.

[0010] As a preferred solution of the method for preloading slices of industrial large scene models described in the present invention, the secondary compression and encryption includes compressing the separated small three-dimensional models through Draco and Gzip algorithms, and encrypting them through encryption algorithms after compression.

[0011] As a preferred solution of the method for preloading slices of a large industrial scene model described in the present invention, the client engine loads small three-dimensional models in parallel through a multi-threaded loading mode, and performs multi-threaded decryption and decompression processing through WebWorker technology.

[0012] As a preferred solution of the method for preloading slices of a large industrial scene model described in the present invention, the loading of small three-dimensional models includes the client engine dynamically loading the required model files according to the actual needs and interactive behaviors of the user, and implementing destruction operations according to specific needs.

[0013] The dynamic loading includes dividing objects into low-interaction objects and high-interaction objects by analyzing the user's interaction log, predicting the area viewed by the user through the user's perspective change trend, preloading low-interaction objects with low-resolution small three-dimensional models, and preloading high-resolution small three-dimensional models based on the high-interaction objects.

[0014] The low-interaction object is an object that only supports clicking, and the high-interaction object is an object that supports dragging, scaling, and editing.

[0015] The implementation of the destruction operation includes analyzing the user's interaction log. If there are low-interaction objects that are not used within a limited time, they will be automatically destroyed. Based on the analysis of the user's perspective change trend, if there are low-interaction objects that are not in the user's field of view, the low-interaction objects will be automatically destroyed. At the same time, high-interaction objects will be retained within a limited time. If they are still not used when the limited time comes, they will be automatically destroyed.

[0016] As a preferred solution of the method for preloading slices of a large industrial scene model described in the present invention, the client engine traverses all highly interactive objects in the scene after loading the small three-dimensional model, and for each object, determines the maximum and minimum coordinates of each object packaging box, and obtains the length, width, and depth by calculation. The maximum coordinate is (max.x, max.y, max.z), and the minimum coordinate is (min.x, min.y, min.z).

[0017] The length is expressed as max.x-min.x, the width is expressed as max.y-min.y, and the depth is expressed as max.z-min.z.

[0018] Multiply the length, width, and depth of each object's box to get the volume of each object. Based on the calculated volume, sort all objects in descending order of volume and store them in the array arr.

[0019] When the user performs an operation on the canvas, the program first performs an intersection test based on the current camera's view frustum and the bounding box information of the object in the array arr. If the object is completely outside the view frustum, a culling operation is performed, that is, the corresponding object is not included in the rendering queue.

[0020] If the object is inside the viewing frustum, the volume is further determined, including directly rendering the object if the size of the object is greater than a set threshold; continuing to calculate the distance between the current camera and the corresponding object if the volume of the object is less than or equal to the set threshold; directly rendering the object if the distance between the camera and the corresponding object is less than the culling distance; and continuing to calculate the frequency of use of the object if the frequency of use of the object is greater than or equal to the set frequency. If the frequency of use of the object is less than the set frequency, directly rendering is performed. If the frequency of use of the object is less than the set frequency, the visual complexity of the object is determined; if the visual complexity is less than the set threshold, culling is performed; and if the visual complexity is greater than or equal to the set threshold, rendering is performed. During the rendering process, the performance indicators of the application are continuously tracked.

[0021] The remaining objects after the screening and culling operations are rendered and the results are presented to the user.

[0022] As a preferred solution of the method for preloading slices of a large industrial scene model described in the present invention, the preloading using a small three-dimensional model with a low resolution is performed only when the user's viewing angle changes.

[0023] The method of pre-loading the high-resolution small three-dimensional model is to pre-load the small three-dimensional model in the prediction area without any operation by the user, asynchronously load the model of the prediction area into the client cache, pre-calculate the volume, distance, usage frequency and visual complexity of each high-interaction object, make a preliminary judgment on the model of the prediction area, and insert it into the corresponding hierarchical level.

[0024] The continuous tracking of application performance indicators includes real-time monitoring of frame rate and automatically adjusting rendering quality based on monitoring results, including automatically reducing the detail level of high-resolution models in the scene or temporarily switching high-resolution small 3D models of non-core high-interaction objects to low-resolution small 3D models when it is detected that the frame rate drops below a specified value.

[0025] If it detects that resource usage is approaching the system limit, it automatically reduces the rendering quality of low-interactivity objects, or hides the objects completely, until resource usage returns to a safe range.

[0026] Another object of the present invention is to provide a system for preloading slices of industrial large-scale scene models, which can solve the problems of low efficiency in loading and rendering of large-scale three-dimensional models and poor user interaction experience in the prior art through efficient preprocessing, compression encryption, multi-threaded loading and dynamic rendering technology.

[0027] To solve the above technical problems, the present invention provides the following technical solutions: a system for preloading fragments of industrial large scene models, including a three-dimensional model preprocessing submodule, a compression and encryption module, a client engine module and a rendering module.

[0028] The 3D model preprocessing submodule is responsible for performing digital-analog separation, face reduction, texture compression and material merging on the 3D model of the large scene, and dividing the preprocessed 3D model into small 3D models.

[0029] The compression and encryption module is responsible for performing secondary compression processing on the small three-dimensional model and encrypting the compressed model.

[0030] The client engine module is responsible for loading small three-dimensional models in parallel through a multi-threaded loading mode, using WebWorker technology for multi-threaded decryption and decompression processing, dynamically loading the required model files according to the user's actual needs and interactive behaviors, and implementing destruction operations according to specific needs. By analyzing the user's interactive behavior and perspective change trends, it predicts the area viewed by the user and loads related models in advance.

[0031] The rendering module is responsible for traversing all objects in the scene, calculating the maximum and minimum coordinates of the packaging box of each object, obtaining the length, width, depth and volume, performing an intersection test based on the current camera's view cone and the object's bounding box information, removing objects outside the view cone, and grading and judging the objects based on volume, distance, frequency of use and visual complexity, and inserting corresponding grading levels.

[0032] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method for preloading slices of an industrial large scene model as described above are implemented.

[0033] A computer-readable storage medium stores a computer program thereon, and when the computer program is executed by a processor, the steps of a method for preloading slices of an industrial large scene model as described above are implemented.

[0034] Beneficial effects of the present invention: The slice preloading method and system proposed in the present invention successfully realizes the efficient loading and smooth rendering of large-scene three-dimensional models by comprehensively optimizing key steps such as data processing, encryption compression, multi-threaded loading, streaming loading and rendering acceleration. The method and system predict the area viewed by the user and insert the corresponding hierarchical level according to the result of the predicted area, which further improves the rendering speed, avoids waste of resources, greatly enhances the user experience, and has significant innovation and practicality. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.

[0036] Figure 1 An overall flow chart of a method for preloading slices of an industrial large scene model provided in the first embodiment of the present invention.

[0037] Figure 2 A hierarchical logic diagram of a method for preloading slices of an industrial large scene model provided in the first embodiment of the present invention.

[0038] Figure 3 An overall framework diagram of a system for preloading slices of an industrial large scene model provided in the first embodiment of the present invention.

[0039] Figure 4 A model preloading and rendering acceleration process of a method for preloading slices of an industrial large scene model provided in a third embodiment of the present invention. DETAILED DESCRIPTION

[0040] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the drawings of the specification. Obviously, the described embodiments are part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary persons in the art without creative work should fall within the scope of protection of the present invention.

[0041] Example 1

[0042] Reference Figure 1-2 , is an embodiment of the present invention, and provides a method for preloading slices of an industrial large scene model, characterized in that:

[0043] S1: Preprocessing the 3D model of the large scene to obtain a small 3D model.

[0044] The preprocessing operation includes separating the digital and analog of the 3D model through automated scripts, extracting design-related data, and using 3D model design software to reduce the surface of the 3D model, compress the texture, and merge the materials of the same object. After the operation, the 3D model is divided into low-resolution small 3D models and high-resolution small 3D models through automated scripts.

[0045] A low-resolution small 3D model is a small 3D model with a texture resolution lower than 1024×1024 and a number of vertices and polygons equal to or less than a threshold. A high-resolution small 3D model is a small 3D model with a texture resolution greater than or equal to 1024×1024 and a number of vertices and polygons greater than a threshold.

[0046] S2: Perform secondary compression and encryption on small 3D models.

[0047] The secondary compression and encryption includes compressing the separated small three-dimensional models through Draco and Gzip algorithms, and encrypting them through encryption algorithms after compression.

[0048] S3: Load small 3D models through the client engine.

[0049] The client engine loads small 3D models in parallel through a multi-threaded loading mode, and performs multi-threaded decryption and decompression processing through WebWorker technology.

[0050] Loading small 3D models includes the client engine dynamically loading the required model files according to the user's actual needs and interactive behaviors, and implementing destruction operations according to specific needs.

[0051] Dynamic loading includes dividing objects into low-interaction objects and high-interaction objects by analyzing user interaction logs, predicting the area viewed by users based on the trend of changes in user perspective, preloading low-interaction objects with low-resolution small three-dimensional models, and preloading high-resolution small three-dimensional models based on the high-interaction objects.

[0052] Low-interaction objects are objects that only support clicking, and high-interaction objects are objects that support dragging, scaling, and editing.

[0053] The implementation of the destruction operation includes analyzing the user's interaction log. If there are low-interaction objects that are not used within the limited time, they will be automatically destroyed. Based on the analysis of the user's perspective change trend, if there are low-interaction objects that are not in the user's field of view, the low-interaction objects will be automatically destroyed. At the same time, high-interaction objects will be retained within a limited time. If they are still not used when the limited time comes, they will be automatically destroyed.

[0054] After loading the small 3D model, the client engine traverses all highly interactive objects in the scene. For each object, it determines the maximum and minimum coordinates of each object's packaging box, and obtains the length, width, and depth by calculation. The maximum coordinate is (max.x, max.y, max.z), and the minimum coordinate is (min.x, min.y, min.z).

[0055] The length is expressed as max.x-min.x, the width is expressed as max.y-min.y, and the depth is expressed as max.z-min.z.

[0056] Multiply the length, width, and depth of each object's box to get the volume of each object. Based on the calculated volume, sort all objects in descending order of volume and store them in the array arr.

[0057] When the user performs an operation on the canvas, the program first performs an intersection test based on the current camera's view frustum and the bounding box information of the object in the array arr. If the object is completely outside the view frustum, a culling operation is performed, that is, the corresponding object is not included in the rendering queue.

[0058] If the object is inside the viewing frustum, the volume is further determined, including directly rendering the object if the size of the object is greater than a set threshold; continuing to calculate the distance between the current camera and the corresponding object if the volume of the object is less than or equal to the set threshold; directly rendering the object if the distance between the camera and the corresponding object is less than the culling distance; and continuing to calculate the frequency of use of the object if the frequency of use of the object is greater than or equal to the set frequency. If the frequency of use of the object is less than the set frequency, directly rendering is performed. If the frequency of use of the object is less than the set frequency, the visual complexity of the object is determined; if the visual complexity is less than the set threshold, culling is performed; and if the visual complexity is greater than or equal to the set threshold, rendering is performed. During the rendering process, the performance indicators of the application are continuously tracked.

[0059] The remaining objects after the screening and culling operations are rendered and the results are presented to the user.

[0060] Small low-resolution 3D models are preloaded only when the user's perspective changes.

[0061] Pre-load high-resolution small 3D models: Pre-load the small 3D models in the prediction area without any user operation, asynchronously load the models in the prediction area into the client cache, pre-calculate the volume, distance, usage frequency and visual complexity of each highly interactive object, make a preliminary judgment on the models in the prediction area, and insert them into the corresponding hierarchical level.

[0062] Continuously tracking application performance indicators includes real-time monitoring of frame rate, and automatically adjusting rendering quality based on monitoring results, including automatically reducing the detail level of high-resolution models in the scene, or temporarily switching high-resolution small 3D models of non-core high-interaction objects to low-resolution small 3D models when the frame rate is detected to drop below a specified value.

[0063] If it detects that resource usage is approaching the system limit, it automatically reduces the rendering quality of low-interactivity objects, or hides the objects completely, until resource usage returns to a safe range.

[0064] A detailed supplement to the above: define the rules for inserting the prediction results into the hierarchical level, where if the prediction results show that the usage frequency of some objects exceeds the threshold, the volume and distance judgments can be directly bypassed, and the usage frequency and visual complexity judgments can be directly performed. If the prediction results show that the usage frequency of some objects is lower than the threshold, but the visual complexity is higher than the threshold, the volume, distance and usage frequency judgments can be skipped, and the visual complexity judgment can be directly performed. Other objects are judged from the beginning according to the normal process.

[0065] Automatically reduce the detail level of the high-resolution model in the scene. Currently, the present invention has a total of five detail levels, and the number of levels considered can be reduced according to actual conditions.

[0066] Multi-threaded loading and WebWorker technology enable the client engine to efficiently load and process model data in parallel, significantly shortening the loading time. Dynamic loading technology analyzes user behavior and perspective changes in real time, loads models that users may view in advance, reduces the delay time of model loading, and improves the user experience. Through the predicted results, unnecessary grading steps are directly bypassed, avoiding starting from scratch every time, greatly optimizing the rendering speed. The frustum intersection test and graded rendering strategy optimize the rendering process through reasonable screening and sorting, ensuring efficient use of system resources.

[0067] Example 2

[0068] Reference Figure 2 , which is an embodiment of the present invention, provides a system for preloading slices of industrial large scene models, characterized by comprising a 3D model preprocessing submodule, a compression and encryption module, a client engine module and a rendering module.

[0069] The 3D model preprocessing submodule is responsible for digital-analog separation, face reduction, texture compression and material merging of large-scene 3D models, and splitting the preprocessed 3D models into small 3D models.

[0070] The compression and encryption module is responsible for secondary compression of small three-dimensional models and encrypting the compressed models.

[0071] The client engine module is responsible for loading small 3D models in parallel through multi-threaded loading mode, using WebWorker technology for multi-threaded decryption and decompression processing, dynamically loading the required model files according to the user's actual needs and interactive behaviors, and implementing destruction operations according to specific needs. By analyzing the user's interactive behavior and perspective change trends, it predicts the area viewed by the user and loads related models in advance.

[0072] The rendering module is responsible for traversing all objects in the scene, calculating the maximum and minimum coordinates of each object's packaging box, obtaining the length, width, depth and volume, performing an intersection test based on the current camera's view cone and the object's bounding box information, removing objects outside the view cone, and grading objects based on volume, distance, frequency of use and visual complexity, and inserting the corresponding grading levels.

[0073] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0074] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in conjunction with such instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in conjunction with such instruction execution systems, devices or apparatuses.

[0075] More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be a paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a computer memory.

[0076] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0077] Example 3

[0078] In this embodiment, in order to verify the beneficial effects of the present invention, scientific demonstration is carried out through economic benefit calculation and simulation experiments. This embodiment experiments the existing traditional method and the method of this embodiment respectively.

[0079] In the construction of a 3D model of a factory area, the model covers a lot of details such as many buildings, equipment and pipelines, and its total data volume reaches 10GB, which makes it impossible to directly render and load it on the browser side. So we implemented the digital-analog separation operation on the model. Even so, the model size is still 2GB, and it still cannot be used directly. Subsequently, the model was further optimized. After a series of measures such as face reduction, texture compression and object merging, the model size was reduced to about 700 megabytes (MB). At this time, the browser can load and use it directly, but the waiting time is quite long. Users need 5 minutes to see the page. In the case of poor network, the waiting time will be longer, and the operation of the ordinary configuration computer after opening the page is extremely slow, making it difficult for users to use it normally.

[0080] To ensure smooth user experience, we further optimized the model, splitting the large model into several small models according to needs, and further compressed it. At the same time, we used the webWorker on the rendering engine to load it, and finally successfully reduced the time it takes for users to open the page to 5 seconds, and the total loading time to 1 minute and 20 seconds, but the problem of operation lag still exists.

[0081] In terms of rendering engine, we introduced a streaming loading mode, which can dynamically load and destroy objects according to user needs and interactions. On the other hand, by writing an occlusion culling algorithm, we achieved effective culling of objects outside the view frustum, and combined with our intelligent culling algorithm, we further culled objects within the view frustum. Finally, we successfully achieved the ability for ordinary computers to smoothly operate 3D models and reach the animation playback level. The specific implementation process is as follows: Figure 4 shown.

[0082] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present invention, which should all be included in the scope of the claims of the present invention.

Claims

1. A method for preloading slices of an industrial large scene model, characterized in that: include: Perform preprocessing operations on the 3D model of the large scene to obtain a small 3D model; Perform secondary compression and encryption on small 3D models; Load small 3D models through the client engine; The loading of the small three-dimensional model includes the client engine dynamically loading the required model file according to the actual needs and interactive behaviors of the user, and performing the destruction operation according to the specific needs; The dynamic loading includes analyzing the user's interaction log to divide the objects into low-interaction objects and high-interaction objects, predicting the area viewed by the user according to the user's perspective change trend, preloading the low-interaction objects with a low-resolution small 3D model, and preloading the high-interaction objects with a high-resolution small 3D model; The low-interaction objects are objects that only support clicking, and the high-interaction objects are objects that support dragging, scaling, and editing; The implementation of the destruction operation includes analyzing the user's interaction log. If there are low-interaction objects that are not used within a limited time, they will be automatically destroyed. Based on the analysis of the user's perspective change trend, if there are low-interaction objects that are not in the user's field of view, the low-interaction objects will be automatically destroyed. At the same time, high-interaction objects will be retained within a limited time. If they are still not used when the limited time comes, they will be automatically destroyed.

2. A method for preloading slices of an industrial large scene model as claimed in claim 1, characterized in that: The preprocessing operation includes separating the digital model from the analog model through an automated script, extracting design-related data, performing face reduction processing, texture compression, and material merging operations of the same object on the 3D model using a 3D model design software, and then dividing the 3D model into a small 3D model with a low resolution and a small 3D model with a high resolution through an automated script; The low-resolution small 3D model is a small 3D model with a texture resolution lower than 1024×1024 and a number of vertices and polygons equal to or less than a threshold. The high-resolution small 3D model is a small 3D model with a texture resolution greater than or equal to 1024×1024 and a number of vertices and polygons greater than a threshold.

3. A method for preloading slices of an industrial large scene model as claimed in claim 2, characterized in that: The secondary compression and encryption includes compressing the separated small three-dimensional models by using the Draco and Gzip algorithms, and encrypting them by using the encryption algorithm after compression.

4. A method for preloading slices of an industrial large scene model as claimed in claim 3, characterized in that: The client engine loads the small three-dimensional model in parallel through a multi-threaded loading mode, and performs multi-threaded decryption and decompression processing through WebWorker technology.

5. A method for preloading slices of an industrial large scene model as claimed in claim 4, characterized in that: After loading the small 3D model, the client engine traverses all highly interactive objects in the scene, and for each object, determines the maximum and minimum coordinates of each object packaging box, and obtains the length, width, and depth by calculation. The maximum coordinate is (max.x, max.y, max.z), and the minimum coordinate is (min.x, min.y, min.z); The length is expressed as max.x-min.x, the width is expressed as max.y-min.y, and the depth is expressed as max.z-min.z; Multiply the length, width and depth of each object's packaging box to get the volume of each object. Based on the calculated volume, sort all objects in descending order of volume and store them in the array arr. When the user performs an operation on the canvas, the program first performs an intersection test based on the current camera's view cone and the bounding box information of the object in the array arr. If the object is completely outside the view cone, the program performs a culling operation, that is, the corresponding object is not included in the rendering queue; If the object is inside the viewing cone, the volume size is further determined, including if the size of the object is greater than the set threshold, the object is directly rendered; if the volume of the object is less than or equal to the set threshold, the distance between the current camera and the corresponding object is continued to be calculated; if the distance between the camera and the corresponding object is less than the culling distance, the object is directly rendered; if the calculated distance is greater than or equal to the set culling distance, the object usage frequency is continued to be calculated; if the object usage frequency is greater than or equal to the set frequency, the object is directly rendered; if the object usage frequency is less than the set frequency, the visual complexity of the object is determined; if the visual complexity is less than the set threshold, the object is culled; if the visual complexity is greater than or equal to the set threshold, the object is rendered; The remaining objects after the screening and culling operations are rendered and the results are presented to the user.

6. A method for preloading slices of an industrial large scene model as claimed in claim 5, characterized in that: The preloading using the small low-resolution 3D model is performed only when the user's viewing angle changes; The method of pre-loading a high-resolution small 3D model is to pre-load a small 3D model in a prediction area, asynchronously load the model of the prediction area into a client cache, pre-calculate the volume, distance, usage frequency and visual complexity of each high-interaction object, make a preliminary judgment on the model of the prediction area, and insert it into the corresponding hierarchical level.

7. A system using a method for preloading slices of an industrial large scene model as claimed in any one of claims 1 to 6, characterized in that: It includes 3D model preprocessing submodule, compression and encryption module, client engine module and rendering module; The 3D model preprocessing submodule is responsible for performing digital-analog separation, face reduction, texture compression and material merging on the 3D model of the large scene, and dividing the preprocessed 3D model into small 3D models; The compression and encryption module is responsible for performing secondary compression processing on the small three-dimensional model and encrypting the compressed model; The client engine module is responsible for loading small 3D models in parallel through a multi-threaded loading mode, using WebWorker technology for multi-threaded decryption and decompression processing, dynamically loading the required model files according to the actual needs and interactive behaviors of users, and performing destruction operations according to specific needs. By analyzing the interactive behaviors and perspective change trends of users, the user's viewing area is predicted, and relevant models are loaded in advance. The rendering module is responsible for traversing all objects in the scene, calculating the maximum and minimum coordinates of the packaging box of each object, obtaining the length, width, depth and volume, performing an intersection test based on the current camera's view cone and the object's bounding box information, removing objects outside the view cone, and grading and judging the objects based on volume, distance, frequency of use and visual complexity, and inserting corresponding grading levels.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the processor implements the steps of a method for preloading slices of an industrial large scene model as described in any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of a method for preloading slices of an industrial large scene model as described in any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Digital twinning method and system based on 3D model matching

    CN113822993A

  • Three-dimensional model reconstruction method and device, equipment, storage medium and program product

    CN116246023A