Object processing method, apparatus, device, and storage medium

By implementing the volume object fusion function in the 3D editor, the problem of excessively long rendering time for multiple volume objects in a 3D scene is solved. By reducing rendering pipeline calls and data volume, rendering efficiency and user interaction efficiency are improved.

CN122176141APending Publication Date: 2026-06-09TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2026-02-26
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

When there are a large number of volumetric objects in a 3D scene, existing technologies require rendering pipeline calculations to be performed on each volumetric object separately, resulting in longer rendering times, increased GPU and video memory pressure, and impact on rendering efficiency.

Method used

By providing a volume object fusion function in the 3D editor, users can select multiple volume objects and trigger fusion instructions. The backend node then merges their data files to generate a merged volume object data file, reducing the number of rendering pipeline calls and the amount of data.

Benefits of technology

It effectively shortens rendering time, reduces computational pressure and video memory requirements, improves human-computer interaction efficiency, and simplifies user operation processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122176141A_ABST
    Figure CN122176141A_ABST
Patent Text Reader

Abstract

The application discloses an object processing method and device, equipment and a storage medium, and relates to the technical field of rendering. The method comprises the following steps: displaying an editing interface of a three-dimensional editor, and the editing interface displays selection items of at least two volume objects; in response to an operation on the selection items of the volume objects, determining N volume objects in the at least two volume objects that are in a selected state; and in response to a first trigger operation, sending fusion instruction information to a backend node. In this scheme, the process of fusing the N volume objects into a fused volume object is essentially the process of fusing first data files of the N volume objects into first data files of the fused volume object, and subsequent rendering is performed based on the one first data file, so that the rendering time can be effectively shortened.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of rendering technology, and in particular to an object processing method, apparatus, device and storage medium. Background Technology

[0002] In the field of rendering, participating media that support light scattering or penetration, such as clouds, fog, and smoke, can be defined as volumetric objects.

[0003] Volume objects are typically managed as VDB (Volume Data Blocks) files. A VDB file records the properties of the voxels included in the volume object, such as density values ​​and signed distance field (SDF) values. By executing the rendering pipeline's calculations on the VDB file of a volume object, the rendering of that volume object can be completed.

[0004] However, when there are many volumetric objects in a 3D scene, the overall rendering time is long because the above-mentioned rendering pipeline calculation process needs to be executed for the VDB file of each volumetric object separately. Summary of the Invention

[0005] This application provides an object processing method, apparatus, device, and storage medium. The technical solutions provided by this application include the following aspects.

[0006] According to one aspect of the embodiments of this application, an object processing method is provided, the method comprising: The editing interface of the 3D editor is displayed, which shows at least two volume objects for selection; In response to an operation on a selection of the volume objects, determine N volume objects that are selected among the at least two volume objects, where N is an integer greater than 1; In response to the first trigger operation, a fusion instruction message is sent to the backend node; wherein, the fusion instruction message is used to instruct the fusion of the first data files of the N volume objects to generate the first data file of the fused volume object, and the first data file of the volume object is used to record the attributes of the voxels included in the volume object.

[0007] According to one aspect of the embodiments of this application, an object processing method is provided, the method comprising: The front-end node displays the editing interface of the 3D editor, which shows selection options for at least two volume objects; The front-end node responds to the operation of the selection item for the volume object and determines N volume objects that are selected among the at least two volume objects, where N is an integer greater than 1; The front-end node responds to the first trigger operation by sending fusion instruction information to the back-end node; The backend node merges the first data files of the N volume objects according to the fusion instruction information to obtain the first data file of the merged volume object. The first data file of the volume object is used to record the attributes of the voxels included in the volume object.

[0008] According to one aspect of the embodiments of this application, an object processing apparatus is provided, the apparatus comprising: The display module is used to display the editing interface of the 3D editor, which displays at least two volume objects for selection; A determination module is configured to, in response to an operation on a selection item for the volume object, determine N volume objects that are in a selected state among the at least two volume objects, where N is an integer greater than 1; The sending module is used to send fusion indication information to the backend node in response to the first trigger operation; wherein, the fusion indication information is used to instruct the fusion of the first data files of the N volume objects to generate the first data file of the fused volume object, and the first data file of the volume object is used to record the attributes of the voxels included in the volume object.

[0009] According to one aspect of the embodiments of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the above-described object processing method.

[0010] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, the computer program being loaded and executed by a processor to implement the above-described object processing method.

[0011] According to one aspect of the embodiments of this application, a computer program product is provided, the computer program product including a computer program executed by a processor to implement the above-described object processing method.

[0012] The technical solution provided in this application can bring the following beneficial effects: In the 3D editor's interface, users can first select volume objects by using the selection option. Then, a first trigger operation sends a blending instruction to the backend node to merge the selected N volume objects into a single merged volume object. In this scheme, merging N volume objects into a single merged volume object is essentially merging the first data files of the N volume objects (i.e., N first data files) into a single first data file for the merged volume object (i.e., one first data file). Subsequent rendering is performed based on this single first data file, effectively shortening rendering time. Furthermore, the merging process of the first data file only requires selecting the volume object in the 3D editor, eliminating the need for the user to manually locate and merge the first data files of the volume objects, thus improving human-computer interaction efficiency. Attached Figure Description

[0013] Figure 1 This is a schematic diagram comparing the number of computation pipeline calls before and after volume object fusion according to an embodiment of this application; Figure 2 This is a schematic diagram of a landscaping process implemented using a 3D editor, provided in one embodiment of this application; Figure 3 This is a schematic diagram illustrating the deployment method of an object processing system provided in one embodiment of this application; Figure 4 This is a flowchart of an object processing method provided in one embodiment of this application; Figure 5 This is a schematic diagram of the editing interface of a 3D editor provided in one embodiment of this application; Figure 6 This is a schematic diagram of the fusion process setting area provided in one embodiment of this application; Figure 7 This is a flowchart of an object processing method provided in another embodiment of this application; Figure 8 This is a schematic diagram of the settings interface for the volume object fusion function provided in one embodiment of this application; Figure 9 This is a schematic diagram illustrating a three-dimensional scene comparison provided in one embodiment of this application; Figure 10 This is a flowchart of an object processing method provided in another embodiment of this application; Figure 11 This is a block diagram of an object processing apparatus provided in one embodiment of this application; Figure 12 This is a block diagram of an object processing apparatus provided in another embodiment of this application; Figure 13 This is a structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation

[0014] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0015] Before introducing the technical solution of this application, some terms involved in this application will be explained. The following related explanations are optional and can be combined with the technical solutions of the embodiments of this application in any way, all of which fall within the protection scope of this application. The embodiments of this application include at least some of the following contents.

[0016] VDB: A sparse tree structure for voxel data management.

[0017] DA (Digital Asset): Such as HDA (Houdini Digital Asset), which is essentially a binary archive file that packages the node network, programmatic logic, parameterized information, metadata, etc., for modular expansion of functions and black-box encapsulation.

[0018] Participating medium: Some materials, such as dry ice, clouds, fog, smoke, and flames, allow light to scatter into very deep interiors or penetrate through them. In graphics rendering, this process must be fully reproduced. These materials are called participating media.

[0019] Volumetric Object: In this application, the participating medium is defined as a volumetric object. Alternatively, it can be understood as a three-dimensional object composed of the participating medium. For example, a volumetric object may include a volumetric cloud, a volumetric fog, a volumetric flame, etc.

[0020] RTE (integral form of Radiative Transfer Equation): a multi-integral equation used in the rendering of media.

[0021] SVT (Sparse Volume Texture): Sparse volume texture is a voxel data management scheme based on TileResource. In essence, it is still a texture type. Tile Resource generally refers to the technique of dividing the texture into tiles and storing the divided data into each tile according to coordinate mapping.

[0022] In related technologies, some 3D editors, based on voxel-based rendering modes, can support the simulation of heterogeneous materials with very high precision and complex appearance structures. Furthermore, 3D editors allow users to freely control the position, rotation, and scaling of volumetric clouds, greatly unlocking the potential of cloudscape creation.

[0023] However, using the aforementioned 3D editor in a production environment requires addressing the increased GPU (Graphics Processing Unit) and video memory load as volumetric objects are placed. This is because the GPU overhead doubles with each additional cloud in the scene, and most users' hardware cannot perform multiple volumetric renderings within a short timeframe, such as 4ms. Therefore, it is necessary to blend scattered volumetric objects after editing is complete.

[0024] For example, please refer to Figure 1 The diagram illustrates a comparison of the number of computation pipeline calls before and after volume object fusion according to an embodiment of this application.

[0025] In this embodiment, there are three volumetric clouds to be rendered in the scene: volumetric cloud A, volumetric cloud B, and volumetric cloud C. There are also light sources 1 and 2 in the scene, and the rendering pipeline includes a first computation pipeline and a second computation pipeline, which correspond to different levels of integration in the Real-Time Equation (RTE). Before merging volumetric clouds A, B, and C, the rendering process for volumetric cloud A can be represented by the following formula: Aα1 + Aα2 + Aβ, where α1 represents the first computation pipeline executed based on light source 1, α2 represents the first computation pipeline executed based on light source 2, and β represents the second computation pipeline. The rendering process for volumetric cloud B can be represented by the following formula: Bα1 + Bα2 + Bβ. The rendering process for volumetric cloud C can be represented by the following formula: Cα1 + Cα2 + Cβ. Therefore, before merging volumetric clouds A, B, and C, the entire scene requires six calls to the first computation pipeline and three calls to the second computation pipeline. After volumetric clouds A, B, and C are merged into volumetric cloud D, the rendering process for volumetric cloud D can be represented by the following formula: Dα1 + Dα2 + Dβ. It can be seen that after merging volumetric clouds A, B, and C, only two calls to the first computation pipeline and one call to the second computation pipeline are needed, reducing the total number of computation pipeline calls by 6, thus accelerating rendering. Furthermore, during the merging process, since the voxels overlapping in the 3D scene are also merged, the final merged volumetric cloud D will have a smaller data volume than the three individual volumetric clouds before merging, thereby reducing streaming and memory pressure.

[0026] In summary, the merging of volume objects brings performance improvements in the following three aspects: 1. Reduce Overdraw: such as by reducing the number of calls to the compute pipeline.

[0027] 2. Reduce GPU computational pressure: The execution pipeline essentially performs RTE integration, and reducing the number of calls reduces the computational pressure on the GPU.

[0028] 3. Reduce memory pressure: After fusion, voxels with spatial overlap of objects of different volumes will be merged together, reducing the total amount of data, thereby reducing streaming pressure and memory pressure.

[0029] Performing volume object fusion essentially involves fusing the first data file used to record the attributes of the voxels included in the volume object. Taking a VDB file as an example, fusing two volume objects requires manually retrieving their VDB files from the database and then using function calls to prune and retopologically restructure the tree structure to fuse the VDB files, which is quite cumbersome. Therefore, this application directly incorporates volume object fusion functionality into the 3D editor, thus embedding volume object fusion directly into the scene design phase.

[0030] Please refer to Figure 2 This illustration shows a schematic diagram of a landscaping process implemented using a 3D editor according to an embodiment of this application. The landscaping process includes the following steps: 1. Conceptual Design: Designers create volumetric objects (volume clouds) of different shapes based on real-world cloud types to meet practical landscaping needs. Cloud types can be referenced from standard cloud charts published by relevant organizations.

[0031] 2. Data Generation: Generate the first data file of the designed volumetric object and store it in the asset database 22. Optionally, generate the shape of the volumetric object through an environment-coupled or decoupled cloud-based solver and store the shape of the volumetric object in VDB format in the asset database. The asset database is used to centrally store and manage the VDB files of volumetric objects used for landscaping; that is, the first data file is a VDB file.

[0032] 3. Cloud and Sea Landscape Creation: Convert the first data file of the volumetric object used for landscape creation into a second data file, such as an SVT file, to render the volumetric object 23 in the 3D scene provided by the 3D editor. Optionally, at this stage, designers can freely adjust the position, rotation angle, scaling size, and density of the volumetric object 23 in the 3D scene.

[0033] 4. Trigger fusion: Designers select option 24 of the volume objects they want to fuse in the 3D editor to trigger the fusion of N volume objects, where N is an integer greater than 1.

[0034] 5. Data File Fusion: Perform fusion on the first data files of N volume objects to obtain the first data file of the fused volume object, and output the first data file to the asset database 22.

[0035] 6. Blending effect demonstration: Convert the first data file of the blended volume object into a second data file, and render the blended volume object 25 in the 3D scene provided by the 3D editor.

[0036] As can be seen, in the aforementioned scene creation process, the data file fusion process is a black box for designers. Designers only need to select and trigger the fusion of volume objects in the front end of the 3D editor to achieve the fusion of backend data files. Furthermore, since the fused volume object 25 displayed in the front end is based on the fused first data file, users can instantly determine whether the fusion effect is satisfactory. In summary, this application provides a quick tool for fusion of volume objects in the design phase of a 3D scene, thereby reducing the amount of data that needs to be stored and transmitted during the application phase and accelerating rendering.

[0037] The above scheme will be described in more detail in the following embodiments.

[0038] Please refer to Figure 3 This diagram illustrates a deployment method of an object processing system provided in one embodiment of this application. The object processing system includes a front-end node 10 and a back-end node 20.

[0039] Front-end node 10 provides a concise and interactive user interface, allowing users to select different volume objects and perform fusion. Back-end node 20 performs calculations to fuse the first data file of the volume objects.

[0040] exist Figure 3In deployment method 1 shown, the front-end node 10 and the back-end node 20 are deployed on the same electronic device 100, such as a mobile phone, tablet, PC (Personal Computer), or a professional device specifically used for modeling or 3D scene design. This electronic device 100 has a 3D editor installed and running. This 3D editor refers to an application with 3D scene editing capabilities; it can be a standalone scene design or 3D modeling program, or an editing tool attached to a graphics rendering engine. In this deployment method, the aforementioned front-end node 10 and back-end node 20 can be considered components (such as plugins) of the 3D editor. The front-end node 10 is responsible for interacting with the user, and the back-end node 20 is responsible for performing background calculations. For example, the front-end node 10 interacts with the user based on UMG (Unreal Motion Graphics UI Designer), and the front-end node 10 communicates with the back-end node 20 through the Houdini Engine. Houdini FX, acting as the back-end node 20, completes the fusion of the first data file by calling the Open VDB tool library.

[0041] exist Figure 3 In deployment method 2 shown, the front-end node 10 is deployed on the terminal device 110, and the back-end node 20 is deployed on the server 120. The terminal device 110 can be a mobile phone, tablet, PC (Personal Computer), or a professional device specifically designed for modeling or 3D scene design. In this deployment method, the front-end node 10 can be considered as a client of the 3D editor installed and running on the terminal device 110, or as a component of that client. The server 120 can be used to provide background services to the 3D editor client on the terminal device 110. For example, the server 120 provides a first data file fusion service to the 3D editor client through its deployed back-end node 20. The server 120 can be a single server, a server cluster consisting of multiple servers, or a cloud computing service center. The terminal device 110 and the server 120 can communicate via a network, such as a wireless or wired network.

[0042] Furthermore, in this embodiment, the implementation form of the 3D editor is not limited. For example, it can be an application that needs to be downloaded and installed, a mini-program that does not require installation, a web application, etc.

[0043] Please refer to Figure 4This document illustrates a flowchart of an object processing method provided in one embodiment of this application. The execution entity for each step of this method is a computer device, such as a front-end node within the computer device. This computer device can be the aforementioned electronic device 100 or the aforementioned terminal device 110. The method may include at least one of the following steps (410-430).

[0044] Step 410: Display the editing interface of the 3D editor, which shows selection options for at least two volume objects.

[0045] The editing interface of a 3D editor is used to edit 3D scenes. For example, the editing interface of a 3D editor is used to set volume objects, light sources, etc., in a 3D scene. It is also used to modify and manage objects that have already been set in the 3D scene.

[0046] The volume object selection options are used to select a volume object. The volume object selection options can be the volume object itself, rendered in the 3D editor's editing interface, or they can be individual text or icon selection options.

[0047] For example, please refer to Figure 5 The editing interface 50 of the 3D editor is displayed. The editing interface 50 includes selection options for various types of objects (such as volume objects and light sources) set in the 3D scene. Among these selection options is the selection option 51 for volume objects.

[0048] In some embodiments, the editing interface includes a preview area and a configuration area. The preview area displays a 3D scene, which includes at least two volumetric objects. The configuration area displays selection options for objects added to the 3D scene. Since the 3D scene includes at least two volumetric objects, the configuration area includes selection options for each of the at least two volumetric objects.

[0049] It should be noted that in this application, each volume object loaded by the 3D editor has corresponding options. That is to say, the options for the aforementioned at least two volume objects refer to the options for each of the at least two volume objects individually.

[0050] Additionally, it should be noted that in this application, the selection option for an object is used to select that object, such as the selection option for a volume object being used to select a volume object. Selecting an object, or in other words, putting an object in a selected state, is for performing editing operations on that object. Besides the merging operation described in this application, editing operations can also be other operations, such as conventional position changes and scaling operations, etc., which are not limited in this application.

[0051] In some embodiments, a volume object includes at least one of the following: volumetric cloud, volumetric fog, volumetric smoke, volumetric dry ice, volumetric flame, etc. A volumetric cloud is a volume object used to simulate clouds in the real world. A volumetric fog is a volume object used to simulate fog in the real world. A volumetric smoke is a volume object used to simulate smoke in the real world. A volumetric dry ice is a volume object used to simulate dry ice in the real world. A volumetric flame is a volume object used to simulate flames in the real world.

[0052] The technical solution provided in this application directly performs fusion on the first data file of the volume object, so it does not limit the form of the volume object participating in the fusion. For example, fusion can be performed on the above-mentioned volume cloud, volume fog, volume smoke, volume dry ice, volume flame, etc., so as to meet various scene requirements.

[0053] Step 420: In response to the operation on the selection of volume objects, determine N volume objects that are selected out of at least two volume objects.

[0054] N is an integer greater than 1.

[0055] The operation of selecting volume objects can be clicking, long-pressing, or selecting by box, etc., and this application does not limit this. Long-press operation refers to a pressing operation that lasts for a set duration. The set duration is set by the technician as needed, such as 0.3s, 0.5s, 1s, etc., and this application does not limit this.

[0056] In some embodiments, in response to an operation on a selection of N volume objects out of at least two volume objects, N volume objects are determined to be in a selected state.

[0057] In some embodiments, when a volume object is not selected, the selection options for the volume objects are displayed in a first display style. In response to an operation on the selection options for N volume objects, the selection options for the N volume objects are switched from the first display style to a second display style, and the N volume objects that are selected are determined.

[0058] The first display style and the second display style are different. For example, the second display style has different symbols, text marks, etc. compared to the first display style. Another example is that the second display style and the first display style use different colors.

[0059] For example, please refer to Figure 5The 3D editor's editing interface 50 is displayed. This interface 50 includes two volume object selection options 51, both of which are initially displayed in a first display style. In response to a click operation on the selection option for volume object A, the selection option for volume object A is switched to a second display style. Similarly, in response to an operation on the selection option for volume object B, the selection option for volume object B is switched to the second display style.

[0060] Step 430: In response to the first trigger operation, send fusion instruction information to the backend node.

[0061] The first trigger operation is used to trigger the merging of N volume objects that are in the selected state.

[0062] In some embodiments, please refer to Figure 6 The method further includes: displaying a blending process setting area 60. The blending process setting area 60 is used to set the blending process for a selected volume object. A blending control 61 is displayed in the blending process setting area 60. The blending control 61 is used to trigger the blending of the selected volume object. The first triggering operation is an operation on the blending control 61 (such as clicking, long-pressing, etc.).

[0063] The fusion instruction information is used to instruct the fusion of the first data files of N volume objects to generate the first data file of the fused volume object. The first data file of the volume object is used to record the attributes of the voxels included in the volume object.

[0064] The voxels included in a volume object, also known as volume pixels, are similar to pixels in a two-dimensional image; they are the smallest unit of division of the volume object in three-dimensional space. Voxel attributes can include density values, SDF values, etc. The voxel density value reflects the concentration or opacity of the medium at that voxel location. The voxel SDF value reflects the distance between the voxel and the surface of the volume object; the sign of the SDF value indicates whether the voxel is inside or outside the volume object. Of course, depending on rendering requirements, the first data file of the volume object can also record other types of attributes for voxels, such as temperature and velocity; this application does not limit this.

[0065] Optionally, the first data file is a VDB file.

[0066] The technical solution provided in this application embodiment allows users to select volume objects in the editing interface of a 3D editor by selecting an option for the volume object. Then, a first trigger operation is used to send a fusion instruction to the backend node to merge the selected N volume objects into a merged volume object. In this solution, the process of merging N volume objects into a merged volume object is essentially the process of merging the first data files of the N volume objects (i.e., N first data files) into the first data file of the merged volume object (i.e., one first data file). Subsequent rendering is performed based on this one first data file, which can effectively shorten the rendering time. Furthermore, the above-mentioned fusion process of the first data file only requires selecting the volume object in the 3D editor to trigger the process, without requiring the user to manually find the first data file of the volume object and perform the fusion, thereby improving the efficiency of human-computer interaction.

[0067] In some embodiments, please refer to Figure 7 Step 430 above includes at least one of steps 432 to 436 below.

[0068] Step 432: In response to the first triggering operation, retrieve the first data file of N volume objects from the asset database.

[0069] The asset database is used to store the primary data files for volumetric objects. Optionally, the asset database is a cloud database. Optionally, the asset database is deployed on a NAS (Network Attached Storage) device.

[0070] In some embodiments, step 432 above includes the following steps S11 to S13.

[0071] S11, in response to the first triggering operation, retrieve the metadata of the second data file containing N volume objects from the engine database.

[0072] The engine database is used to store the second data file of the loaded volume objects. The loaded volume objects refer to the volume objects that are loaded as editing objects in the 3D editor. The second data file of the volume objects is used to render the volume objects in the 3D editor.

[0073] Optionally, the engine database is a cloud database, which is a database that the front-end nodes can directly access.

[0074] The editable objects of the 3D editor are objects that are edited by the 3D editor. Optionally, the editable objects of the 3D editor have been rendered into the 3D scene being edited by the 3D editor. Optionally, all volume objects with selection options displayed in the editing interface belong to the editable objects of the 3D editor. Therefore, the engine database stores at least two second data files of volume objects.

[0075] Optionally, the second data file is an SVT file.

[0076] Metadata is data used to describe data. In this application, the metadata of the second data file is used to describe the characteristics or attributes of the second data file. Optionally, since the second data file of the volume object is converted from the first data file of the volume object, the metadata of the second data file of the volume object indicates at least one of the following: the acquisition method of the first data file of the volume object (such as the address of the first data file of the volume object in the asset database), and the filename of the first data file of the volume object.

[0077] S12, based on the metadata of the second data file of N volume objects, retrieve the first data file of N volume objects from the asset database.

[0078] In some embodiments, the address of the first data file of the volume object in the asset database can be obtained directly from the metadata of the second data file of the volume object, and the first data file of the volume object can be obtained from the asset database based on the address.

[0079] In some embodiments, the filename of the first data file of the volume object is obtained from the metadata of the second data file of the volume object. The first data file of the volume object is then retrieved from the asset database based on this filename.

[0080] In the above embodiment, the second data file of the volume object in the engine database and the first data file of the volume object in the asset database are mapped one-to-one through metadata. Therefore, the front-end node can conveniently use the metadata of the second data file of the loaded volume object to obtain the first data file of the volume object from the asset database. Furthermore, this one-to-one mapping also helps to ensure the security of the volume object fusion process, that is, to ensure that when the loaded volume objects are fused, the first data files of these volume objects are also fused accordingly.

[0081] Step 434: Package the first data files of N volume objects into fusion instruction information.

[0082] In some embodiments, the first data files of N volumetric objects and target parameters are packaged into fusion indication information. The target parameters are parameters used to fuse the N volumetric objects. For the setting process and specific meaning of the target parameters, please refer to the embodiments below, which will not be repeated here.

[0083] In some embodiments, the first data files of N volume objects, target parameters, and output path information are packaged into fusion indication information.

[0084] The output path information indicates the target output path, which is used to store the first data file of the merged volumetric object. Optionally, the target output path belongs to the asset database, for example, the target output path is located in a directory within the asset database.

[0085] In some embodiments, the method further includes: displaying an output path setting; and, in response to an operation on the output path setting, displaying the target output path set by the output path setting.

[0086] The output path setting is used to set the output path for the fusion operation of the first data file of different volume objects, that is, to set the storage path of the first data file of the fused volume object.

[0087] For example, the operation for the output path setting item can be to click on the output path setting item and then select from the various candidate output paths that pop up. In this case, the selected candidate output path is the target output path.

[0088] For example, the output path setting includes an output path editing area. An operation on the output path setting can be an operation of entering characters in the output path editing area. In this case, the characters entered by the user and displayed in the output path editing area are the target output path.

[0089] For example, please refer to Figure 8 In the settings interface 80 of the volume object fusion function, the output path setting item 81 is displayed. In response to an operation on the output path setting item 81, the target output path 82 set by the output path setting item is displayed.

[0090] The settings interface is used to perform preset settings for the volume object fusion function provided by the 3D editor. Since the volume object fusion function provided in this application can be implemented as a plugin in the 3D editor, the settings interface can also be understood as the plugin settings interface.

[0091] In some embodiments, the fusion indication information is a digital asset as described above, such as an HDA.

[0092] In some embodiments, the fusion indication information described above also includes filename indication information. The filename indication information is used to indicate that the filename of the first data file of the fused volume object should be set as the target filename.

[0093] The above method also includes: displaying the output filename setting; and, in response to an operation on the output filename setting, displaying the target filename set by the output filename setting.

[0094] The output filename setting is used to set the filename of the new first data file obtained by merging the first data files of different volume objects; that is, it is used to set the filename of the first data file of the merged volume objects.

[0095] For example, the output file name setting includes an output file name editing area. An operation on the output file name setting can be an operation of entering characters in the output file name setting. In this case, the characters entered by the user and displayed in the output file name editing area are the target file name.

[0096] For example, please refer to Figure 8 In the settings interface 80 of the volume object fusion function, the output filename setting item 83 is displayed. In response to the operation on the output filename setting item 83, the target filename 84 set by the output filename setting item 83 is displayed.

[0097] In some embodiments, when the timestamp suffix function is enabled, the above-mentioned fusion indication information also includes an enable indication information.

[0098] The enable instruction information is used to indicate the enabling of the timestamp suffix function. The timestamp suffix function refers to the function of using a timestamp as the suffix of the filename of the first data file of the merged volume object. The aforementioned timestamp can be the timestamp of the moment when the backend node receives the merge instruction information, or it can be the timestamp of the moment when the backend node generates the first data file of the merged volume object; this application does not limit it in this way.

[0099] The method further includes: displaying a timestamp suffix function setting, and in response to an operation on the timestamp suffix function setting, displaying first activation information. The first activation information indicates that the timestamp suffix function is enabled.

[0100] For example, please refer to Figure 8 In the settings interface 80 of the volume object fusion function, the timestamp suffix function setting item 85 is displayed. In response to an operation on the timestamp suffix function setting item 85 (such as a click operation), the first activation information 86 is displayed. It can be seen that, in this example, the timestamp suffix function setting item 85 is checked to indicate that the timestamp suffix function is enabled.

[0101] In some embodiments, when the information removal function is enabled, the aforementioned fusion instruction information also includes removal instruction information.

[0102] The removal instruction information is used to indicate that the information removal function is enabled. The information removal function refers to the function of automatically removing the fusion instruction information after obtaining the first data file of the fused volumetric object. When the fusion instruction information is HDA as described above, the information removal function means that the HDA is automatically removed after obtaining the first data file of the fused volumetric object.

[0103] The method further includes: displaying an information removal function setting, and in response to an operation on the information removal function setting, displaying second activation information. The second activation information indicates that the information removal function is enabled.

[0104] For example, please refer to Figure 8 In the settings interface 80 of the volume object fusion function, the information removal function setting item 87 is displayed. In response to an operation on the information removal function setting item 87 (such as a click operation), a second activation message 88 is displayed. As can be seen in this example, the information removal function setting item 87 is checked to indicate that the information removal function is enabled.

[0105] Step 436: Send fusion instruction information to the backend node.

[0106] The fusion instruction information is also used to instruct the output of the first data file of the fused volumetric object to the asset database.

[0107] In the above embodiment, on the one hand, the front-end node directly obtains the first data file of the volume objects to be merged and attaches it to the fusion instruction information, enabling the back-end node to focus on the fusion calculation of the first data file. On the other hand, the first data file of the volume objects before fusion and the first data file of the volume objects after fusion are stored in the same database, thereby facilitating the use of the merged volume objects for subsequent scene design.

[0108] The target parameters mentioned above and their setting process will be described in more detail below.

[0109] In some embodiments, the object processing method described above further includes at least one of the following steps S21 to S23.

[0110] S21, Display the blending mode settings, which are used to provide at least two blending modes.

[0111] In some embodiments, in response to an action (such as a click) on a blending mode setting item, at least two blending mode selection options are displayed. These blending mode selection options are used to choose the blending mode.

[0112] For example, please refer to Figure 6The display shows the fusion process settings area 60, which includes the fusion mode settings item 62.

[0113] S22, in response to the operation of selecting a target fusion mode from at least two fusion modes, display the parameter settings corresponding to the target fusion mode.

[0114] Different fusion modes correspond to different parameter settings, and different parameter settings are used to set different types of parameters.

[0115] Optionally, the operation of selecting the target fusion mode from at least two fusion modes is an operation on the selection of the target fusion mode.

[0116] In some embodiments, in response to the operation of selecting a target fusion mode from at least two fusion modes, a selection indication message for the target fusion mode is displayed, as well as parameter settings corresponding to the target fusion mode are displayed.

[0117] The target fusion mode selection indicator is used to indicate that the target fusion mode is selected.

[0118] In some embodiments, at least two fusion modes include a first fusion mode, and the parameter settings corresponding to the first fusion mode include a voxel size setting, which is used to set the size of the voxels included in the fused volume object.

[0119] For example, please refer to Figure 6 In response to the operation of selecting the first blending mode among at least two blending modes, the selection indication information 63 of the first blending mode is displayed, and the voxel size setting item 64 is displayed.

[0120] The size of a voxel determines the space it occupies in a 3D scene, and thus the spatial resolution of the volume object. Smaller voxel sizes result in higher computational costs for rendering the volume object, but also richer details. Therefore, in the above embodiment, by setting a first blending mode, the user can directly set the size of the voxels included in the blended volume object, thereby allowing the user to easily control the computational cost and detail of the rendered blended volume object.

[0121] In some embodiments, at least two fusion modes include a second fusion mode. The parameter settings corresponding to the second fusion mode include a sampling rate setting and a fusion operation setting. The sampling rate setting is used to set the sampling rate for performing upsampling or downsampling on the volume objects. The fusion operation setting is used to set the operation method used to fuse N volume objects.

[0122] Upsampling a volume object increases the number of voxels it contains, thus improving its spatial resolution. Downsampling a volume object decreases the number of voxels it contains, thus reducing its spatial resolution. The sampling rate indicates the percentage change in the number of voxels a volume object contains compared to before sampling, after upsampling or downsampling.

[0123] In some embodiments, the sampling rate setting is used to set the sampling rate for upsampling or downsampling of N volume objects respectively, that is, the sampling rate of each volume object participating in the fusion can be set through the sampling rate setting.

[0124] In other embodiments, N=2. The sampling rate setting is used to set the sampling rate for downsampling of volume objects with smaller voxel sizes among the N volume objects. Alternatively, the sampling rate setting is used to set the sampling rate for upsampling of volume objects with larger voxel sizes among the N volume objects.

[0125] In some embodiments, the fusion operation setting is used to configure how every two volume objects are fused during the fusion process for N volume objects. For example, when N=2, fusion of the first data files of two volume objects yields the first data file of the fused volume object, i.e., fusion is performed only once. When N=3, the first data files of two volume objects need to be fused first to obtain the first data file of a new volume object, and then this new first data file of the volume object is fused with the first data file of the remaining volume object out of the three volume objects to obtain the first data file of the fused volume object.

[0126] For example, the operation settings that support configurable operation methods for merging volume objects are shown in Table 1 below.

[0127]

[0128] It should be noted that the new attribute values ​​obtained through the operation method shown in Table 1 are the attribute values ​​of the voxels at the corresponding spatial locations of the new volume objects obtained after merging A and B. A and B are the first volume object A and the second volume object B participating in the fusion process of N volume objects. When N=2, the N volume objects are the first volume object and the second volume object. When N is greater than 2, the first volume object and the second volume object can be any two volume objects participating in the fusion process of N volume objects.

[0129] In the above embodiment, by setting a second fusion mode, users can directly set the sampling rate of the volumetric objects participating in the fusion, which helps users balance memory pressure and structural accuracy when fusing N volumetric objects. For example, if the voxel size of one volumetric cloud participating in the fusion is twice that of another volumetric cloud under the same specifications, then to ensure the structural accuracy after fusion, the volumetric cloud with the larger voxel size needs to be upsampled by two times to further refine the original voxel. Only in this way can the size of the refined voxel be consistent with the voxel size of the other volumetric cloud. Only after fusion can it be ensured that the structural details of the fused volumetric cloud are not smoothed out by the larger voxel. However, a higher upsampling rate can easily lead to a surge in memory usage when the voxel resolution is high, because the more active voxels in a volumetric object, the larger the size of the first data file. Just doubling the upsampling can cause the first data file to become too large to use. Therefore, in common cases, users can sacrifice some structural accuracy to use a slightly lower upsampling rate than expected in order to reduce memory pressure. As can be seen, by adopting the technical solution provided above, users can directly set the sampling rate for volume objects through the sampling rate setting item, thus meeting the user's trade-off needs.

[0130] Furthermore, in the above embodiments, by setting a second fusion mode, users can directly set the operation method used to fuse N volumetric objects, thereby meeting the volumetric object fusion requirements in different scenarios. For example, for two volumetric clouds that intersect in 3D space, the Maximum operation method can be used for fusion, making the attribute values ​​of the voxels in the intersection relatively conservative after fusion. For two non-intersecting volumetric clouds, fusion into a new volumetric cloud will inevitably have gap voxels, so the Add operation method can be used for fusion, so that the fused volumetric cloud will not activate more voxels.

[0131] For example, please refer to Figure 6 In response to the operation of selecting the second fusion mode from at least two fusion modes, the selection indication information 65 of the second fusion mode is displayed, as well as the fusion operation setting item 66 and the sampling rate setting item 67 are displayed.

[0132] S23, in response to the setting operation of the parameter setting item corresponding to the target fusion mode, displays the target parameters set by the parameter setting item corresponding to the target fusion mode. The target parameters are used to fuse N volume objects.

[0133] Optionally, the target parameters include the dimensions of the voxels included in the fused volume object, as set through the voxel size settings described above.

[0134] Optionally, the target parameters include the sampling rate of the volume objects participating in the fusion, set through the sampling rate setting item above, and the operation mode for fusion of N volume objects, set through the fusion operation setting item above.

[0135] For example, please refer to Figure 6 In response to an operation of inputting a value into the voxel size setting item 64, the size value 68 set by the voxel size setting item 64 is displayed. In this case, the above setting operation includes an operation of inputting a value into the voxel size setting item, the value input by this operation being the size value of the voxels included in the fused volume object set by the voxel size setting item 64.

[0136] For example, please refer to Figure 6 In response to an action (such as a click) on fusion operation setting 66, the following will be displayed: Figure 6 The operation mode selection interface 75 shown includes at least two operation mode selection options 76. In response to an operation on the selection option for the target operation mode, the name 69 of the operation mode set through the merge operation setting item is displayed. In this case, the above setting operation includes an operation on the merge operation setting item 66 and an operation on the selection option for the target operation mode. The target operation mode is the operation mode for merging N volume objects set through the above merge operation setting item.

[0137] For example, please refer to Figure 6 In response to an operation of inputting a value into the sampling rate setting item 67, the sampling rate 70 set by the sampling rate setting item 67 is displayed. In this case, the above setting operation includes an operation of inputting a value into the sampling rate setting item, the value input by which the sampling rate is set by the sampling rate setting item 64 to perform upsampling or downsampling for the volume objects participating in the fusion.

[0138] In the above embodiment, the 3D editor provides at least two blending modes for users to select from. Since different blending modes allow users to set different object blending parameters, this solution allows users to control the blending process of volumetric objects from different angles, further improving the flexibility and convenience of performing volumetric object blending through the 3D editor.

[0139] In addition, the aforementioned 3D editor also allows users to preview the blending effect of volume objects, which will be explained below.

[0140] In some embodiments, the above object processing method further includes the following steps S31 to S32.

[0141] S31, upon receiving the fusion completion information sent by the backend node, obtain the first data file of the fused volume object.

[0142] The fusion completion information indicates that the first data file of N volume objects has been successfully fused.

[0143] In some embodiments, a first data file of the merged volumetric object is obtained from an asset database.

[0144] In some embodiments, the first data file of the fused volume object is obtained from the target output path.

[0145] S32, based on the first data file of the merged volume object, display the merged volume object.

[0146] In the above embodiment, the front-end node will automatically obtain a new first data file after the volume objects are merged to display the merged volume objects, so as to help users judge whether the volume object merging effect has met expectations and whether it needs to be merged again.

[0147] For example, please refer to Figure 9 This diagram illustrates a comparison of three-dimensional scenes provided in one embodiment of this application.

[0148] In this example, the volumetric cloud in 3D scene 95 is formed by fusing the volumetric cloud in 3D scene 96. There is no visually obvious difference between the two, so users can directly judge that the fusion effect is good and there is no need for re-fusion. Therefore, by using the technical solution provided in this application embodiment, since the 3D editor supports previewing the fusion effect of volumetric objects, users can conveniently create new scene materials in the 3D editor.

[0149] In some embodiments, the method further includes hiding the N rendered volumetric objects when the automatic hiding function is enabled. For example, hiding the N volumetric objects in the 3D scene displayed in the preview area.

[0150] The automatic hiding function refers to the feature that automatically hides the volume objects involved in the fusion after rendering the merged volume object, allowing for a quick preview of the merged volume object.

[0151] In some embodiments, the method further includes: displaying an auto-hide function setting, and in response to an operation on the auto-hide function setting, displaying third enabling information. The third enabling information is used to indicate that the auto-hide function is enabled.

[0152] For example, please refer to Figure 8In the settings interface 80 of the volume object blending function, the auto-hide function setting item 89 is displayed. In response to an operation on the auto-hide function setting item 89 (such as a click operation), a third activation message 90 is displayed. As can be seen in this example, the auto-hide function setting item 89 is checked to indicate that the auto-hide function is enabled.

[0153] In some embodiments, S32 includes the following steps S321 to S323.

[0154] S321, convert the first data file of the merged volume object into the second data file of the merged volume object.

[0155] The data size of the second data file of the volume object is smaller than the data size of the first data file of the volume object.

[0156] Optionally, for at least two voxels of the same type of attribute value recorded in the first data file of the fused volume object, if their values ​​are the same or similar (e.g., the difference between their values ​​is less than a threshold set by the technician), then a base value (often called a fallback value in the art) is used to replace these same type of attribute values, thereby obtaining the second data file of the fused volume object.

[0157] In some embodiments, the method further includes storing a second data file of the fused volume object into a target input path.

[0158] The target input path is used to store a second data file of the merged volumetric object. Optionally, the target input path belongs to the engine database, for example, it may be located in a directory within the engine database.

[0159] In some embodiments, the method further includes: displaying an input path setting; and, in response to an operation on the input path setting, displaying the target input path set by the input path setting.

[0160] The input path setting is used to set the storage path for the second data file of the merged volume object.

[0161] For example, the operation for the input path setting item can be to click on the input path setting item and then select from the various candidate input paths that pop up. In this case, the selected candidate input path is the target input path.

[0162] For example, the input path setting includes an input path editing area, and the operation on the input path setting can be the operation of entering characters in the input path editing area. In this case, the characters entered by the user and displayed in the input path editing area are the target input path.

[0163] For example, please refer to Figure 8 In the settings interface 80 of the volume object fusion function, the input path setting item 91 is displayed. In response to an operation on the input path setting item 91, the target input path 92 set through the input path setting item is displayed.

[0164] S322, retrieves the rendering parameters of the target volume object from N volume objects.

[0165] The rendering parameters of the target volume object are the parameters used to render the target volume object in a 3D scene. These parameters may include phase parameters, density gain, data step size, and any other parameters that may be used during the rendering process, and this application does not limit them.

[0166] In some embodiments, the target volume object is determined based on the order in which N volume objects are selected.

[0167] The order in which N volume objects are selected is also the order in which the operations of receiving the selection options for N volume objects are received. That is, the earlier the operation of receiving the selection option for a volume object is received, the earlier that volume object will be selected.

[0168] In some embodiments, the target volume object is the first volume object selected out of N volume objects. In other embodiments, the target volume object is the last volume object selected out of N volume objects.

[0169] In the above embodiment, the target volume object is determined based on the selection order of the N volume objects. That is, after the user selects N volume objects through the selection options, there is no need to perform a separate operation to select the target volume object. The user only needs to control the selection order of the N volume objects to control the rendering parameters used by the rendered and blended volume object, thereby improving human-computer interaction efficiency.

[0170] S323, Render the merged volume object based on the rendering parameters of the target volume object and the second data file of the merged volume object.

[0171] In some embodiments, the attribute values ​​of each voxel included in the fused volume object are restored based on the second data file of the fused volume object. The rendering parameters of the target volume object are used as the rendering parameters of the fused volume object, and the fused volume object is rendered in the 3D scene displayed in the preview area according to the rendering parameters and the restored attribute values ​​of each voxel.

[0172] In the above embodiment, the rendering parameters used to form the merged volumetric object are derived from the volumetric objects involved in the merging process, eliminating the need for user parameter resetting and thus improving user efficiency. Furthermore, when importing the merged volumetric object, its first data file is converted into a smaller second data file, thereby reducing the data streaming pressure before rendering.

[0173] The following examples will fully describe the interaction process between the front-end node and the back-end node. For details not described in the following interaction examples, please refer to the examples on the front-end node side above.

[0174] Please refer to Figure 10 This document illustrates a flowchart of an object processing method according to another embodiment of this application. The method is applied to an object processing system, which includes a front-end node and a back-end node. The method may include at least one of the following steps (1010-1040).

[0175] Step 1010: The front-end node displays the editing interface of the 3D editor, which shows selection options for at least two volume objects.

[0176] Step 1020: The front-end node responds to the operation on the selection of volume objects and determines N volume objects that are selected out of at least two volume objects.

[0177] N is an integer greater than 1.

[0178] In step 1030, the front-end node responds to the first trigger operation by sending fusion instruction information to the back-end node.

[0179] Step 1040: Upon receiving the fusion instruction information, the backend node merges the first data files of N volume objects to obtain the first data file of the merged volume object.

[0180] The first data file of a volume object is used to record the properties of the voxels included in the volume object.

[0181] The technical solution provided in this application embodiment allows users to select volume objects in the editing interface of a 3D editor by selecting an option for the volume object. Then, a first trigger operation is used to send a fusion instruction to the backend node to merge the selected N volume objects into a merged volume object. In this solution, the process of merging N volume objects into a merged volume object is essentially the process of merging the first data files of the N volume objects (i.e., N first data files) into the first data file of the merged volume object (i.e., one first data file). Subsequent rendering is performed based on this one first data file, which can effectively shorten the rendering time. Furthermore, the above-mentioned fusion process of the first data file only requires selecting the volume object in the 3D editor to trigger the process, without requiring the user to manually find the first data file of the volume object and perform the fusion, thereby improving the efficiency of human-computer interaction.

[0182] In some embodiments, step 1030 includes: the front-end node responding to the first triggering operation to obtain a first data file of N volume objects from the asset database; packaging the first data file of the N volume objects into fusion indication information; and sending the fusion indication information to the back-end node.

[0183] Step 1040 includes: upon receiving the fusion instruction information, the backend node obtains the first data files of N volume objects from the fusion instruction information; merges the first data files of the N volume objects to obtain the first data file of the merged volume object; and outputs the first data file of the merged volume object to the asset database.

[0184] In some embodiments, the method further includes: displaying a fusion mode setting item on the front-end node, the fusion mode setting item being used to provide at least two fusion modes; displaying a parameter setting item corresponding to the target fusion mode in response to an operation of selecting a target fusion mode from the at least two fusion modes; and displaying a target parameter set through the parameter setting item corresponding to the target fusion mode in response to a setting operation of the parameter setting item corresponding to the target fusion mode.

[0185] The steps for the front-end node to package the first data files of N volume objects into fusion indication information include: the front-end node packages the first data files of N volume objects and the target parameters into fusion indication information.

[0186] Step 1040 above includes: upon receiving the fusion instruction information, the backend node obtains the first data files of N volume objects and target parameters from the fusion instruction information; according to the target parameters, it merges the first data files of the N volume objects to obtain the first data file of the merged volume object; and outputs the first data file of the merged volume object to the asset database.

[0187] In some embodiments, the method further includes: a backend node sending fusion completion information to a frontend node, the fusion completion information indicating that the first data files of N volume objects have been successfully merged. Upon receiving the fusion completion information from the backend node, the frontend node obtains the first data file of the merged volume object; and displays the merged volume object based on the first data file of the merged volume object.

[0188] In some embodiments, the step of "merging the first data files of N volume objects to obtain the first data file of the merged volume object" performed by the backend node includes the following steps S41 to S42.

[0189] S41, divide into N volume objects to obtain at least one object cluster.

[0190] The volume objects included in the object cluster are of the same type.

[0191] In some embodiments, the fusion indication information carries indication information of the types of N volume objects, thereby enabling the N volume objects to be divided into at least one object cluster.

[0192] In other embodiments, based on a first data file of N volume objects, N volume objects are divided to obtain at least one object cluster.

[0193] Optionally, the first data file of the volume objects is also used to indicate the type and location of the volume objects. Based on the type and location of each of the N volume objects, N volume objects are divided into N groups, resulting in at least one object cluster.

[0194] The position of the volume object mentioned above refers to the position of the volume object (such as the center point of the volume object) in the 3D scene edited by the 3D editor.

[0195] In some embodiments, within an object cluster, the distance between each volume object and its neighboring volume objects is less than or equal to a distance threshold. This distance threshold can be set by a technician as needed or by the user; this application does not limit its setting. A neighboring volume object is the volume object in the object cluster that is closest to it.

[0196] Optionally, step S41 includes the following steps S411 to S412.

[0197] Step S411: Based on the types of the N volume objects, divide the N volume objects into N volume objects to obtain at least one object set, wherein the volume objects included in the object set are of the same type.

[0198] Grouping N volume objects of the same type into a single object set, with each object set corresponding to a specific type. For example, when the volume objects are volume clouds, all volume clouds belonging to stratocumulus can be grouped into a cloud genus (i.e., object set), all volume clouds belonging to cumulus can be grouped into a cloud genus, all volume clouds belonging to stratus can be grouped into a cloud genus, and so on.

[0199] In some embodiments, the difference in appearance attributes between two volume objects of the same type is less than or equal to an attribute threshold.

[0200] The attribute threshold is used to determine whether volume objects are of the same type, and it can be set and adjusted according to actual usage requirements. Appearance morphology attributes can be used to indicate at least one of the following attributes of a volume object: shape, state, size, structural composition, and formation conditions.

[0201] Optionally, attribute values ​​reflecting the appearance morphology of the two volume objects are extracted from their respective first data files to form appearance data for each volume object. The degree of difference between the appearance data of the two volume objects is calculated, and then compared with an attribute threshold to determine whether the appearance morphology of the two volume objects is the same or similar. The appearance data of a volume object includes voxel attribute values ​​recorded in the first data file of the volume object that reflect its appearance morphology.

[0202] Step S412: For any object set in at least one object set, if the number of volume objects in the object set is greater than the number threshold, the object set is divided into at least two object clusters according to the position of the volume objects in the object set.

[0203] A quantity threshold is used to limit the number of volumetric objects included in an object cluster. For example, the number of volumetric objects included in an object cluster may be less than or equal to the quantity threshold. The quantity threshold can be set by a technician or directly by the user; this application does not impose any restrictions on this.

[0204] For example, step S412 may include the following steps.

[0205] 1. Based on the position of the volume objects in the object collection, determine the distance between every two volume objects in the object collection to obtain distance data.

[0206] In other words, the distance data includes the distance between every two volume objects in the object collection.

[0207] 2. Based on the distance data, determine the candidate object set for each volume object in the object set. The candidate object set includes the k other volume objects that are closest to the volume object, where k is a positive integer.

[0208] For any volume object in the object set, sort all other volume objects in the object set in ascending order of distance to obtain a volume object sequence. Combine the top k other volume objects in the volume object sequence to form a candidate object set for the given volume object. Other volume objects in the candidate object set may be assigned to the same object cluster as the given volume object.

[0209] For example, the K-NN sorting algorithm can be used to determine the candidate object set for volume objects. Alternatively, the K-NN sorting algorithm can be executed on top of the KD (K-dimensional)-Tree algorithm to accelerate the process of determining the candidate object set. For instance, a binary tree data structure can be constructed for the volume objects in the object set using the KD-Tree algorithm, and then the K-NN sorting algorithm can be executed based on the binary tree data structure to obtain the candidate object set for each volume object in the object set.

[0210] 3. Determine at least two seed volume objects from the object collection.

[0211] Each seed volume object can be used to form an object cluster. At least two seed volume objects can be randomly determined from the object set, or volume objects whose distances to k other volume objects are all less than or equal to a second threshold can be determined as seed volume objects; this embodiment does not limit this. The second threshold can be set and adjusted according to actual usage requirements.

[0212] 4. Using a quantity threshold as a constraint, a greedy algorithm is adopted to divide the object set into at least two object clusters based on the candidate object set and at least two seed volume objects. Each object cluster corresponds to one of the seed volume objects from the at least two seed volume objects.

[0213] For any one of at least two seed volume objects, taking the seed volume object as the core, merge the other volume objects with the smallest distance from its corresponding candidate object set into the object cluster corresponding to the seed volume object, resulting in an expanded object cluster. Then, taking each volume object in the expanded object cluster as the core, merge the other volume objects with the smallest distance from its corresponding candidate object set into the expanded object cluster. This process continues until the number of volume objects in the expanded object cluster equals a threshold, at which point the expanded object cluster is considered a single object cluster; alternatively, after all volume objects in the object set have been partitioned, the expanded object cluster is considered a single object cluster.

[0214] S413, if the number of volume objects in the object set is less than or equal to the number threshold, the object set is determined as an object cluster.

[0215] For example, with a quantity threshold of 4, if the number of volume objects in the object set is 3, then the object set can be directly identified as an object cluster; if the number of volume objects in the object set is 8, then the object set can be directly divided into 2 object clusters, each containing 4 volume objects.

[0216] S42, based on at least one object cluster, merge the data files of N volume objects to obtain the first data file of the merged volume object.

[0217] In some embodiments, step S42 includes at least one of the following steps S421 to S423.

[0218] S421, for any object cluster in at least one object cluster, merge the first data file of the volume objects in the object cluster to obtain the cluster data file corresponding to the object cluster. The cluster data file is used to characterize the cluster fused object obtained by merging the volume objects in the object cluster.

[0219] S422, merge the cluster data files of at least one object cluster to obtain the genus data file of at least one object set, the genus data file being used to characterize the genus fused object obtained by merging the volume objects in the object set.

[0220] S423, merge the attribute data files of at least one set of objects to obtain the first data file of the merged volume object.

[0221] In the above embodiments, grouping volume objects of the same type, i.e., with the same or similar appearance attributes, into an object cluster can reduce the structural differences between the volume objects in the object cluster. This is beneficial to reduce the structural loss when merging volume objects in the object cluster, and thus reduce the overall structural loss when merging N volume objects into one volume object.

[0222] In the above method embodiments, the steps executed by the front-end node can be implemented as object processing methods on the front-end node side, and the steps executed by the back-end node can be implemented as object processing methods on the back-end node side.

[0223] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0224] Please refer to Figure 11This diagram illustrates a block diagram of an object processing apparatus according to an embodiment of this application. The apparatus has the function of implementing the aforementioned object processing method on the front-end node side. This function can be implemented in hardware or by hardware executing corresponding software. The apparatus 1100 can be a computer device or can be installed within a computer device. The apparatus 1100 includes: a display module 1101, a determination module 1102, and a sending module 1103.

[0225] Display module 1101 is used to display the editing interface of the 3D editor, the editing interface showing at least two volume objects for selection.

[0226] The determining module 1102 is configured to, in response to an operation on the selection of the volume objects, determine N volume objects in the selected state among the at least two volume objects, where N is an integer greater than 1.

[0227] The sending module 1103 is used to send fusion indication information to the backend node in response to the first trigger operation; wherein, the fusion indication information is used to indicate the fusion of the first data files of the N volume objects to generate the first data file of the fused volume object, and the first data file of the volume object is used to record the attributes of the voxels included in the volume object.

[0228] In some embodiments, the sending module 1103 includes an acquisition submodule, a packaging submodule, and a sending submodule. Figure 11 (Not shown in the image).

[0229] The acquisition submodule is used to retrieve the first data file of the N volume objects from the asset database in response to the first trigger operation. The asset database is used to store the first data file of the volume objects.

[0230] The packaging submodule is used to package the first data files of the N volume objects into the fusion indication information.

[0231] The sending submodule is used to send the fusion instruction information to the backend node; wherein, the fusion instruction information is also used to instruct the output of the first data file of the fused volume object to the asset database.

[0232] In some embodiments, an acquisition submodule is configured to, in response to the first triggering operation, acquire metadata of the second data files of the N volume objects from the engine database; wherein the engine database is used to store the second data files of loaded volume objects, the loaded volume objects being volume objects loaded as edit objects in the 3D editor, and the second data files of the volume objects being used to render the volume objects in the 3D editor. Based on the metadata of the second data files of the N volume objects, the first data files of the N volume objects are acquired from the asset database.

[0233] In some embodiments, the display module 1101 is further configured to display a fusion mode setting item, which provides at least two fusion modes; in response to an operation of selecting a target fusion mode among the at least two fusion modes, display a parameter setting item corresponding to the target fusion mode; wherein different fusion modes correspond to different parameter setting items, and different parameter setting items are used to set different types of parameters; in response to a setting operation for the parameter setting item corresponding to the target fusion mode, display a target parameter set through the parameter setting item corresponding to the target fusion mode, the target parameter being used to fuse the N volume objects.

[0234] In some embodiments, the at least two fusion modes include a first fusion mode, and the parameter setting item corresponding to the first fusion mode includes a voxel size setting item, which is used to set the size of the voxels included in the fused volume object.

[0235] In some embodiments, the at least two fusion modes include a second fusion mode, and the parameter settings corresponding to the second fusion mode include a sampling rate setting and a fusion operation setting. The sampling rate setting is used to set the sampling rate for performing upsampling or downsampling on the volume objects, and the fusion operation setting is used to set the operation method used to fuse the N volume objects.

[0236] In some embodiments, the above-described apparatus further includes a preview module ( Figure 11 (Not shown in the image).

[0237] The preview module is used to obtain the first data file of the fused volume object when receiving the fusion completion information sent by the backend node; wherein the fusion completion information is used to indicate that the first data files of the N volume objects have been fused; and to display the fused volume object according to the first data file of the fused volume object.

[0238] In some embodiments, the preview module is used to convert the first data file of the merged volume object into a second data file of the merged volume object, wherein the data size of the second data file of the volume object is smaller than the data size of the first data file of the volume object; obtain the rendering parameters of the target volume object among the N volume objects; and render the merged volume object according to the rendering parameters of the target volume object and the second data file of the merged volume object.

[0239] In some embodiments, the target volume object is determined based on the order in which the N volume objects are selected.

[0240] In some embodiments, the volumetric object includes at least one of the following: volumetric cloud, volumetric fog, volumetric smoke, volumetric dry ice, and volumetric flame.

[0241] Please refer to Figure 12 This diagram illustrates a block diagram of an object processing apparatus according to another embodiment of this application. The apparatus has the function of implementing the aforementioned object processing method on the back-end node side. This function can be implemented in hardware or by hardware executing corresponding software. The apparatus 1200 can be a computer device or can be installed within a computer device. The apparatus 1200 includes a receiving module 1210 and a computing module 1220.

[0242] The receiving module 1210 is used to receive fusion indication information sent by the front-end node.

[0243] The fusion instruction information is used to indicate the fusion of a first data file containing N volumetric objects. The N volumetric objects are selected from at least two volumetric objects through an operation on the selection options for those objects. The editing interface of the 3D editor displayed by the front-end node includes selection options for at least two volumetric objects.

[0244] The calculation module 1220 is used to merge the first data files of the N volume objects to obtain the first data file of the merged volume objects.

[0245] The first data file of the volume object is used to record the attributes of the voxels included in the volume object.

[0246] In some embodiments, the calculation module 1220 is used to divide the N volume objects to obtain at least one object cluster; wherein the volume objects included in the object cluster are of the same type; and according to the at least one object cluster, to merge the first data files of the N volume objects respectively to obtain the first data file of the merged volume object.

[0247] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0248] Please refer to Figure 13 This diagram illustrates a structural block diagram of a computer device 1300 provided in one embodiment of this application. The computer device 1300 may be... Figure 3 The electronic device 100 shown may be a terminal device 110 or a server 120. The computer device 1300 is used to implement the object processing method provided in the above embodiments. Specifically: Typically, terminal device 1300 includes a processor 1301 and a memory 1302.

[0249] Processor 1301 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1301 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1301 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1301 may integrate a GPU, which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1301 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0250] The memory 1302 may include one or more computer-readable storage media, which may be non-transitory. The memory 1302 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1302 are used to store a computer program configured to be executed by one or more processors to implement the object processing method described above.

[0251] Those skilled in the art will understand that Figure 13 The structure shown does not constitute a limitation on the computer device 1300, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0252] In an exemplary embodiment, a computer-readable storage medium is also provided, wherein a computer program is stored in the storage medium, and the computer program, when executed by a processor, implements the above-described object processing method. Optionally, the computer-readable storage medium may include: ROM (Read-Only Memory), RAM (Random Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0253] In an exemplary embodiment, a computer program product is also provided, the computer program product including a computer program executed by a processor to implement the object processing method described above.

[0254] In an exemplary embodiment, a computer program product is also provided, the computer program product including a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, causing the computer device to perform the object processing method described above.

[0255] It should be noted that the collection and processing of relevant data (such as user-designed volume objects) in this application should strictly comply with the requirements of relevant national laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0256] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0257] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. An object processing method, characterized in that, The method includes: The editing interface of the 3D editor is displayed, which shows at least two volume objects for selection; In response to an operation on a selection of the volume objects, determine N volume objects that are selected among the at least two volume objects, where N is an integer greater than 1; In response to the first trigger operation, a fusion instruction message is sent to the backend node; wherein, the fusion instruction message is used to instruct the fusion of the first data files of the N volume objects to generate the first data file of the fused volume object, and the first data file of the volume object is used to record the attributes of the voxels included in the volume object.

2. The method according to claim 1, characterized in that, The response to the first triggering operation, sending fusion indication information to the backend node, includes: In response to the first triggering operation, the first data file of the N volume objects is obtained from the asset database, the asset database being used to store the first data file of the volume objects; Package the first data files of the N volume objects into the fusion indication information; The fusion instruction information is sent to the backend node; wherein the fusion instruction information is also used to instruct the output of the first data file of the fused volume object to the asset database.

3. The method according to claim 2, characterized in that, The step of retrieving the first data file of the N volume objects from the asset database in response to the first triggering operation includes: In response to the first triggering operation, the metadata of the second data files of the N volume objects is obtained from the engine database; wherein, the engine database is used to store the second data files of the loaded volume objects, the loaded volume objects refer to the volume objects loaded as editing objects of the 3D editor, and the second data files of the volume objects are used to render the volume objects in the 3D editor; Based on the metadata of the second data files of the N volume objects, the first data files of the N volume objects are obtained from the asset database.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Display the blending mode settings, which are used to provide at least two blending modes; In response to the operation of selecting a target fusion mode from the at least two fusion modes, the parameter setting items corresponding to the target fusion mode are displayed; wherein, different fusion modes correspond to different parameter setting items, and different parameter setting items are used to set different types of parameters; In response to a setting operation for the parameter setting item corresponding to the target fusion mode, the target parameters set through the parameter setting item corresponding to the target fusion mode are displayed, and the target parameters are used to fuse the N volume objects.

5. The method according to claim 4, characterized in that, The at least two fusion modes include a first fusion mode, and the parameter settings corresponding to the first fusion mode include a voxel size setting, which is used to set the size of the voxels included in the fused volume object.

6. The method according to claim 4 or 5, characterized in that, The at least two fusion modes include a second fusion mode. The parameter settings corresponding to the second fusion mode include a sampling rate setting and a fusion operation setting. The sampling rate setting is used to set the sampling rate for upsampling or downsampling the volume objects. The fusion operation setting is used to set the operation method used to fuse the N volume objects.

7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: Upon receiving a fusion completion message from the backend node, the first data file of the fused volume object is obtained; wherein, the fusion completion message is used to indicate that the first data files of the N volume objects have been successfully fused. The merged volume object is displayed based on the first data file of the merged volume object.

8. The method according to claim 7, characterized in that, The step of displaying the fused volume object based on the first data file of the fused volume object includes: The first data file of the fused volume object is converted into a second data file of the fused volume object, wherein the data size of the second data file of the volume object is smaller than the data size of the first data file of the volume object; Obtain the rendering parameters of the target volume object from the N volume objects; The merged volume object is rendered based on the rendering parameters of the target volume object and the second data file of the merged volume object.

9. The method according to claim 8, characterized in that, The target volume object is determined based on the order in which the N volume objects are selected.

10. The method according to any one of claims 1 to 9, characterized in that, The volume object includes at least one of the following: Volumetric clouds, volumetric fog, volumetric smoke, volumetric dry ice, volumetric flame.

11. An object processing method, characterized in that, The method includes: The front-end node displays the editing interface of the 3D editor, which shows selection options for at least two volume objects; The front-end node responds to the operation of the selection item for the volume object and determines N volume objects that are selected among the at least two volume objects, where N is an integer greater than 1; The front-end node responds to the first trigger operation by sending fusion instruction information to the back-end node; Upon receiving the fusion instruction information, the backend node fuses the first data files of the N volume objects to obtain the first data file of the fused volume object. The first data file of the volume object is used to record the attributes of the voxels included in the volume object.

12. The method according to claim 11, characterized in that, The process of fusing the first data files of the N volume objects to obtain the first data file of the fused volume object includes: Divide the N volume objects to obtain at least one object cluster; wherein the volume objects included in the object cluster are of the same type; Based on the at least one object cluster, the first data files of the N volume objects are merged to obtain the first data file of the merged volume object.

13. An object processing apparatus, characterized in that, The device includes: The display module is used to display the editing interface of the 3D editor, which displays at least two volume objects for selection; A determination module is configured to, in response to an operation on a selection item for the volume object, determine N volume objects that are in a selected state among the at least two volume objects, where N is an integer greater than 1; The sending module is used to send fusion indication information to the backend node in response to the first trigger operation; wherein, the fusion indication information is used to instruct the fusion of the first data files of the N volume objects to generate the first data file of the fused volume object, and the first data file of the volume object is used to record the attributes of the voxels included in the volume object.

14. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing a computer program that is loaded and executed by the processor to implement the method as claimed in any one of claims 1 to 10, or to implement the method as claimed in claim 11 or 12.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that is loaded and executed by a processor to implement the method as claimed in any one of claims 1 to 10, or to implement the method as claimed in claim 11 or 12.

16. A computer program product, characterized in that, The computer program product includes a computer program that is executed by a processor to implement the method as claimed in any one of claims 1 to 10, or to implement the method as claimed in claim 11 or 12.