Model rendering methods, devices, equipment and storage media

CN116129021BActive Publication Date: 2026-08-11BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-31
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0004]但是,瓦片模型的生产都是基于引擎外的工作流(例如3dmax、maya、以及houdini等),研发人员需要多次地将瓦片模型导入引擎,对大规模的瓦片模型来说(例如从城市路网三维模型拆分下来的瓦片模型),需要的时间与资源成本较大,并且一旦中途出现错误,只能选择重新导入,影响渲染效率

Benefits of technology

[0011] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the method described in the first aspect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116129021B_ABST
    Figure CN116129021B_ABST
Patent Text Reader

Abstract

This disclosure provides a model rendering method, apparatus, device, and storage medium, relating to the field of computer technology, specifically to the field of model rendering technology, and applicable to scenarios such as autonomous driving simulation and map rendering. The specific implementation includes: obtaining a set of model files and a set of point cloud files; one or more model files in the model file set corresponding one-to-one with one or more point cloud files in the point cloud file set; obtaining one or more tile models based on the attribute information of the corresponding model files recorded in the point cloud files; and rendering the tile models to obtain a 3D model. This disclosure can improve the efficiency of re-rendering large-scale 3D models after decomposition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, specifically to the field of model rendering technology, and can be applied to scenarios such as autonomous driving simulation and map rendering. In particular, it relates to a model rendering method, apparatus, device, and storage medium. Background Technology

[0002] Large-scale 3D models (such as 3D models of urban road networks) face performance bottlenecks in data migration and management.

[0003] To overcome performance bottlenecks, large-scale 3D models can typically be tiled, broken down into multiple smaller tile models. These smaller tile models are then re-rendered on a (virtual) engine (such as a game engine or rendering engine) to reproduce the large-scale 3D model, thus completing the migration and management of large-scale 3D models.

[0004] However, the production of tile models is based on workflows outside the engine (such as 3ds Max, Maya, and Houdini). Developers need to import the tile models into the engine multiple times. For large-scale tile models (such as tile models split from a 3D urban road network model), the time and resource costs are relatively high. Furthermore, if an error occurs midway, the only option is to re-import, which affects rendering efficiency. Summary of the Invention

[0005] This disclosure provides a model rendering method, apparatus, device, and storage medium that can improve the efficiency of re-rendering large-scale 3D models after splitting.

[0006] According to a first aspect of this disclosure, a model rendering method is provided, the method comprising:

[0007] Obtain a model file set and a point cloud file set; the model file set includes one or more model files; the point cloud file set includes one or more point cloud files; one or more point cloud files correspond one-to-one with one or more model files; each point cloud file in the one or more point cloud files is used to record the attribute information of the model file corresponding to that point cloud file; based on one or more model files in the model file set and one or more point cloud files in the point cloud file set, obtain one or more tile models that correspond one-to-one with one or more model files; render based on one or more tile models to obtain a 3D model.

[0008] The model rendering method disclosed herein can use point cloud files to record the attribute information of model files, and generate tile models based on point cloud files and model files. This allows for convenient reproduction of tile models based on point cloud files, facilitating subsequent stitching of each tile model based on the reproduced tile models. Compared with the current approach where researchers rely on manual experience to import model files, this method improves the rendering efficiency of 3D models.

[0009] According to a second aspect of this disclosure, a model rendering apparatus is provided, comprising: an acquisition unit for acquiring a model file set and a point cloud file set; the model file set includes one or more model files; the point cloud file set includes one or more point cloud files; the one or more point cloud files correspond one-to-one with the one or more model files; each point cloud file in the one or more point cloud files is used to record attribute information of the model file corresponding to the point cloud file; a processing unit for obtaining one or more tile models corresponding one-to-one with the one or more model files based on the one or more model files in the model file set and the one or more point cloud files in the point cloud file set; and rendering based on the one or more tile models to obtain a three-dimensional model.

[0010] According to a third aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method as described in the first aspect.

[0011] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the method described in the first aspect.

[0012] According to a fifth aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method according to the first aspect.

[0013] The beneficial effects of the second to fifth aspects can be referred to in the first aspect above, and will not be repeated here.

[0014] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0015] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0016] Figure 1A schematic flowchart of the model rendering method provided in the embodiments of this disclosure;

[0017] Figure 2 Another flowchart illustrating the model rendering method provided in this embodiment of the disclosure;

[0018] Figure 3 Another flowchart illustrating the model rendering method provided in this embodiment of the disclosure;

[0019] Figure 4 Another flowchart illustrating the model rendering method provided in this embodiment of the disclosure;

[0020] Figure 5 Another flowchart illustrating the model rendering method provided in this embodiment of the disclosure;

[0021] Figure 6 A schematic diagram of the composition of the model rendering apparatus provided in the embodiments of this disclosure;

[0022] Figure 7 This is a schematic diagram illustrating the composition of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0023] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0024] It should be understood that in the embodiments of this disclosure, the character " / " generally indicates that the preceding and following objects are in an "or" relationship. The terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated.

[0025] In scenarios such as autonomous driving simulation and map rendering, large-scale 3D models are typically migrated and managed. For example, in an autonomous driving simulation scenario, it is necessary to migrate a 3D model of the urban road network to the autonomous driving simulation system so that the system can learn from real urban roads.

[0026] Large-scale 3D models present performance bottlenecks in data migration and management. To overcome these bottlenecks, large-scale 3D models can typically be tiled, breaking them down into smaller tile models. These smaller tile models are then re-rendered on the engine to reproduce the large-scale 3D model, thus completing the migration and management of large-scale 3D models.

[0027] However, the production of tile models is based on workflows outside the engine (such as 3ds Max, Maya, and Houdini). Developers need to import the tile models into the engine multiple times. For large-scale tile models (such as tile models split from a 3D urban road network model), the time and resource costs are relatively high. Furthermore, if an error occurs midway, the only option is to re-import, which affects rendering efficiency.

[0028] Based on this, the present disclosure provides a model rendering method, apparatus, device and storage medium that can record the attribute information of the model file through the point cloud file and reproduce the tile model based on the point cloud file, thereby improving rendering efficiency.

[0029] The execution entity of the model rendering method provided in this disclosure can be a computer or server, or other electronic devices with data processing capabilities; alternatively, the execution entity can be a processor (e.g., a central processing unit (CPU)) in the aforementioned electronic devices; furthermore, the execution entity can be an application (APP) installed in the aforementioned electronic devices that provides model rendering functionality; or, the execution entity can be a functional module or unit with model rendering functionality in the aforementioned electronic devices, etc. No limitation is placed on the execution entity of this method.

[0030] In some embodiments, the server can be a single server, or it can be a server cluster consisting of multiple servers. In some embodiments, the server cluster can also be a distributed cluster. This disclosure does not limit the specific implementation of the server.

[0031] The rendering method for this model will be illustrated below with reference to the accompanying drawings.

[0032] Figure 1 This is a flowchart illustrating the model rendering method provided in an embodiment of this disclosure. Figure 1 As shown, the method may include:

[0033] S101. Obtain the model file set and point cloud file set.

[0034] The model file set includes one or more model files. The point cloud file set includes one or more point cloud files. Each point cloud file corresponds one-to-one with one or more model files. Each point cloud file records the attribute information of the corresponding model file. The specific content of the attribute information can be found in the following embodiments, and will not be repeated here.

[0035] Optionally, the model file set can be exported from any workflow such as 3ds Max, Maya, and Houdini. Taking the Houdini workflow as an example, the model files in the model file set can be .bgeo, bgeo.gz, or other formats. This disclosure does not impose any restrictions on this.

[0036] Optionally, the model file can be obtained by splitting the 3D model of the urban road network based on the dimensions of the road elements.

[0037] For example, the correspondence between model files in the model file set and point cloud files in the point cloud file set can be shown in Table 1 below:

[0038] Table 1

[0039] Model file 1 Point cloud file 1 Model file 2 Point cloud file 2 Model file 3 Point cloud file 3

[0040] As shown in Table 1, this table can include model file set items and point cloud file set items. The model file set item includes model file 1, model file 2, and model file 3. The point cloud file set item can include point cloud file 1, point cloud file 2, and point cloud file 3. There is a correspondence between model file 1 and point cloud file 1; a correspondence between model file 2 and point cloud file 2; and a correspondence between model file 3 and point cloud file 3.

[0041] In one possible implementation, taking the execution entity of the model rendering method provided in this disclosure as a first server as an example, the first server can use a communication interface to receive the model file set and point cloud file set obtained by the second server from the original 3D model decomposition from other electronic devices (such as the second server) through wired or wireless networks or intermediate storage media; or, the second server can also receive the model file set and point cloud file set input by the researchers through input / output interfaces.

[0042] S102. Based on one or more model files in the model file set and one or more point cloud files in the point cloud set, obtain one or more tile models that correspond one-to-one with one or more model files.

[0043] The specific process of S102 can be referred to in the following embodiments, and will not be repeated here.

[0044] S103. Render based on one or more tile models to obtain a three-dimensional model.

[0045] As mentioned above, the model file set can be obtained by splitting the original 3D model. Therefore, the 3D model rendered in S103 can be understood as a reproduction model of the original 3D model.

[0046] For example, an engine can be used to render based on one or more tile models to obtain a 3D model.

[0047] The specific process of S103 can be referred to in the following embodiments, and will not be repeated here.

[0048] The model rendering method disclosed herein can use point cloud files to record the attribute information of model files, and generate tile models based on point cloud files and model files. This allows for convenient reproduction of tile models based on point cloud files, facilitating subsequent stitching of each tile model based on the reproduced tile models. Compared with the current approach where researchers rely on manual experience to import model files, this method improves the rendering efficiency of 3D models.

[0049] The following is a description of S102.

[0050] In some possible embodiments, the attribute information in the point cloud file includes position information, scaling information, and rotation information. The position information indicates the position of the tile model in the 3D model, the scaling information indicates the scaling factor of the tile model in the 3D model, and the rotation information indicates the rotation angle of the tile model in the 3D model. In this case, Figure 2 This is another schematic diagram of the model rendering method provided in an embodiment of this disclosure. For example... Figure 2 As shown, for any first model file in the model file set and the first point cloud file corresponding to the first model file, the above S102 can specifically include:

[0051] S1021. Based on the location information recorded in the first point cloud file, determine the position of the first tile model corresponding to the first model file in the three-dimensional model.

[0052] S1022. Based on the scaling information recorded in the first point cloud file, determine the scaling factor of the first tile model corresponding to the first model file in the 3D model.

[0053] S1023. Based on the rotation information recorded in the first point cloud file, determine the rotation angle of the first tile model corresponding to the first model file in the three-dimensional model.

[0054] S1024. Determine the first tile model based on the first model file, the position of the first tile model in the 3D model, the scaling factor, and the rotation angle.

[0055] Optionally, the attribute information may also include information such as the name of the model file and rendering information. The server can use the name of the model file as an index to traverse the set of point cloud files and determine the point cloud file that includes the name of the model file as the point cloud file corresponding to that model file.

[0056] It should be understood that in current rendering schemes, the split tile models all have a default world origin position (0, 0, 0), and cannot be automatically stitched back into the original model order. The model rendering method provided in this disclosure can use the position information, scaling information, and rotation information included in the attribute information of the point cloud file to reproduce the pose of the tile model in the original 3D model, so as to facilitate the final rendering of the 3D model and improve the rendering efficiency of the 3D model.

[0057] The following is a description of S103.

[0058] In some possible embodiments, the server can first initialize the obtained tile model to obtain model components adapted to the engine, and then render the model components to obtain a 3D model. In this case, Figure 3 This is another schematic diagram of the model rendering method provided in the embodiments of this disclosure, such as... Figure 3 As shown, the above S103 can specifically include:

[0059] S1031. According to preset rules, initialize one or more tile models to obtain one or more model components adapted to the rendering engine.

[0060] For example, the server can initialize one or more tile models according to preset rules to obtain one or more model components of the built-in types of the rendering engine.

[0061] For example, one or more model components may include any one or more of the following: static mesh components, instantiated static mesh components, and hierarchical instantiated mesh components.

[0062] In one possible implementation, the attribute information recorded in the point cloud file may also include the name of the tile model. In this case, S1031 above may specifically include the following two steps:

[0063] Step 1: Based on the name of the tile model recorded in any one of the point cloud files, index the tile model corresponding to that point cloud file.

[0064] Step 2: Initialize the tile model corresponding to any point cloud file according to preset rules. Optionally, before S1031, the server can receive preset rules input by the developers through the input / output interface.

[0065] S1032. Render one or more model components to obtain a 3D model.

[0066] S1032 can be referred to in the relevant technology, and will not be repeated here.

[0067] It should be understood that currently (e.g., Geographic Information System (GIS) vendors like Cesium) tile large-scale 3D models and provide cloud-based application programming interfaces (APIs). However, each tile model is a unique model, preventing the engine from optimizing it during rendering. Duplicate models only need to be rendered once, and the engine cannot create its own programmable components, such as Unreal Engine's Blueprints or Unity's Perfab. The model rendering method provided in this disclosure initializes the obtained tile models according to preset rules, resulting in model components adapted to the engine. This allows the engine to optimize the model components during rendering, thereby improving the rendering effect of the engine for each tile model.

[0068] Based on the understanding of the above embodiments, Figure 4 This is another schematic flowchart illustrating the model rendering method provided in this embodiment of the disclosure. Figure 4 As shown, the modeling pipeline can split the original 3D model and produce multiple model files. Figure 4 (Taking the .bgeo format as an example) and point cloud files that correspond one-to-one with multiple model files, the model files and point cloud files are imported into the engine, and multiple tile models are compiled and baked.

[0069] Based on the understanding of the above embodiments, Figure 5 This is another schematic flowchart illustrating the model rendering method provided in this embodiment of the disclosure. Figure 5 As shown, after obtaining multiple tile models, point cloud files and manually configured rule files can be input into the processing module of the engine. The processing module can find the tile models based on the point cloud files, initialize the tile models according to the preset rules in the rule files, obtain one or more model components adapted to the engine, and render the model components into 3D models.

[0070] The foregoing primarily describes the solutions provided by the embodiments of this disclosure from a methodological perspective. To achieve the aforementioned functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0071] In an exemplary embodiment, this disclosure also provides a model rendering apparatus that can be used to implement the model rendering method as described in the foregoing embodiments. Figure 6 This is a schematic diagram illustrating the composition of the model rendering apparatus provided in an embodiment of this disclosure. Figure 6 As shown, the device may include an acquisition unit 601 and a processing unit 602, which are connected together.

[0072] The acquisition unit 601 is used to acquire a model file set and a point cloud file set; the model file set includes one or more model files; the point cloud file set includes one or more point cloud files; the one or more point cloud files correspond one-to-one with one or more model files; each point cloud file in the one or more point cloud files is used to record the attribute information of the model file corresponding to that point cloud file.

[0073] The processing unit 602 is used to obtain one or more tile models corresponding one-to-one with one or more model files in the model file set and one or more point cloud files in the point cloud file set; and to render based on one or more tile models to obtain a three-dimensional model.

[0074] In some possible embodiments, the attribute information includes position information, scaling information, and rotation information; the position information is used to indicate the position of the tile model in the 3D model; the scaling information is used to indicate the scaling factor of the tile model in the 3D model; and the rotation information is used to indicate the rotation angle of the tile model in the 3D model.

[0075] In other possible embodiments, for any first model file in the model file set and the first point cloud file corresponding to the first model file, the processing unit 602 is specifically used to determine the position of the first tile model corresponding to the first model file in the three-dimensional model based on the position information recorded in the first point cloud file; determine the scaling factor of the first tile model corresponding to the first model file in the three-dimensional model based on the scaling information recorded in the first point cloud file; determine the rotation angle of the first tile model corresponding to the first model file in the three-dimensional model based on the rotation information recorded in the first point cloud file; and determine the first tile model based on the position, scaling factor, and rotation angle of the first model file, the first tile model in the three-dimensional model.

[0076] In some other possible embodiments, the processing unit 602 is specifically used to initialize one or more tile models according to preset rules to obtain one or more model components adapted to the rendering engine; one or more tile models correspond one-to-one with one or more model components; and render one or more model components to obtain a three-dimensional model.

[0077] In some other possible embodiments, the processing unit 602 is specifically used to index the tile model corresponding to any one point cloud file based on the name of the tile model recorded in any one of the point cloud files; and to initialize the tile model corresponding to any one point cloud file according to a preset rule.

[0078] In some other possible embodiments, one or more model components include any one or more of the following: static mesh component, instantiated static mesh component, and hierarchical instantiated mesh component.

[0079] It should be noted that, Figure 6 The division of units shown in this document is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. For example, two or more functions can be integrated into one processing unit. This disclosure does not limit this approach. The integrated unit described above can be implemented in hardware or as a software functional module.

[0080] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0081] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0082] In an exemplary embodiment, an electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method described in the above embodiments. The electronic device may be the computer or server described above.

[0083] In an exemplary embodiment, the readable storage medium may be a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method described in the above embodiments.

[0084] In an exemplary embodiment, the computer program product includes a computer program that, when executed by a processor, implements the method described in the above embodiments.

[0085] Figure 7A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0086] like Figure 7 As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. The RAM 703 may also store various programs and data required for the operation of the device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0087] Multiple components in electronic device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of displays, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows electronic device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0088] The computing unit 701 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as the model rendering method. For example, in some embodiments, the model rendering method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of the model rendering method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the model rendering method by any other suitable means (e.g., by means of firmware).

[0089] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0090] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0091] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0092] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0093] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0094] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0095] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0096] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A model rendering method, characterized by, The method includes: The original 3D model is split to obtain a model file set and a point cloud file set; the model file set includes one or more model files; the point cloud file set includes one or more point cloud files; the one or more point cloud files correspond one-to-one with the one or more model files; each point cloud file in the one or more point cloud files is used to record the attribute information of the model file corresponding to that point cloud file; the attribute information includes position information, scaling information, rotation information, and the name of the tile model, and the name of the tile model is used to index the tile model corresponding to the point cloud file; Based on one or more model files in the model file set and one or more point cloud files in the point cloud file set, one or more tile models corresponding one-to-one with the one or more model files are obtained. According to preset rules, the one or more tile models are initialized to obtain one or more model components adapted to the rendering engine; the one or more tile models correspond one-to-one with the one or more model components; the one or more model components include any one or more of the following: static mesh components, instantiated static mesh components, and hierarchical instantiated mesh components; Render the one or more model components to obtain a 3D model as a reproduction model of the original 3D model; The initialization of the one or more tile models according to preset rules includes: Based on the name of the tile model recorded in any one of the one or more point cloud files, index the tile model corresponding to the point cloud file; initialize the tile model corresponding to the point cloud file according to the preset rules.

2. The method of claim 1, wherein, The position information is used to indicate the position of the tile model in the 3D model; the scaling information is used to indicate the scaling factor of the tile model in the 3D model; and the rotation information is used to indicate the rotation angle of the tile model in the 3D model.

3. The method of claim 2, wherein, For any first model file in the model file set and the first point cloud file corresponding to the first model file, the step of obtaining one or more tile models corresponding one-to-one with the one or more model files in the model file set and the one or more point cloud files in the point cloud file set includes: Based on the location information recorded in the first point cloud file, the position of the first tile model corresponding to the first model file in the three-dimensional model is determined; Based on the scaling information recorded in the first point cloud file, determine the scaling factor of the first tile model corresponding to the first model file in the three-dimensional model; Based on the rotation information recorded in the first point cloud file, determine the rotation angle of the first tile model corresponding to the first model file in the three-dimensional model; The first tile model is determined based on the first model file, the position of the first tile model in the 3D model, the scaling factor, and the rotation angle.

4. A model rendering apparatus, characterized by comprising: The device includes: An acquisition unit is used to split the original 3D model to obtain a model file set and a point cloud file set; the model file set includes one or more model files; the point cloud file set includes one or more point cloud files; the one or more point cloud files correspond one-to-one with the one or more model files; each point cloud file in the one or more point cloud files is used to record the attribute information of the model file corresponding to that point cloud file; the attribute information includes position information, scaling information, rotation information, and the name of the tile model, and the name of the tile model is used to index the tile model corresponding to the point cloud file; The processing unit is configured to: obtain one or more tile models corresponding one-to-one with the one or more model files in the model file set and one or more point cloud files in the point cloud file set; initialize the one or more tile models according to preset rules to obtain one or more model components adapted to the rendering engine; the one or more tile models correspond one-to-one with the one or more model components; the one or more model components include any one or more of the following: static mesh components, instantiated static mesh components, and hierarchical instantiated mesh components; render the one or more model components to obtain a 3D model as a reproduction model of the original 3D model; The processing unit is specifically used to index the tile model corresponding to any one of the point cloud files based on the name of the tile model recorded in any one of the one or more point cloud files; and to initialize the tile model corresponding to any one of the point cloud files according to the preset rules.

5. The apparatus of claim 4, wherein, The position information is used to indicate the position of the tile model in the 3D model; the scaling information is used to indicate the scaling factor of the tile model in the 3D model; and the rotation information is used to indicate the rotation angle of the tile model in the 3D model.

6. The apparatus of claim 5, wherein, For any first model file in the model file set and the first point cloud file corresponding to the first model file, the processing unit is specifically used to determine the position of the first tile model corresponding to the first model file in the three-dimensional model based on the position information recorded in the first point cloud file; determine the scaling factor of the first tile model corresponding to the first model file in the three-dimensional model based on the scaling information recorded in the first point cloud file; and determine the rotation angle of the first tile model corresponding to the first model file in the three-dimensional model based on the rotation information recorded in the first point cloud file. The first tile model is determined based on the first model file, the position of the first tile model in the 3D model, the scaling factor, and the rotation angle.

7. An electronic device, comprising: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method according to any one of claims 1-3.

8. A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method according to any one of claims 1-3.

9. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-3.

Citation Information

Patent Citations

  • Model rendering method and device, equipment and storage medium

    CN111402390A