Model making and developing method and device based on unreal engine, medium and product

By utilizing the vector cross product algorithm and Unreal Engine's custom rendering depth feature, the problem of low efficiency in 3D modeling of large-scale GIS data is solved, enabling efficient and accurate 3D model generation and dynamic material control, which is applicable to fields such as urban planning, architectural design, and game development.

CN121353571APending Publication Date: 2026-01-16TUS CLOUD CONTROL (BEIJING) TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511665175.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-13
Publication Date
2026-01-16

AI Technical Summary

Technical Problem

Existing 3D modeling methods are inefficient when processing large-scale GIS data and struggle to achieve accurate model generation and dynamic material control. Traditional methods rely on manual modeling or specialized plugins, which have limitations in efficiency, accuracy, and scalability.

Method used

The vector cross product algorithm is used to extract drawable points from GIS location data. Combined with the Unreal Engine's custom rendering depth function, materials are dynamically controlled and secondary processing is performed to achieve efficient and accurate 3D model generation.

Benefits of technology

It significantly improves modeling efficiency and accuracy, optimizes material rendering effects, and is suitable for fields such as urban planning, architectural design, and game development.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121353571A_ABST
    Figure CN121353571A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to the technical field of model making, and discloses a model making and developing method and device based on an unreal engine, a medium and a product. The method comprises the following steps: acquiring GIS location data, wherein the GIS location data comprises location edge position coordinates and GIS data for depth rendering; using a vector cross multiplication algorithm to extract drawable point locations in the GIS location data and compiling the drawable point locations into groups; making a location model at a corresponding position in the scene through the data set capable of drawing the point location, and dynamically controlling the material of the location model; and dynamically carrying out secondary processing on the location model according to the positions of different data sequences by using a user-defined rendering depth function in an unreal engine. The method can be at least used for solving the problem of low virtual modeling efficiency of large-scale GIS zone bit data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of model making technology, and in particular to a model making development method, equipment, medium and product based on Unreal Engine. Background Technology

[0002] With the rapid development of modern computer graphics and virtual reality technologies, the construction of virtual environments and 3D modeling techniques have become core requirements for many industries. Especially in urban planning, Geographic Information Systems (GIS), and game development, efficiently combining actual geographical locations with virtual environment models has become a crucial technical challenge. Traditional 3D modeling methods typically require significant manual intervention and complex rendering calculations, leading to low modeling efficiency. Furthermore, in the production of large-scale models, issues such as accuracy loss and data processing bottlenecks may arise.

[0003] With the widespread adoption of virtual engines (such as Unreal Engine), 3D modeling and rendering technologies have been greatly improved. Unreal Engine offers powerful graphics rendering capabilities and real-time interactive support, making it a primary tool for developing 3D virtual worlds and scenes. However, despite Unreal Engine's rich rendering and modeling capabilities, effectively converting GIS location data into operable 3D models within virtual scenes remains a technical challenge. Existing solutions often rely on manual modeling or specialized plugins, methods which have limitations in terms of efficiency, accuracy, and scalability.

[0004] To better meet the needs of practical applications, especially when processing large-scale GIS data, how to automatically and accurately generate 3D models of geographic regions and dynamically control their materials using advanced algorithms and virtual engine rendering capabilities has become a pressing issue in the industry. Current technologies not only face challenges related to data complexity and large processing volumes, but also need to address how to improve modeling efficiency and real-time rendering while maintaining accuracy. Summary of the Invention

[0005] One objective of this application is to provide a model creation and development method, device, medium, and product based on Unreal Engine, at least to address the low efficiency of virtual modeling of large-scale GIS location data.

[0006] To achieve the above objectives, some embodiments of this application provide the following aspects:

[0007] In a first aspect, some embodiments of this application also provide a model creation and development method based on Unreal Engine, including: acquiring GIS location data, the GIS location data including location edge coordinates and GIS data for depth rendering; using a vector cross product algorithm to extract drawable points from the GIS location data and group them; creating a location model at the corresponding location in the scene using the data group of drawable points, and dynamically controlling the material of the location model; and using the custom rendering depth function in Unreal Engine to dynamically perform secondary processing on the location model according to the location of different data sequences.

[0008] Secondly, some embodiments of this application also provide an electronic device, the electronic device comprising: one or more processors; and a memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method described above.

[0009] Thirdly, some embodiments of this application also provide a computer-readable medium having computer program instructions stored thereon, which can be executed by a processor to implement the method described above.

[0010] Fourthly, some embodiments of this application also provide a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the method described above.

[0011] Compared with related technologies, the model creation and development method based on Unreal Engine provided in this application, by introducing techniques such as vector cross product algorithm, GIS data cleaning, and dynamic material control, can effectively process large-scale GIS location data, automatically generate accurate 3D models, and perform efficient rendering in a virtual environment. This significantly improves modeling efficiency, addresses the problems of traditional modeling methods when dealing with complex geographic data, and has broad application prospects, applicable not only to urban planning, architectural design, and game development. Attached Figure Description

[0012] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.

[0013] Figure 1 This is a flowchart illustrating a model creation and development method based on Unreal Engine according to an embodiment of this application.

[0014] Figure 2 This is a schematic diagram illustrating the effect of model rendering according to an embodiment of this application;

[0015] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0016] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0017] The following terms are used in this document.

[0018] Unreal Engine is a complete game development platform for next-generation consoles and PCs, providing game developers with a wealth of core technologies, data generation tools, and basic support.

[0019] Post-process volume: It can be used for color modulation, special effects mixing, film effects processing during video output, or lens focus adjustment when outputting a single frame photo. It is a very special volume that can be placed anywhere in the scene.

[0020] Cross product: A vector that describes the plane defined by two vectors, with the direction being the same as the normal to the plane and the length equal to the area of ​​the parallelogram defined by the two vectors.

[0021] Procedural Mesh: A component that can generate faces from massive amounts of data at once. It generates faces from all inputs by combining triangles.

[0022] Custom Depth: In Unreal Engine, this also represents the pixel depth being rendered, but the pixel depth of the object will be stored separately in a separate buffer in the neural network model.

[0023] In the digital twin industry, real-time data processing and production are crucial to the twin effect. Traditional digital twin rendering is usually pre-rendered, requiring the model to be displayed to be made in advance. It generally relies on data and audio-visual materials provided by the interface for 3D modeling and production. Each change or update of the model depends on packaging technology, but this cannot meet the needs of real-time modeling.

[0024] Existing models and scene creation are typically not updatable in real time. While these scene creations are effective in a mode that does not rely on data updates, these techniques face several major challenges:

[0025] Model immutability: Traditional models (3D modeling) are mostly created based on scanning and modeling. Although they can maintain a certain level of detail, they cannot be updated or new models created for the scene based on the data, especially when the data is frequently updated.

[0026] No secondary model processing: A completed model cannot be updated based on upstream data for secondary processing. This may result in errors in the new model and poor performance. In addition, traditionally processed models also rely on pre-made model libraries.

[0027] Traditional materials have insufficient adaptability: Traditional materials can only achieve different effects based on factors such as lighting or self-illumination in the scene. On this basis, they cannot achieve scene segmentation rendering or multi-layer segmentation.

[0028] First Embodiment

[0029] The first embodiment of this application relates to a model creation and development method based on Unreal Engine. For example... Figure 1 As shown, the method may include the following steps:

[0030] S101, Obtain GIS location data, the GIS location data including the coordinates of the location edge and GIS data rendered in depth;

[0031] S102, Use the vector cross product algorithm to extract the plottable points in the GIS location data and group them;

[0032] S103, using the data set of the drawable points, create a location model at the corresponding position in the scene, and dynamically control the material of the location model;

[0033] S104. Using the custom rendering depth function in Unreal Engine, the location model is dynamically processed secondaryly according to the position of different data sequences.

[0034] The following sections will provide a detailed explanation of each of the above steps.

[0035] First, GIS location data needs to be acquired. This data consists of two main parts: the coordinates of the geographical boundaries and the GIS data used for depth rendering. The geographical boundary coordinates refer to the boundary information of the geographic area, typically a series of latitude and longitude coordinates representing the spatial location of the area. The GIS data for depth rendering includes ground elevation, terrain, buildings, and other geographic information related to 3D modeling. This data can be obtained from public geographic information platforms or specific GIS data services.

[0036] After acquiring the GIS location data, the next step is to use the cross product algorithm to extract points that can be used for drawing and organize them into data groups. The cross product algorithm, through mathematical calculations, can determine which points in a continuous GIS data set are valid and form drawable point groups. For example, when processing boundary data, it can determine whether a point should be included in the final drawing data based on its relative position. By performing a cross product operation on continuous points, the algorithm checks the geometric relationships between points to ensure that the selected points can form a valid triangular mesh. For a continuous sequence of data points, the algorithm calculates the positional relationships of each group of points one by one, ultimately selecting drawable points that meet the criteria to form data groups.

[0037] Next, using the extracted drawable point data sets, location models are created at the corresponding locations in the virtual scene. After the model is built, its materials need to be dynamically controlled. This is achieved by assigning specific material properties to the model and adjusting them in real time according to the scene requirements. Material control includes, but is not limited to, color, texture, transparency, and reflection effects, which can present different effects at different rendering depths, thus allowing the virtual model to better match the geographical environment of the real world.

[0038] Finally, the location model is further processed using Unreal Engine's custom rendering depth feature. By setting different data sequence positions and rendering parameters, depth optimization can be performed on the model. For example, the model surface can be finely processed based on the height information of different geographic data points, thereby achieving a more realistic rendering effect.

[0039] The custom rendering depth feature not only allows users to adjust the display order of models but also controls their rendering depth, resulting in clearer terrain and building structures in complex scenes. This feature enables users to fine-tune models and optimize rendering effects according to their specific needs.

[0040] It is readily apparent that, compared to related technologies, the solution provided in this application acquires GIS location data, extracts and assembles drawable points using a vector cross product algorithm, dynamically creates a location model in a virtual environment, and further processes the model using the custom rendering depth function provided by Unreal Engine, thereby achieving efficient and accurate 3D modeling and dynamic material control. By combining GIS data processing with the rendering capabilities of the virtual engine, the efficiency and accuracy of model creation can be effectively improved, while optimizing material rendering effects and meeting the needs of large-scale data processing.

[0041] Second Embodiment

[0042] The second embodiment of this application relates to a model creation and development method based on Unreal Engine. The second embodiment is an improvement upon the first embodiment, specifically in that:

[0043] The GIS location data is cleaned to remove nearly overlapping or erroneous data points.

[0044] The purpose of data preprocessing is to ensure that accurate and usable data points are extracted from the original input GIS location data, and to remove redundant or invalid data, so as to lay the foundation for subsequent 3D model creation and scene construction.

[0045] First, collect all relevant GIS location data. This data includes coordinates of the location's boundaries (such as latitude and longitude information) and other GIS data used for depth rendering and secondary model processing. Location boundary coordinates typically consist of multiple sets of latitude and longitude data, identifying the spatial boundaries of the geographic area. The GIS data used for rendering may include terrain information (such as altitude), building distribution, road layout, etc.

[0046] The collected GIS data is cleaned to remove erroneous, inconsistent, duplicate, or invalid data points. Data cleaning mainly includes the following categories: removing duplicate points: For some nearly overlapping coordinate points, it is necessary to determine whether these points are real geographic feature points. If duplicate points or extremely close points are caused by sensor errors, data recording errors, etc., they should be removed; removing data points with excessive deviations: In some cases, the acquisition of GIS data may be affected by noise, causing some data points to be abnormal. For example, the coordinates of some data points may suddenly jump significantly (such as jumping from the normal range of latitude and longitude to invalid coordinates). These abnormal data points should also be deleted or corrected; error correction: If some points in the data have significant deviations due to sensor failure or acquisition errors, these erroneous data can be filled or corrected through interpolation algorithms or other repair methods.

[0047] Suppose we have the following sequence of GIS data points: (34.0522, -118.2437), (34.0523, -118.2438), (34.0524, -118.2439), (0, 0), (34.0525, -118.2440). In this sequence, the first few points ((34.0522, -118.2437), (34.0523, -118.2438), (34.0524, -118.2439)) are very close, forming a continuous boundary point of a region. The coordinates of (0, 0) are clearly incorrect, typically occurring when data is lost or sensors malfunction. Therefore, we can determine that point (0, 0) is an outlier and needs to be removed. Alternatively, a preset distance threshold can be used (e.g., points exceeding a certain distance are considered erroneous data), and outliers and duplicates are removed from the data point sequence. The valid data points and data point sequences after data cleaning and processing are then used for subsequent 3D model construction and rendering.

[0048] Extracting and grouping plottable points from the GIS location data includes: extracting valid data points and dividing them into several triangles based on a continuous sequence of data points in the GIS location data; arranging the triangles into an array and storing and sorting the plottable points.

[0049] Extract data points that conform to the rules from a continuous data point sequence and divide them into several triangles. Then, use the divided triangles to assemble a new model. Since any model or surface can be composed of n triangles, and the points of each triangle are points in the data sequence, arrange the extracted triangles into an array and store the point data in a sorted manner.

[0050] The vector cross product algorithm includes the following steps: Let the current point data be P(t), and the data of any point be P(x). The generated triangle is determined by the following formula:

[0051] (|(P(t)-P(x))·((P(t-1)-P(x))|+|(P(t+1)-P(x))·((P(t-1(-P(x))|+|( P((t)-P(x))·((P(t+1)-P(x))|)-|((P(t)-P(t-1))·(P(t+1)-P(t-1))|>0;

[0052] When the value is greater than 0, a triangle array is formed by combining the previous point, the current point, and the next point.

[0053] After extracting the triangles that conform to the rules, these triangles are arranged according to certain rules to assemble a complete model. Each triangle represents a part of the model's surface, and by combining these triangles, the shape of the target model can be accurately reproduced.

[0054] The extracted triangles are arranged sequentially into an array or linked list, and each triangle is assigned a unique number. These numbers not only help with subsequent operations (such as collision detection and texture mapping) but also improve the efficiency of mesh management and searching. The point data of each triangle is stored in a sorted data structure, which ensures that each triangle can accurately share edges with adjacent triangles, forming a seamless surface.

[0055] The connection relationships between triangles can be determined using normal vectors, ensuring a smooth and seamless spliced ​​triangular mesh. After splicing, further optimization of the mesh is usually required, such as merging adjacent triangles to reduce the number of redundant triangles, or adjusting the vertex positions of the triangles to improve rendering performance.

[0056] Creating a location model in the scene using the data set of drawable points includes: creating the model using the Procedural Mesh component; and dynamically drawing the data set of drawable points using the Create Mesh Section.

[0057] The Procedural Mesh component is a tool in Unreal Engine used for dynamically generating and managing meshes. It allows developers to automatically build meshes based on code or data without manually creating each face. For model generation based on GIS data, the Procedural Mesh component can automatically create mesh structures based on provided point data, enabling developers to handle and render complex scenes more flexibly.

[0058] Drawable points extracted from GIS data are stored as data sets. These points represent the physical locations of geographic information and are used to construct the mesh of the location model. A Procedural Mesh Component instance is created and added to the corresponding Actor in the scene. The stored drawable point data is passed to the Procedural Mesh component. The Procedural Mesh organizes these points into vertices and generates a triangular mesh by calculating the connections between the vertices. After the mesh is generated, the Create Mesh Section function is called to dynamically draw each part of the model based on the given point data. These parts can include region boundaries, different terrain features, etc. The Create Mesh Section method generates the corresponding mesh part by accepting parameters such as a vertex array and a triangle index array. This method can automatically connect vertices based on the provided point data to form a triangular mesh, and these triangles make up the final location model. During the model drawing process, the mesh content can be dynamically updated, and the mesh details can be adjusted according to different scene requirements.

[0059] By introducing the Procedural framework, the point information processed in the previous layer can be used to generate models, render the processed data set into a visual model, and assign the correct dynamic materials to the model, so that the scene can generate models based on the output data set.

[0060] Dynamic control of the material of the location model includes: grouping the created location model, assigning the material controlled by the rendering depth to the location model, and displaying it at the corresponding position.

[0061] After the model is created, the next step is to assign it appropriate materials. Material control not only affects the model's appearance but can also be dynamically adjusted according to different needs in the scene. By controlling the rendering depth, the model's material parameters can be changed in real time to achieve more refined effects.

[0062] Once a location model is created, it can be divided into different regions or parts. Each region may have different materials, so it's necessary to group the different parts of the model and assign different materials to them. The purpose of grouping is to allow the rendering engine to more easily manage and process the material application for each part. After grouping, we can flexibly assign different materials to each group.

[0063] Use Unreal Engine's Material Instance feature to dynamically control the materials of your model. By creating Dynamic Material Instances, you can modify material parameters (such as color, reflectivity, and transparency) at runtime based on scene conditions. Apply these dynamic materials to the appropriate parts of the model. Different material parameters can be set for different model areas to achieve more complex and detailed rendering effects. Through rendering depth control, you can also achieve depth variations in the materials, such as dynamically adjusting the model's depth rendering effect based on its position in the scene, camera viewpoint, or other conditions.

[0064] After the location model's materials and rendering effects are set, it is displayed at the corresponding location in the virtual scene. At this point, the model not only has a precise geographical location and appearance, but also presents rich visual effects based on the dynamic changes of the materials.

[0065] The secondary processing of the location model based on the position of different data sequences includes: developing a material rendering depth function through a virtual engine and setting dynamic material parameters; assigning the dynamic material parameters to the model that needs to be changed to generate a dynamic material instance; and assigning values ​​to the underlying model based on the dynamic material instance and the position and sequence of different sequence points to perform secondary processing on the location model that needs to be changed.

[0066] By utilizing Unreal Engine's Custom Depth, the model drawn based on data can be modified further, allowing for segmented rendering within the scene. The model is also layered, enabling further modifications without affecting other effects. The result is as follows. Figure 2 As shown, the configuration of rendering depth (CustomDepth), the usage of materials, and the configuration and application of Unreal Engine rendering can be applied to the model while maintaining the scene effect.

[0067] Material rendering depth refers to controlling the depth information of a model within a scene, allowing material effects to change in real time based on the model's position, distance, or other conditions. This feature allows for dynamic adjustments to the material appearance of a model during the rendering process, based on the needs of the scene.

[0068] First, a custom rendering depth controller needs to be developed, using Unreal Engine's material editor to control the rendering of depth information. This controller can calculate the rendering depth of the model from different viewpoints based on the depth map, thus affecting the rendering effect of materials. The rendering depth controller will adjust at different depths according to different material properties (such as color, transparency, reflectivity, etc.). For example, areas with closer depth may appear sharper, while areas with farther depth may appear blurry or transparent.

[0069] During rendering, material properties can be dynamically modified to adapt to different rendering needs. By creating dynamic material instances, material parameters can be modified at runtime. Dynamic material instances allow material properties to be updated in real time without reloading the material, such as setting depth parameters, lighting intensity, and color adjustments.

[0070] By controlling the positions and sequences of different point sequences, the rendering of the underlying model can be dynamically controlled. This method allows developers to filter and display models of specific regions based on input point data and sequence information. The original model is filtered to select the parts that need modification. By passing the position and sequence number of the point sequences to the control function, the points to be processed can be dynamically selected, and specific rendering effects can be applied to them. These point sequences can represent specific regions or parts of the model under specific conditions, such as areas requiring depth rendering, redrawing, or material changes.

[0071] Based on the selected point sequence, a new model is generated using a corresponding algorithm. This is typically a local region model, representing a specific area or feature within the original large-scale model. These local models will then apply new material controls to achieve more refined secondary rendering effects.

[0072] After completing the filtering and local model generation, these models need to be overlaid on the original overall model and then displayed again. The core of this process is to apply the new filtered models to the scene, thereby achieving local updates without rebuilding the entire model.

[0073] The new model, generated based on the selected points, is overlaid onto the original location model. This can be done either by directly replacing parts of the original model with the new model, or by applying locally updated models to corresponding positions in the original model through layering. During this process, the rendering engine needs to adjust the display order of the models based on different depth information, camera perspective, and other factors to ensure correct visual effects.

[0074] To ensure that all secondary model modifications are correctly overridden, a rendering cube can be configured in the scene, serving as a container for all modified models. As a rendering area, the cube ensures that all locally updated models are overridden and displayed in the scene. The rendering cube dynamically updates all models it contains, ensuring visual consistency and avoiding display errors caused by inconsistent rendering order.

[0075] By developing a material rendering depth function and configuring dynamic material parameters, flexible material changes can be achieved according to different scene requirements. Furthermore, by controlling sequence points, fine-grained selection and secondary rendering can be performed on the original model. These methods, combined with rendering cube configuration, ensure that all secondary modifications to the model are effectively overridden, thus enabling secondary modifications and refined display based on the pre-made model. This method not only improves rendering efficiency but also provides higher-quality visual effects in the virtual environment.

[0076] It is not difficult to see that the model automation production and secondary optimization method based on Unreal Engine in this application embodiment can not limit the model's level of detail and style, so that the model is only visually differentiated and has no impact on other scene elements. This optimizes the processing pressure of multiple data segments on the GIS end, avoids further data processing, significantly reduces the production difficulty for different points and models, and can dynamically update the produced model in real time based on the data.

[0077] By using a set of data point sequences to create models, the previous limitation of only being able to use pre-made models as input is solved. Models can be dynamically and automatically created based on data and further developed. As can be seen from the actual results, the created models match the real map locations correctly, and the style and shape of the models also meet the data requirements. Even very close points or very strange models can be created with high accuracy.

[0078] By combining Unreal Engine's dynamic materials and rendering depth, controllable rendering depth materials are created, allowing models to be dynamically layered in the display effect. Combining dynamic materials and rendering depth improves the plasticity of model materials, enabling the creation of models of different shapes based on different input data, and then automatically separating or removing certain parts of the model as needed. This solves the problems of needing to package new models in software systems and the inability to dynamically modify existing models in real time.

[0079] The steps of the various methods described above are only for clarity. In practice, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this patent. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the scope of protection of this patent.

[0080] Furthermore, some embodiments of this application also provide an electronic device. The electronic device can be various forms of digital computer, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device can also be various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices.

[0081] The electronic device includes: one or more processors; and a memory storing computer program instructions that, when executed, cause the processor to perform the steps of the methods provided in any one or more of the above embodiments. Figure 3 An exemplary structural diagram of the electronic device is disclosed. For example... Figure 3 As shown, the electronic device includes one or more processors 1101, a memory 1102, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise as required. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). The components, their connections and relationships, and their functions shown herein are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.

[0082] The electronic device may further include an input device 1103 and an output device 1104. The processor 1101, memory 1102, input device 1103, and output device 1104 may be connected via a bus or other means. Figure 3 Taking the example of a connection between China and Israel via a bus.

[0083] Input device 1103 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the electronic device, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 1104 may include a display device, auxiliary lighting device (e.g., LED), and haptic feedback device (e.g., vibration motor). The display device may include, but is not limited to, a liquid crystal display (LCD), a light-emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touch screen.

[0084] To provide interaction with the user, the electronic device can be a computer. The computer has: 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, the 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).

[0085] In this embodiment, a computer-readable medium stores a computer program / instructions that, when executed by a processor, implement the steps of the methods provided in any one or more of the above embodiments. This computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into that device. The aforementioned computer-readable medium carries one or more computer-readable instructions.

[0086] The memory 1102 can serve as a non-transitory computer-readable storage medium, used to store non-transitory software programs, non-transitory computer-executable programs, and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transitory software programs, instructions, and modules stored in the memory 1102, thereby implementing the program instructions / modules corresponding to the methods provided in any one or more of the embodiments described above in this application.

[0087] The memory 1102 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 1102 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1102 may optionally include memory remotely located relative to the processor 1101, and these remote memories can be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0088] It should be noted that the computer-readable medium described in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, 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 device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0089] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only optical disc (CD-ROM), digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0090] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0091] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. For example, it can be implemented using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of this application can be executed by a processor to implement the steps or functions described above. Similarly, the software program of this application (including related data structures) can be stored in a computer-readable recording medium, such as RAM memory, magnetic or optical drives, floppy disks, or similar devices. Furthermore, some steps or functions of this application can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.

[0092] The computer program product provided in this application includes one or more computer programs / instructions. When executed by a processor, these computer programs / instructions generate, in whole or in part, the processes or functions described in this application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0093] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0094] The scope of this application is defined by the appended claims rather than the foregoing description, and is therefore intended to encompass all variations falling within the meaning and scope of equivalents of the claims. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in a device claim may also be implemented by a single unit or device in software or hardware. Terms such as "first," "second," etc., are used only for distinguishing descriptions and do not indicate any particular order, nor should they be construed as indicating or implying relative importance.

[0095] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily made by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims, and the above embodiments should be regarded as exemplary and non-limiting.

Claims

1. A model making development method based on Unreal Engine, characterized by, The method comprises: obtaining GIS site data, wherein the GIS site data comprises site edge position coordinates and GIS data for depth rendering; extracting drawable point sites in the GIS site data using a vector cross product algorithm and compiling them into groups; creating a site model at a corresponding position in a scene through a data group of the drawable point sites and dynamically controlling the material of the site model; using a custom rendering depth function in the Unreal Engine to dynamically perform secondary processing on the site model according to the positions of different data sequences.

2. The method of claim 1, wherein, The method further comprises: performing data cleaning on the GIS site data to remove nearly coincident or incorrect data points.

3. The method of claim 1, wherein, The step of extracting drawable point sites in the GIS site data and compiling them into groups comprises: extracting valid data points from a continuous data point sequence in the GIS site data and dividing them into a plurality of triangles; arranging the divided triangles into an array and storing and sorting the drawable point sites.

4. The method of claim 3, wherein, The step of using a vector cross product algorithm comprises: setting the current point data as P(t) and any point data as P(x), and then generating a triangle according to the following formula: (|(P(t)-P(x))·((P(t-1)-P(x))|+|(P(t+1)-P(x))·((P(t-1(-P(x))|+|(P((t)-P(x))·((P(t+1)-P(x))|)-|((P(t)-P(t-1))·(P(t+1)-P(t-1))|>0; when the above formula is greater than 0, a triangle array is formed by the previous point of the current point, the current point, and the next point of the current point.

5. The method according to any one of claims 1 to 4, characterized in that, The step of creating a site model at a corresponding position in a scene through a data group of the drawable point sites comprises: creating a model by using a Procedural Mesh component; dynamically drawing the data group of the drawable point sites by using a Create Mesh Section.

6. The method of claim 5, wherein, The step of dynamically controlling the material of the site model comprises: grouping the created site model, assigning the material controlled by the rendering depth to the site model, and displaying it to the corresponding position.

7. The method of claim 6, wherein, The step of dynamically performing secondary processing on the site model according to the positions of different data sequences comprises: developing a material rendering depth function and setting dynamic material parameters through the virtual engine; assigning the model that needs to be changed to the dynamic material parameters to generate a dynamic material instance; controlling the underlying model according to the dynamic material instance and through the positions and sequences of different sequence points to perform secondary processing on the site model that needs to be changed.

8. An electronic device, comprising: The electronic device comprises: one or more processors; and a memory storing computer program instructions that, when executed, cause the processor to perform the steps of the method of any one of claims 1 to 7.

9. A computer readable medium having stored thereon computer programs / instructions, characterized in that, The computer program / instructions, when executed by the processor, implement the steps of the method of any one of claims 1 to 7.

10. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instructions, when executed by the processor, implement the steps of the method of any one of claims 1 to 7.