WO2022148075A1 - Virtual object clustering method and apparatus, and storage medium and electronic apparatus - Google Patents

Virtual object clustering method and apparatus, and storage medium and electronic apparatus Download PDF

Info

Publication number
WO2022148075A1
WO2022148075A1 PCT/CN2021/122146 CN2021122146W WO2022148075A1 WO 2022148075 A1 WO2022148075 A1 WO 2022148075A1 CN 2021122146 W CN2021122146 W CN 2021122146W WO 2022148075 A1 WO2022148075 A1 WO 2022148075A1
Authority
WO
WIPO (PCT)
Prior art keywords
objects
fusion
initial
entity
target
Prior art date
Application number
PCT/CN2021/122146
Other languages
French (fr)
Chinese (zh)
Inventor
王耀民
Original Assignee
成都完美时空网络技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 成都完美时空网络技术有限公司 filed Critical 成都完美时空网络技术有限公司
Publication of WO2022148075A1 publication Critical patent/WO2022148075A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Definitions

  • the present invention relates to the field of computers, and in particular, to a method, device, storage medium and electronic device for clustering virtual objects.
  • the existing HLOD (Hierachy Level-of-Detail, Hierarchical Level of Detail model) system usually uses a separate solution based on the bounding volume (bounding sphere or bounding box) to calculate automatic clustering, and merges by computing
  • the method of dividing the volume of the back bounding volume by the percentage of the volume of the bounding volume before the merging to the volume of the bounding volume after the merging is used to estimate the priority of merging, that is, under the constraints of the size of the volume after merging, the object is preferentially merged into the estimated value
  • automatic clustering is realized.
  • the results of automatic clustering are not ideal because of the large error between the bounding volume and the mesh shape of the displayed 3D object.
  • the mesh volume is not large, but the bounding volume is large, such as the wall of a building, or a road surface, etc., resulting in objects being preferentially merged into the wall or road.
  • the present invention provides a method, device, storage medium and electronic device for clustering virtual objects, so as to at least solve the technical problem of low accuracy of clustering virtual objects in the related art.
  • a method for clustering virtual objects including: voxelizing virtual objects to be clustered in a current scene, and obtaining a corresponding virtual object corresponding to each of the virtual objects to be clustered. merging the entity objects to obtain an initial fusion object, and the volume of the bounding volume after the entity objects included in each initial fusion object is merged falls within the target threshold range; and, according to the initial fusion object The initial fusion object is clustered with the voxel data of , and the target fusion object is obtained as the clustering result, and the volume of the bounding volume corresponding to the plurality of solid objects included in the target fusion object falls within the target threshold range.
  • a virtual object clustering device including: a voxelization module, configured to voxelize the virtual objects to be clustered in the current scene, to obtain each The entity object corresponding to the virtual object to be clustered; the merging module is used for merging the entity objects to obtain an initial fusion object, and the volume colony of the bounding volume after the entity objects included in each initial fusion object are merged into the target threshold range; the clustering module is used to cluster the initial fusion object according to the voxel data of the initial fusion object, and obtain the target fusion object as the clustering result, and the target fusion object includes a plurality of The volume of the bounding volume corresponding to the solid object falls within the target threshold range.
  • a storage medium is further provided, where the storage medium includes a stored program, and the above method is executed when the program runs.
  • an electronic device including a memory, a processor, and a computer program/instruction stored on the memory, the processor implements the above-mentioned first program/instruction when the processor executes the computer program/instruction The steps of the method of the aspect.
  • a computer program product including a computer program, which implements the steps of the method in the first aspect when the computer program is executed by a processor.
  • the virtual objects to be clustered in the current scene are voxelized to obtain the entity object corresponding to each virtual object to be clustered; the entity objects are merged to obtain the initial fusion object, each The volume of the bounding volume after merging the entity objects included in the initial fusion object falls within the target threshold range; the initial fusion object is clustered according to the voxel data of the initial fusion object, and the target fusion object is obtained as the clustering result.
  • the virtual objects to be clustered in the current scene are subjected to voxelization processing to obtain entity objects, and the entity objects are merged to obtain satisfying clustering.
  • Conditional initial fusion object and then cluster the initial fusion object to obtain the target fusion object as the final clustering result.
  • the voxel representation can more accurately reflect the volume of the grid , so that the obtained bounding volume of the object is more in line with the real shape of the model, achieves the purpose of reducing the error between the bounding volume and the displayed virtual object grid shape, and thus achieves the technical effect of improving the accuracy of clustering virtual objects , thereby solving the technical problem of low accuracy of clustering virtual objects.
  • FIG. 1 is a schematic diagram of a hardware environment of a method for clustering virtual objects according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method for clustering virtual objects according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a virtual object voxelization according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a process of generating an initial MergeData object according to an optional embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a process of generating clusters according to an optional embodiment of the present invention.
  • FIG. 6 is a schematic diagram of an apparatus for clustering virtual objects according to an embodiment of the present invention.
  • FIG. 7 schematically shows a structural block diagram of an electronic device for implementing the method according to the present invention.
  • Figure 8 schematically shows a structural block diagram of a computer program product implementing the method according to the present invention.
  • a method for clustering virtual objects is provided.
  • the above clustering method for virtual objects can be applied to the hardware environment formed by the terminal 101 and the server 103 as shown in FIG. 1 .
  • the server 103 is connected to the terminal 101 through the network, and can be used to provide services (such as game services, application services, etc.) for the terminal or the client installed on the terminal, and a database can be set on the server or independently of the server,
  • the above-mentioned network includes but is not limited to: a wide area network, a metropolitan area network or a local area network, and the terminal 101 is not limited to a PC, a mobile phone, a tablet computer, and the like.
  • the method for clustering virtual objects in this embodiment of the present invention may be executed by the server 103 , may also be executed by the terminal 101 , or may be executed jointly by the server 103 and the terminal 101 .
  • the terminal 101 performs the method for clustering virtual objects according to the embodiment of the present invention, and may also be performed by a client installed on the terminal 101 .
  • FIG. 2 is a schematic flowchart of a method for clustering virtual objects according to an embodiment of the present invention. As shown in FIG. 2 , the method may include: step S202 , step S204 and step S206 .
  • step S202 the virtual objects to be clustered in the current scene are voxelized to obtain a physical object corresponding to each of the virtual objects to be clustered.
  • step S204 the entity objects are merged to obtain an initial fusion object, and the volume of the bounding volume after the combination of the entity objects included in each of the initial fusion objects falls within the target threshold range.
  • step S206 the initial fusion object is clustered according to the voxel data of the initial fusion object, and the target fusion object is obtained as the clustering result, and the bounding volumes corresponding to the plurality of entity objects included in the target fusion object are obtained.
  • the volume falls within the target threshold range.
  • the virtual objects to be clustered in the current scene are subjected to voxelization to obtain entity objects, and the entity objects are merged to obtain an initial fusion object that satisfies the clustering conditions, and then the initial fusion objects are divided into groups. cluster, and obtain the target fusion object as the final clustering result.
  • the voxel representation can more accurately reflect the volume of the mesh, so that the obtained bounding volume of the object is more in line with the reality of the model. shape, to achieve the purpose of reducing the error between the bounding volume and the displayed virtual object grid shape, thereby achieving the technical effect of improving the accuracy of clustering virtual objects, and then solving the accuracy of clustering virtual objects. Less technical issues.
  • the above clustering method for virtual objects may be applied to, but is not limited to, an HLOD (Hierachy Level-of-Detail, Hierarchical Level of Detail model) system to automatically perform virtual objects (such as 3D objects) in a scene. in the process of clustering.
  • HLOD Hierachy Level-of-Detail, Hierarchical Level of Detail model
  • the current scene may include, but is not limited to, a game scene, an animation scene, a film and television scene, and the like.
  • the current scene may be, but is not limited to, a 2D scene, a 3D scene, or a higher-dimensional scene, and so on.
  • the virtual objects in the current scene may include, but are not limited to, various models in the scene, such as mountains, water, trees, buildings, facilities, characters, props, etc. in the game scene.
  • the entity object corresponding to each virtual object to be clustered may include, but is not limited to, an Entity object and the like.
  • voxelization is the transformation of a geometric representation of an object into a voxel representation closest to the object, resulting in a voxel data set that not only includes surface information of the model, but also describes the model's surface information. internal properties.
  • FIG. 3 is a schematic diagram of voxelization of a virtual object according to an embodiment of the present invention. As shown in FIG. 3 , a voxelized wall surface of an L-shaped grid in a game scene is obtained by voxelization processing. After the model is voxelized, the voxel representation can more accurately reflect the volume of the mesh, and the number of small squares in the voxelized model can represent the volume of the mesh.
  • the virtual objects to be clustered in the current scene are voxelized to obtain a physical object corresponding to each virtual object, including steps S11 to S14.
  • step S11 a virtual object that is allowed to be clustered is obtained from the virtual objects included in the current scene as the virtual object to be clustered.
  • step S12 the virtual object to be clustered is voxelized to obtain voxel data of the virtual object to be clustered.
  • step S13 an initial entity object corresponding to the virtual object to be clustered is generated.
  • step S14 the voxel data of the virtual object to be clustered is saved into the initial entity object, and the entity object corresponding to the virtual object to be clustered is obtained.
  • the virtual objects to be clustered may be, but are not limited to, virtual objects in the scene that are allowed to be clustered.
  • the virtual objects to be clustered can be identified automatically or manually selected by the operator.
  • each voxel data of the virtual object to be clustered may only store an integer world coordinate, and a set of voxel data of the virtual object to be clustered, that is, a set of world coordinates, represents the location of the grid. world region.
  • all virtual objects to be clustered are voxelized, and then stored in a newly generated Entity object.
  • falling within the target threshold range may be, but not limited to, a clustering restriction, and the target threshold range may be, but not limited to, an upper limit value, that is, after the entity objects included in each initial fusion object are merged
  • the volume of the bounding volume cannot be too large.
  • the target threshold range may also be, but is not limited to, a threshold range, that is, the volume of the bounding volume after merging the solid objects included in each initial fusion object cannot be too large or too small.
  • the initial fusion object after merging the solid objects includes a group of virtual objects, and the smallest cube completely enclosing the group of virtual objects is the combined bounding volume.
  • the volume size of the combined bounding volume must meet the restriction requirements. For example, there is an upper limit requirement, and the volume size of the combined bounding volume cannot be too large.
  • combining the entity objects to obtain an initial fusion object includes steps S21 to S23.
  • step S21 all the entity objects are traversed, and it is determined whether the volume of the bounding volume obtained by merging any two entity objects falls within the target threshold range.
  • step S22 a fusion object is created for each pair of solid objects whose volumes of the combined bounding volume fall within the target threshold range.
  • step S23 each pair of entity objects is saved into the one fusion object to obtain the initial fusion object.
  • the fusion object may include, but is not limited to, a MergeData object.
  • any two Entity objects are tested to determine whether the combined bounding volume satisfies the size limit of automatic clustering (ie, the above-mentioned target threshold range), and for each pair of Entity objects that meet the conditions, create a MergeData object, and save the pair of Entity objects in the MergeData object to get the initial MergeData object.
  • the size limit of automatic clustering ie, the above-mentioned target threshold range
  • FIG. 4 is a schematic diagram of a process of generating an initial MergeData object according to an optional embodiment of the present invention, as shown in FIG. 4 .
  • Collect the virtual objects that can be clustered in the scene as virtual objects to be clustered perform voxelization processing on each virtual object, generate an Entity object for each virtual object, and record the voxel data of the virtual object in the In the Entity object, traverse all Entity objects, and judge whether any two Entity objects are merged, and judge whether the bounding volume satisfies the constraints (for example, whether it is less than the preset value) after the merger.
  • the constraints for example, whether it is less than the preset value
  • the MergeData object will not be generated. , if the constraints are met, record the two Entity objects in a MergeData object, get a MergeData object, voxelize the MergeData object, record the voxelized voxel data in its own object, and calculate the MergeData object The size of the number of voxels to get the initial MergeData object.
  • the clustering process may, but is not limited to, use a data structure diagram, such as a depth-first traversal method, a breadth-first traversal method, and the like.
  • a data structure diagram such as a depth-first traversal method, a breadth-first traversal method, and the like.
  • the voxel data of the initial fusion object may include, but is not limited to, the number of voxels of the initial fusion object (such as the number of voxels of the MergeData object calculated in FIG. voxel distance, etc.
  • clustering the initial fusion object according to the voxel data of the initial fusion object, and obtaining the target fusion object as the clustering result includes steps S31 and S32.
  • step S31 the initial fusion objects are merged according to the voxel data of the initial fusion objects to obtain candidate fusion objects, wherein the candidate fusion objects do not include common entity objects and each candidate fusion object The volume of the corresponding bounding volume falls within the target threshold range.
  • step S32 a fusion object satisfying the target condition is selected from the candidate fusion objects as the target fusion object.
  • the candidate fusion objects obtained after merging do not include common physical objects, and the volume of the bounding volume corresponding to each candidate fusion object falls within the target threshold range, that is, the process of preliminarily merging the initial fusion objects
  • the candidate fusion objects are further screened by using preset target conditions to be satisfied for clustering to obtain a final clustering result.
  • combining the initial fusion objects according to the voxel data of the initial fusion objects to obtain a candidate fusion object includes steps S41 to S47.
  • step S41 it is determined whether two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object.
  • step S42 initial fusion objects where the entity objects intersect are added to the first list, and initial fusion objects where the physical objects do not intersect are added to the second list.
  • step S43 sort the first list and the second list respectively according to the number of voxels of the initial fusion objects from large to small, and obtain a third list corresponding to the first list and a corresponding second list the fourth list.
  • step S44 the initial fusion objects including the public entity objects in the third list are merged until there is no initial fusion object including the public entity objects, and a fifth list is obtained, in which the initial fusion objects included in the fifth list are The volume of the bounding volume corresponding to the fusion object falls within the target threshold range.
  • step S45 after adding the fourth list to the fifth list, a sixth list is obtained.
  • step S46 the initial fusion objects including the public entity objects in the sixth list are merged until there is no initial fusion object including the public entity objects, and a seventh list is obtained, in which the initial fusion objects included in the seventh list are The volume of the bounding volume corresponding to the fusion object falls within the target threshold range.
  • step S47 an initial fusion object that is valid in the seventh list and includes more than one entity object is determined as the candidate fusion object.
  • the first list may be, but is not limited to, a list marked as ContactList
  • the second list may be, but not limited to, a list marked NoContactList
  • the third list is a list obtained after sorting the ContactList list
  • the fourth list is a list of NoContactList The resulting list after sorting the list.
  • a fifth list is obtained after merging the sorted ContactList lists.
  • the sixth list is obtained by adding the NoContactList list to the ContactList list after the merge operation. After the sixth list is merged again, a seventh list is obtained, and the initial fusion objects that meet the preset conditions in the seventh list are candidate fusion objects.
  • the created MergeData object it is determined whether the two Entity objects included therein intersect, and the MergeData objects intersected by the Entity objects are stored in ContactList, and the MergeData objects that are not intersected by the Entity objects are stored in NoContactList.
  • the ContactList and NoContactList are sorted in descending order, and the sorted ContactList and NoContactList are obtained as the third list and fourth list.
  • the above two merging processes are that after the merging operation is performed on the ContactList, NoContactList is added to the back of the ContactList after the merging operation, and the merging operation is continued.
  • an initial MergeData object that is valid and includes more than 1 entity objects is selected from the seventh list as a candidate fusion object.
  • Valid objects may include, but are not limited to, all objects included in the list, objects marked as valid tags in the list, or objects not marked as invalid tags in the list.
  • determining whether the two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object includes steps S51 and S52.
  • step S51 it is judged whether the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates.
  • step S52 if the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates, it is determined that the two entity objects included in the initial fusion object intersect.
  • whether the entity objects intersect may be determined by, but not limited to, by judging whether the same coordinates are stored in the two entity objects. For example, each Entity object stores a set of world coordinates through voxels. If in the voxel data stored in the two Entity objects of the initial MergeData object, the coordinates stored in the voxels in one Entity object are the same as those in the other Entity. If the coordinates stored in the voxels in the object are the same, the two Entity objects are considered to intersect.
  • the coordinates stored in the voxels in the two entity objects included in the initial fusion object do not include the same coordinates, it is determined that the two entity objects included in the initial fusion object do not intersect.
  • the case of not including the same coordinates may be used as a method for determining that the two entity objects do not intersect, or other methods may also be used to determine that the two entity objects do not intersect, which is not limited in this embodiment.
  • merging the initial fusion objects including the common entity objects in the third list includes steps S61 to S64.
  • step S61 two initial fusion objects including common entity objects are acquired from the third list.
  • step S62 it is determined whether the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range.
  • step S63 in the case that the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range, add the non-public entity objects included in the initial fusion objects that are later in the ordering to the lower ordering.
  • the initial fusion objects in the previous order are deleted or marked as the target label used to indicate that the objects are invalid.
  • step S64 in the case that the volume of the total bounding volume corresponding to the two initial fusion objects does not fall within the target threshold range, delete the common entity objects included in the initial fusion objects that are ranked later.
  • the above process traverses the initial fusion objects in the third list in a depth-first traversal manner.
  • the initial fusion objects in the third list can also be traversed in a breadth-first traversal manner.
  • any two initial MergeData objects in the third list include common entity objects, for example, one of them includes two Entity objects of A and B, and the other includes two Entity objects of B and C, it is necessary to Merge the two initial MergeData objects.
  • initially fused objects that are fused lower in order may be deleted to indicate that they are invalid, or the target tag may be marked to indicate that they are invalid. If the deletion means that the object is invalid, it can be considered that all the initial fusion objects in the seventh list are valid initial fusion objects. If the method of marking the target label indicates that the object is invalid, it can be considered that the initial fusion object without the target label in the seventh list is a valid initial fusion object.
  • the above-mentioned target tag may be, but is not limited to, an Unvalidated tag.
  • the initial fusion object marked as Unvalidated is the fusion object that has been merged into other initial fusion objects.
  • the merging rules of the above two merging processes may include, but are not limited to, the following: Rule 1: The initial fusion objects that are sorted later are merged into the initial fusion objects that are sorted earlier. Rule 2, when the two MergeData objects including the common Entity object no longer exist in the list, the merging ends.
  • the merged initial MergeData object when merging, all the elements in the initial MergeData object with the lower index are merged into the initial MergeData object with the first index. If the merged initial MergeData object satisfies the clustering condition, the merged initial MergeData object will be marked as Unvalidated. If the merged initial MergeData object does not meet the clustering condition, the public Entity object will be removed from the initial MergeData with the index later. object is deleted. For example, the first initial MergeData object includes two Entity objects A and B, and the second initial MergeData object includes two Entity objects B and C, then merge C into the first initial MergeData object to obtain A, B, C The initial MergeData object for the three Entity objects.
  • the initial fusion objects including the public entity objects in the sixth list are merged until there is no initial fusion object including the public entity objects, and the process of obtaining the seventh list is the same as the above-mentioned merging of the third list The process is similar and will not be repeated again.
  • selecting a fusion object that satisfies the target condition from the candidate fusion objects as the target fusion object includes steps S71 and S72.
  • step S71 it is determined whether each candidate fusion object satisfies the target condition.
  • the target fusion object is obtained by removing fusion objects that do not meet the target condition from the candidate fusion objects.
  • the target condition includes at least one of the following conditions: the number of voxels of each entity object in the fusion object is greater than the number of target voxels; the number of entity objects included in the fusion object is greater than the number of target entity objects; the number of entity objects included in the fusion object The voxel distance between them is smaller than the target distance.
  • one or more of the limitation of the number of voxels, the limitation of the number of solid objects, and the limitation of the distance between voxels may be used as target conditions to filter the target fusion object.
  • the voxel distance refers to the distance between two objects estimated by voxels.
  • voxel distance refers to the distance between two objects estimated by voxels.
  • voxel distance the distance between two objects estimated by voxels.
  • a and B their corresponding two sets of voxel data.
  • the closest one among all distances can be regarded as is the voxel distance between two objects.
  • the voxel distance of any two virtual objects in the cluster is greater than a threshold, then the result does not meet the clustering conditions, and the clustering can be directly eliminated from the clustering result.
  • a threshold may also be set for the number of entity objects in each candidate fusion object, and when the candidate fusion objects are finally screened, candidate fusion objects that do not reach the threshold are eliminated.
  • clustering the initial fusion object according to the voxel data of the initial fusion object, and obtaining the target fusion object as the clustering result includes steps S81 to S84.
  • step S81 the initial fusion objects are merged according to the voxel data of the initial fusion objects to obtain the target fusion object.
  • step S82 an initial clustering object is generated for each target fusion object.
  • step S83 the entity objects included in each target fusion object are saved to the one initial clustering object to obtain the target clustering object.
  • step S84 the target clustering object is added to the clustering list to obtain the clustering result.
  • the clustering object may be, but is not limited to, a Cluster object. After obtaining the target fusion object, a Cluster object is generated for each target fusion object, and the entity objects in the target fusion object are saved in the Cluster object, and the All generated Cluster objects are stored in the ClusterList list, which is the result of automatic clustering.
  • FIG. 5 is a schematic diagram of a process of generating clusters according to an optional embodiment of the present invention.
  • each initial MergeData object is processed Intersection judgment, the judgment process can be: judging whether the voxels of the two Entity objects included in each initial MergeData object include the same coordinates, if so, add the initial MergeData object to the ContactList, if not, add the initial MergeData object to the NoContactList .
  • the initial fusion objects in the obtained two sets of Lists are sorted from large to small according to the number of voxels.
  • a depth-first merge is performed on the elements in ContactList, and NoContactList is not considered in the merge process.
  • NoContactList is not considered in the merge process.
  • the merged result consider the elements in the NoContactList and perform a depth-first merge.
  • the merged List is filtered, and the MergeData objects that meet the limit of the number of elements are converted into Cluster objects, and the List composed of all Cluster objects is the clustering result.
  • FIG. 6 is a schematic diagram of an apparatus for clustering virtual objects according to an embodiment of the present invention.
  • the apparatus may include: a voxelization module 62 , a merging module 64 and a clustering module 66 .
  • the voxelization module 62 is configured to voxelize the virtual objects to be clustered in the current scene, so as to obtain a physical object corresponding to each of the virtual objects to be clustered.
  • the merging module 64 is configured to merge the entity objects to obtain an initial fusion object, and the volume of the bounding volume after merging the entity objects included in each initial fusion object falls within the target threshold range.
  • the clustering module 66 is configured to perform clustering on the initial fusion object according to the voxel data of the initial fusion object, and obtain the target fusion object as the clustering result, corresponding to the plurality of entity objects included in the target fusion object The volume of the bounding volume falls within the target threshold range.
  • the voxelization module 62 in this embodiment may be used to perform step S202 in this embodiment of the present invention
  • the merging module 64 in this embodiment may be used to perform step S204 in this embodiment of the present invention
  • the clustering module 66 in the embodiment may be used to perform step S206 in the embodiment of the present invention.
  • the above modules may run in the hardware environment as shown in FIG. 1 , and may be implemented by software or hardware.
  • the voxel representation can more accurately reflect the volume of the mesh, so that the obtained bounding volume of the object is more in line with the real shape of the model, achieving The purpose of reducing the error between the bounding volume and the displayed virtual object mesh shape, thereby achieving the technical effect of improving the accuracy of clustering virtual objects, thereby solving the technology of low accuracy of clustering virtual objects question.
  • the voxelization module includes: an acquisition unit, configured to acquire, from the virtual objects included in the current scene, a virtual object that allows clustering as the virtual object to be clustered; voxelization a unit for voxelizing the virtual object to be clustered to obtain voxel data of the virtual object to be clustered; a first generating unit for generating an initial value corresponding to the virtual object to be clustered an entity object; and a first saving unit, configured to save the voxel data of the virtual object to be clustered into the initial entity object to obtain the entity object corresponding to the virtual object to be clustered.
  • the merging module includes: a judging unit for traversing all the entity objects, and judging whether the volume of the bounding volume after merging any two entity objects falls within the target threshold range; a creating unit, used for creating a fusion object for each pair of entity objects whose volumes of the combined bounding volume fall within the target threshold range; a second saving unit, configured to save the each pair of entity objects into the one fusion object, The initial fusion object is obtained.
  • the clustering module includes: a first merging unit, configured to merge the initial fusion objects according to the voxel data of the initial fusion objects to obtain candidate fusion objects, and the candidate fusion objects are mutually Does not include public entity objects and the volume of the bounding volume corresponding to each candidate fusion object falls within the target threshold range; the screening unit is used for screening fusion objects that meet the target condition from the candidate fusion objects as the target fusion objects. Describe the target fusion object.
  • the first merging unit is configured to: determine whether two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object; add the initial fusion object intersected by the entity objects to the first list, and add the initial fusion objects whose entity objects do not intersect to the second list; sort the first list and the second list respectively according to the number of voxels of the initial fusion objects from large to small , obtain the third list corresponding to the first list and the fourth list corresponding to the second list; merge the initial fusion objects including the public entity objects in the third list until there is no entity including the public entity The initial fusion object of the object, a fifth list is obtained, and the volume of the bounding volume corresponding to the initial fusion object included in the fifth list falls within the target threshold range;
  • a sixth list is obtained; the initial fusion objects including the public entity objects in the sixth list are merged, until there is no initial fusion including the public entity objects object, obtain a seventh list, the volume of the bounding volume corresponding to the initial fusion object included in the seventh list falls within the target threshold range; the number of valid and included entity objects in the seventh list is greater than The initial fusion object of 1 is determined as the candidate fusion object.
  • the first merging unit is configured to: determine whether the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates; If the coordinates stored in the voxels in the two entity objects include the same coordinates, it is determined that the two entity objects included in the initial fusion object intersect.
  • the first merging unit is configured to: acquire from the third list two initial fusion objects including common entity objects; determine the total bounding volume corresponding to the two initial fusion objects Whether the volume falls within the target threshold range; if the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range, the non-public included in the initial fusion The entity object is added to the initial fusion object in the first order, and the initial fusion object in the lower order is deleted or marked as a target label for indicating that the object is invalid; in the total bounding volume corresponding to the two initial fusion objects If the volume does not fall within the target threshold range, the common entity objects included in the initial fusion objects that are later in the order are deleted.
  • the screening unit is configured to: determine whether each candidate fusion object satisfies the target condition; remove fusion objects that do not meet the target condition from the candidate fusion objects to obtain the target fusion object; the target condition includes at least one of the following conditions: the number of voxels of each entity object in the fusion object is greater than the number of target voxels; the number of entity objects included in the fusion object is greater than the number of target entity objects; the fusion object The voxel distance between the solid objects included in is less than the target distance.
  • the clustering module includes: a second merging unit for merging the initial fusion objects according to the voxel data of the initial fusion objects to obtain the target fusion object; a second generating unit , used to generate an initial clustering object for each target fusion object; the third storage unit is used to save the entity objects included in each target fusion object to the one initial clustering object, and obtain the target clustering object; an adding unit, used for adding the target clustering object to the clustering list to obtain the clustering result.
  • the above modules may run in the hardware environment as shown in FIG. 1 , and may be implemented by software or hardware, wherein the hardware environment includes a network environment.
  • Various component embodiments of the present invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof.
  • a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all functions of some or all components of the virtual object clustering apparatus according to the embodiment of the present invention.
  • the present invention can also be implemented as a program/instruction (eg, computer program/instruction and computer program product) for an apparatus or apparatus for performing some or all of the methods described herein.
  • Such programs/instructions implementing the present invention may be stored on a computer readable medium, or may exist in the form of one or more signals, such signals may be downloaded from an Internet website, or provided on a carrier signal, or in any form Available in other formats.
  • Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology.
  • Information may be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridges, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
  • PRAM phase-change memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • RAM random access memory
  • ROM read only memory
  • EEPROM Electrically Erasable Programm
  • FIG. 7 schematically shows an electronic device that can implement the method for clustering virtual objects according to the present invention, the electronic device comprising a processor 710 and a computer-readable medium in the form of a memory 720 .
  • Memory 720 is an example of a computer-readable medium having storage space 730 for storing computer programs/instructions 731 .
  • the various steps in the method for clustering virtual objects described above can be implemented.
  • Figure 8 schematically shows a block diagram of a computer program product implementing the method according to the invention.
  • the computer program product includes a computer program/instructions 810 that, when executed by a processor, such as the processor 710 shown in FIG. 7, enable the clustering of virtual objects described above steps in the method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A virtual object clustering method and apparatus, and a storage medium and an electronic apparatus. The method comprises: voxelizing virtual objects to be clustered in a current scene, so as to obtain an entity object corresponding to each virtual object to be clustered (S202); merging entity objects to obtain initial fusion objects, wherein the volume of a bounding volume obtained after the entity objects included in each initial fusion object are merged falls within a target threshold value range (S204); and clustering the initial fusion objects according to voxel data of the initial fusion objects, so as to obtain a target fusion object to act as a clustering result, wherein the volume of a bounding volume corresponding to a plurality of entity objects included in the target fusion object falls into the target threshold value range (S206). By means of the method, the technical problem of the accuracy of clustering virtual objects being relatively low is solved.

Description

一种虚拟对象的分簇方法、装置、存储介质和电子装置Method, device, storage medium and electronic device for clustering virtual objects
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求于2021年1月08日提交、申请号为202110025936.X且名称为“一种虚拟对象的分簇方法、装置、存储介质和电子装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on January 08, 2021, the application number is 202110025936.X and the title is "A method, device, storage medium and electronic device for clustering virtual objects", the entire content of which is Incorporated herein by reference.
技术领域technical field
本发明涉及计算机领域,尤其涉及一种虚拟对象的分簇方法、装置、存储介质和电子装置。The present invention relates to the field of computers, and in particular, to a method, device, storage medium and electronic device for clustering virtual objects.
背景技术Background technique
当前,3D(three dimensional,三维)大场景游戏越来越多,游戏对画面质量的要求也越来越高。为了满足玩家对游戏越来越挑剔的品味以及对游戏质量越来越高的要求,MMO(Massive Multiplayer Online,大型多人在线游戏)以及吃鸡游戏的火爆,导致手机游戏的3D场景越来越大。At present, there are more and more 3D (three dimensional, three-dimensional) large-scene games, and the requirements for game quality are getting higher and higher. In order to meet players' increasingly critical taste in games and higher and higher requirements for game quality, the popularity of MMO (Massive Multiplayer Online, massively multiplayer online games) and chicken-eating games has led to more and more 3D scenes in mobile games. big.
现有的HLOD(Hierachy Level-of-Detail,分层层次细节模型)系统在自动分簇方案上,通常使用单独基于包围体(包围球或者包围盒)的方案来计算自动分簇,通过计算合并后包围体体积除以合并前的包围体体积所占合并后包围体体积的百分比的方法,来估算合并优先级,即在满足合并后体积大小等条件的限制下,优先将物体合并进估值大的簇内,实现自动分簇。The existing HLOD (Hierachy Level-of-Detail, Hierarchical Level of Detail model) system usually uses a separate solution based on the bounding volume (bounding sphere or bounding box) to calculate automatic clustering, and merges by computing The method of dividing the volume of the back bounding volume by the percentage of the volume of the bounding volume before the merging to the volume of the bounding volume after the merging is used to estimate the priority of merging, that is, under the constraints of the size of the volume after merging, the object is preferentially merged into the estimated value In large clusters, automatic clustering is realized.
使用基于包围体方案时,因为包围体和显示的3D对象网格形状存在较大误差,自动分簇的结果并不理想。在实际应用中,可能会出现网格体积并不大,但包围体却很大的情况,比如建筑物的墙,或者路面等,导致物体会优先合并进墙上或者路上。When using the bounding volume-based scheme, the results of automatic clustering are not ideal because of the large error between the bounding volume and the mesh shape of the displayed 3D object. In practical applications, there may be cases where the mesh volume is not large, but the bounding volume is large, such as the wall of a building, or a road surface, etc., resulting in objects being preferentially merged into the wall or road.
针对上述的问题,目前尚未提出有效的解决方案。For the above problems, no effective solution has been proposed yet.
发明内容SUMMARY OF THE INVENTION
本发明提供了一种虚拟对象的分簇方法、装置、存储介质和电子装置,以至少解决相关技术中对虚拟对象进行分簇的准确性较低的技术问题。The present invention provides a method, device, storage medium and electronic device for clustering virtual objects, so as to at least solve the technical problem of low accuracy of clustering virtual objects in the related art.
根据本发明实施例的第一方面,提供了一种虚拟对象的分簇方法,包括:将当前场景中的待分簇的虚拟对象体素化,得到每个所述待分簇的虚拟对象对应的实体对象;对所述实体对象进行合并,得到初始融合对象,每个所述初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围;以及,根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果,所述目标融合对象中包括的多个实体对象所对应的包围体的体积落入所述目标阈值范围。According to a first aspect of the embodiments of the present invention, a method for clustering virtual objects is provided, including: voxelizing virtual objects to be clustered in a current scene, and obtaining a corresponding virtual object corresponding to each of the virtual objects to be clustered. merging the entity objects to obtain an initial fusion object, and the volume of the bounding volume after the entity objects included in each initial fusion object is merged falls within the target threshold range; and, according to the initial fusion object The initial fusion object is clustered with the voxel data of , and the target fusion object is obtained as the clustering result, and the volume of the bounding volume corresponding to the plurality of solid objects included in the target fusion object falls within the target threshold range.
根据本发明实施例的第二方面,还提供了一种虚拟对象的分簇装置,包括:体素化模块,用于将当前场景中的待分簇的虚拟对象体素化,得到每个所述待分簇的虚拟对象 对应的实体对象;合并模块,用于对所述实体对象进行合并,得到初始融合对象,每个所述初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围;分簇模块,用于根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果,所述目标融合对象中包括的多个实体对象所对应的包围体的体积落入所述目标阈值范围。According to a second aspect of the embodiments of the present invention, a virtual object clustering device is further provided, including: a voxelization module, configured to voxelize the virtual objects to be clustered in the current scene, to obtain each The entity object corresponding to the virtual object to be clustered; the merging module is used for merging the entity objects to obtain an initial fusion object, and the volume colony of the bounding volume after the entity objects included in each initial fusion object are merged into the target threshold range; the clustering module is used to cluster the initial fusion object according to the voxel data of the initial fusion object, and obtain the target fusion object as the clustering result, and the target fusion object includes a plurality of The volume of the bounding volume corresponding to the solid object falls within the target threshold range.
根据本发明实施例的第三方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。According to a third aspect of the embodiments of the present invention, a storage medium is further provided, where the storage medium includes a stored program, and the above method is executed when the program runs.
根据本发明实施例的第四方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上的计算机程序/指令,所述处理器执行所述计算机程序/指令时实现上述第一方面所述方法的步骤。According to a fourth aspect of the embodiments of the present invention, an electronic device is further provided, including a memory, a processor, and a computer program/instruction stored on the memory, the processor implements the above-mentioned first program/instruction when the processor executes the computer program/instruction The steps of the method of the aspect.
根据本发明实施例的第五方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述方法的步骤。According to a fifth aspect of the embodiments of the present invention, there is also provided a computer program product, including a computer program, which implements the steps of the method in the first aspect when the computer program is executed by a processor.
在本发明实施例中,采用将当前场景中的待分簇的虚拟对象体素化,得到每个待分簇的虚拟对象对应的实体对象;对实体对象进行合并,得到初始融合对象,每个初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围;根据初始融合对象的体素数据对初始融合对象进行分簇,得到目标融合对象作为分簇结果,目标融合对象中包括的多个实体对象所对应的包围体的体积落入目标阈值范围的方式,对当前场景中的待分簇的虚拟对象进行体素化处理得到实体对象,对实体对象进行合并得到满足分簇条件的初始融合对象,再对初始融合对象进行分簇,得到目标融合对象作为最终的分簇结果,对虚拟对象进行体素化处理之后,体素表示形式能更精准的反映出网格的体积,使得得到的对象的包围体更加符合模型的真实形状,达到了降低包围体和显示的虚拟对象网格形状之间误差的目的,从而实现了提高对虚拟对象进行分簇的准确性的技术效果,进而解决了对虚拟对象进行分簇的准确性较低的技术问题。In the embodiment of the present invention, the virtual objects to be clustered in the current scene are voxelized to obtain the entity object corresponding to each virtual object to be clustered; the entity objects are merged to obtain the initial fusion object, each The volume of the bounding volume after merging the entity objects included in the initial fusion object falls within the target threshold range; the initial fusion object is clustered according to the voxel data of the initial fusion object, and the target fusion object is obtained as the clustering result. In the way that the volume of the bounding volume corresponding to the included multiple entity objects falls within the target threshold range, the virtual objects to be clustered in the current scene are subjected to voxelization processing to obtain entity objects, and the entity objects are merged to obtain satisfying clustering. Conditional initial fusion object, and then cluster the initial fusion object to obtain the target fusion object as the final clustering result. After voxelization of the virtual object, the voxel representation can more accurately reflect the volume of the grid , so that the obtained bounding volume of the object is more in line with the real shape of the model, achieves the purpose of reducing the error between the bounding volume and the displayed virtual object grid shape, and thus achieves the technical effect of improving the accuracy of clustering virtual objects , thereby solving the technical problem of low accuracy of clustering virtual objects.
附图说明Description of drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description serve to explain the principles of the invention.
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. In other words, on the premise of no creative labor, other drawings can also be obtained from these drawings.
图1是根据本发明实施例的虚拟对象的分簇方法的硬件环境的示意图。FIG. 1 is a schematic diagram of a hardware environment of a method for clustering virtual objects according to an embodiment of the present invention.
图2是根据本发明实施例的一种虚拟对象的分簇方法的流程示意图。FIG. 2 is a schematic flowchart of a method for clustering virtual objects according to an embodiment of the present invention.
图3是根据本发明实施例的一种虚拟对象体素化的示意图。FIG. 3 is a schematic diagram of a virtual object voxelization according to an embodiment of the present invention.
图4是根据本发明可选的实施方式的一种生成初始MergeData对象过程的示意图。FIG. 4 is a schematic diagram of a process of generating an initial MergeData object according to an optional embodiment of the present invention.
图5是根据本发明可选的实施方式的一种生成分簇过程的示意图。FIG. 5 is a schematic diagram of a process of generating clusters according to an optional embodiment of the present invention.
图6是根据本发明实施例的一种虚拟对象的分簇装置的示意图。FIG. 6 is a schematic diagram of an apparatus for clustering virtual objects according to an embodiment of the present invention.
图7示意性地示出了用于实现根据本发明的方法的一种电子装置的结构框图。FIG. 7 schematically shows a structural block diagram of an electronic device for implementing the method according to the present invention.
图8示意性地示出了实现根据本发明的方法的一种计算机程序产品的结构框图。Figure 8 schematically shows a structural block diagram of a computer program product implementing the method according to the present invention.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。In order to make those skilled in the art better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only Embodiments are part of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。It should be noted that the terms "first", "second" and the like in the description and claims of the present invention and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence. It is to be understood that the data so used may be interchanged under appropriate circumstances such that the embodiments of the invention described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having" and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those expressly listed Rather, those steps or units may include other steps or units not expressly listed or inherent to these processes, methods, products or devices.
根据本发明实施例的第一方面,提供了一种虚拟对象的分簇的方法。According to a first aspect of the embodiments of the present invention, a method for clustering virtual objects is provided.
在一些实施例中,上述虚拟对象的分簇方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本发明实施例的虚拟对象的分簇方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本发明实施例的虚拟对象的分簇方法也可以是由安装在其上的客户端来执行。In some embodiments, the above clustering method for virtual objects can be applied to the hardware environment formed by the terminal 101 and the server 103 as shown in FIG. 1 . As shown in FIG. 1 , the server 103 is connected to the terminal 101 through the network, and can be used to provide services (such as game services, application services, etc.) for the terminal or the client installed on the terminal, and a database can be set on the server or independently of the server, For providing data storage services for the server 103, the above-mentioned network includes but is not limited to: a wide area network, a metropolitan area network or a local area network, and the terminal 101 is not limited to a PC, a mobile phone, a tablet computer, and the like. The method for clustering virtual objects in this embodiment of the present invention may be executed by the server 103 , may also be executed by the terminal 101 , or may be executed jointly by the server 103 and the terminal 101 . Wherein, the terminal 101 performs the method for clustering virtual objects according to the embodiment of the present invention, and may also be performed by a client installed on the terminal 101 .
图2是根据本发明实施例的一种虚拟对象的分簇方法的流程示意图,如图2所示,该方法可以包括:步骤S202、步骤S204和步骤S206。FIG. 2 is a schematic flowchart of a method for clustering virtual objects according to an embodiment of the present invention. As shown in FIG. 2 , the method may include: step S202 , step S204 and step S206 .
在步骤S202,将当前场景中的待分簇的虚拟对象体素化,得到每个所述待分簇的虚拟对象对应的实体对象。In step S202, the virtual objects to be clustered in the current scene are voxelized to obtain a physical object corresponding to each of the virtual objects to be clustered.
在步骤S204,对所述实体对象进行合并,得到初始融合对象,每个所述初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围。In step S204, the entity objects are merged to obtain an initial fusion object, and the volume of the bounding volume after the combination of the entity objects included in each of the initial fusion objects falls within the target threshold range.
在步骤S206,根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果,所述目标融合对象中包括的多个实体对象所对应的包围体的体积落入所述目标阈值范围。In step S206, the initial fusion object is clustered according to the voxel data of the initial fusion object, and the target fusion object is obtained as the clustering result, and the bounding volumes corresponding to the plurality of entity objects included in the target fusion object are obtained. The volume falls within the target threshold range.
通过上述步骤S202至步骤S206,对当前场景中的待分簇的虚拟对象进行体素化处理得到实体对象,对实体对象进行合并得到满足分簇条件的初始融合对象,再对初始融合对象进行分簇,得到目标融合对象作为最终的分簇结果,对虚拟对象进行体素化处理之后,体素表示形式能更精准的反映出网格的体积,使得得到的对象的包围体更加符合模型的真实形状,达到了降低包围体和显示的虚拟对象网格形状之间误差的目的,从而实现了提高对虚拟对象进行分簇的准确性的技术效果,进而解决了对虚拟对象进行分簇的准确性较低的技术问题。Through the above steps S202 to S206, the virtual objects to be clustered in the current scene are subjected to voxelization to obtain entity objects, and the entity objects are merged to obtain an initial fusion object that satisfies the clustering conditions, and then the initial fusion objects are divided into groups. cluster, and obtain the target fusion object as the final clustering result. After voxelizing the virtual object, the voxel representation can more accurately reflect the volume of the mesh, so that the obtained bounding volume of the object is more in line with the reality of the model. shape, to achieve the purpose of reducing the error between the bounding volume and the displayed virtual object grid shape, thereby achieving the technical effect of improving the accuracy of clustering virtual objects, and then solving the accuracy of clustering virtual objects. Less technical issues.
在一些实施例中,上述虚拟对象的分簇方法可以但不限于应用于HLOD(Hierachy  Level-of-Detail,分层层次细节模型)系统中对场景中的虚拟对象(比如:3D对象)进行自动分簇的过程中。In some embodiments, the above clustering method for virtual objects may be applied to, but is not limited to, an HLOD (Hierachy Level-of-Detail, Hierarchical Level of Detail model) system to automatically perform virtual objects (such as 3D objects) in a scene. in the process of clustering.
在步骤S202提供的技术方案中,当前场景可以但不限于包括游戏场景,动画场景,影视场景等等。该当前场景可以但不限于为2D场景,3D场景,或者更高维度的场景等等。In the technical solution provided in step S202, the current scene may include, but is not limited to, a game scene, an animation scene, a film and television scene, and the like. The current scene may be, but is not limited to, a 2D scene, a 3D scene, or a higher-dimensional scene, and so on.
在一些实施例中,当前场景中的虚拟对象可以但不限于包括场景中的各种模型,比如:游戏场景中的山、水、树木、建筑、设施、角色、道具等等。In some embodiments, the virtual objects in the current scene may include, but are not limited to, various models in the scene, such as mountains, water, trees, buildings, facilities, characters, props, etc. in the game scene.
在一些实施例中,每个待分簇的虚拟对象对应的实体对象可以但不限于包括Entity对象等等。In some embodiments, the entity object corresponding to each virtual object to be clustered may include, but is not limited to, an Entity object and the like.
在一些实施例中,体素化(Voxelization)是将物体的几何形式表示转换成最接近该物体的体素表示形式,产生体素数据集,其不仅包括模型的表面信息,而且能描述模型的内部属性。图3是根据本发明实施例的一种虚拟对象体素化的示意图,如图3所示,对游戏场景中的一个L型网格的墙面进行体素化处理得到了体素化后的模型,体素化之后,体素表示形式能更精准的反映出网格的体积,体素化后的模型中小方块的多少就可以表示网格的体积大小。In some embodiments, voxelization is the transformation of a geometric representation of an object into a voxel representation closest to the object, resulting in a voxel data set that not only includes surface information of the model, but also describes the model's surface information. internal properties. FIG. 3 is a schematic diagram of voxelization of a virtual object according to an embodiment of the present invention. As shown in FIG. 3 , a voxelized wall surface of an L-shaped grid in a game scene is obtained by voxelization processing. After the model is voxelized, the voxel representation can more accurately reflect the volume of the mesh, and the number of small squares in the voxelized model can represent the volume of the mesh.
在一些实施例中,将当前场景中的待分簇的虚拟对象体素化,得到每个虚拟对象对应的实体对象包括:步骤S11至步骤S14。In some embodiments, the virtual objects to be clustered in the current scene are voxelized to obtain a physical object corresponding to each virtual object, including steps S11 to S14.
在步骤S11,从所述当前场景所包括的虚拟对象中获取允许分簇的虚拟对象作为所述待分簇的虚拟对象。In step S11, a virtual object that is allowed to be clustered is obtained from the virtual objects included in the current scene as the virtual object to be clustered.
在步骤S12,将所述待分簇的虚拟对象体素化,得到所述待分簇的虚拟对象的体素数据。In step S12, the virtual object to be clustered is voxelized to obtain voxel data of the virtual object to be clustered.
在步骤S13,生成所述待分簇的虚拟对象对应的初始实体对象。In step S13, an initial entity object corresponding to the virtual object to be clustered is generated.
在步骤S14,将所述待分簇的虚拟对象的体素数据保存到所述初始实体对象中,得到所述待分簇的虚拟对象对应的实体对象。In step S14, the voxel data of the virtual object to be clustered is saved into the initial entity object, and the entity object corresponding to the virtual object to be clustered is obtained.
在一些实施例中,待分簇的虚拟对象可以但不限于是场景中允许分簇的虚拟对象。待分簇的虚拟对象可以是自动识别出来的,也可以是由操作人员手动选择的。In some embodiments, the virtual objects to be clustered may be, but are not limited to, virtual objects in the scene that are allowed to be clustered. The virtual objects to be clustered can be identified automatically or manually selected by the operator.
在一些实施例中,待分簇的虚拟对象的每一个体素数据可以只存储一个整数的世界坐标,待分簇的虚拟对象的一组体素数据即一组世界坐标,代表了网格所在世界区域。In some embodiments, each voxel data of the virtual object to be clustered may only store an integer world coordinate, and a set of voxel data of the virtual object to be clustered, that is, a set of world coordinates, represents the location of the grid. world region.
可选地,在本实施例中,将所有的待分簇的虚拟对象体素化,然后将其保存在新生成的一个Entity(实体)对象中。Optionally, in this embodiment, all virtual objects to be clustered are voxelized, and then stored in a newly generated Entity object.
在步骤S204提供的技术方案中,落入目标阈值范围可以但不限于是分簇的限制条件,目标阈值范围可以但不限于为上限值,即每个初始融合对象中包括的实体对象合并后的包围体的体积不能过大。目标阈值范围也可以但不限于为一个阈值范围,即每个初始融合对象中包括的实体对象合并后的包围体的体积不能过大也不能过小。In the technical solution provided in step S204, falling within the target threshold range may be, but not limited to, a clustering restriction, and the target threshold range may be, but not limited to, an upper limit value, that is, after the entity objects included in each initial fusion object are merged The volume of the bounding volume cannot be too large. The target threshold range may also be, but is not limited to, a threshold range, that is, the volume of the bounding volume after merging the solid objects included in each initial fusion object cannot be too large or too small.
在一些实施例中,合并实体对象后的初始融合对象中包括一组虚拟对象,把这组虚拟对象完全包裹在内的最小立方体为合并后的包围体。合并后的包围体的体积大小要满足限制要求,比如:有一个上限要求,合并后的包围体的体积大小不能过大。In some embodiments, the initial fusion object after merging the solid objects includes a group of virtual objects, and the smallest cube completely enclosing the group of virtual objects is the combined bounding volume. The volume size of the combined bounding volume must meet the restriction requirements. For example, there is an upper limit requirement, and the volume size of the combined bounding volume cannot be too large.
作为一种可选的实施例,对所述实体对象进行合并,得到初始融合对象包括:步骤S21至步骤S23。As an optional embodiment, combining the entity objects to obtain an initial fusion object includes steps S21 to S23.
在步骤S21,遍历所有的所述实体对象,判断任意两个实体对象合并后的包围体的体积是否落入所述目标阈值范围。In step S21, all the entity objects are traversed, and it is determined whether the volume of the bounding volume obtained by merging any two entity objects falls within the target threshold range.
在步骤S22,为合并后的包围体的体积落入所述目标阈值范围的每一对实体对象创建一个融合对象。In step S22, a fusion object is created for each pair of solid objects whose volumes of the combined bounding volume fall within the target threshold range.
在步骤S23,将所述每一对实体对象保存到所述一个融合对象中,得到所述初始融合对象。In step S23, each pair of entity objects is saved into the one fusion object to obtain the initial fusion object.
在一些实施例中,融合对象可以但不限于包括MergeData对象。In some embodiments, the fusion object may include, but is not limited to, a MergeData object.
在一些实施例中,对任意两个Entity对象进行测试,判断其合并之后的包围体是否满足自动分簇的大小限制(即上述目标阈值范围),对于满足条件的每一对Entity对象,创建一个MergeData对象,并将这一对Entity对象保存在MergeData对象中,得到初始MergeData对象。In some embodiments, any two Entity objects are tested to determine whether the combined bounding volume satisfies the size limit of automatic clustering (ie, the above-mentioned target threshold range), and for each pair of Entity objects that meet the conditions, create a MergeData object, and save the pair of Entity objects in the MergeData object to get the initial MergeData object.
在一些实施方式中,提供了一种根据待分簇的虚拟对象生成初始MergeData对象的过程,图4是根据本发明可选的实施方式的一种生成初始MergeData对象过程的示意图,如图4所示,收集场景中可分簇的虚拟对象作为待分簇的虚拟对象,对每一个虚拟对象进行体素化处理,为每一个虚拟对象生成一个Entity对象,并将虚拟对象的体素数据记录在Entity对象中,遍历所有的Entity对象,对任意两个Entity对象进行合并判断,判断合并后包围体是否满足限制条件(比如:是否小于预设值),如果不满足限制条件,则不生成MergeData对象,如果满足限制条件,则将两个Entity对象记录在一个MergeData对象中,得到MergeData对象,对MergeData对象进行体素化,并将体素化后的体素数据记录在自身对象中,计算MergeData对象的体素数量大小,得到初始MergeData对象。In some embodiments, a process of generating an initial MergeData object according to a virtual object to be clustered is provided. FIG. 4 is a schematic diagram of a process of generating an initial MergeData object according to an optional embodiment of the present invention, as shown in FIG. 4 . Collect the virtual objects that can be clustered in the scene as virtual objects to be clustered, perform voxelization processing on each virtual object, generate an Entity object for each virtual object, and record the voxel data of the virtual object in the In the Entity object, traverse all Entity objects, and judge whether any two Entity objects are merged, and judge whether the bounding volume satisfies the constraints (for example, whether it is less than the preset value) after the merger. If the constraints are not met, the MergeData object will not be generated. , if the constraints are met, record the two Entity objects in a MergeData object, get a MergeData object, voxelize the MergeData object, record the voxelized voxel data in its own object, and calculate the MergeData object The size of the number of voxels to get the initial MergeData object.
在步骤S206提供的技术方案中,分簇过程中可以但不限于采用数据结构图的方式,比如:深度优先的遍历方式和广度优先的遍历方式等等。通过数据结构图的遍历过程,将可以到达的节点,并且符合合并后大小限制的节点放到一起,组成一个簇,从而得到分簇结果。In the technical solution provided in step S206, the clustering process may, but is not limited to, use a data structure diagram, such as a depth-first traversal method, a breadth-first traversal method, and the like. Through the traversal process of the data structure graph, the reachable nodes and the nodes that meet the size limit after merging are put together to form a cluster, so as to obtain the clustering result.
在一些实施例中,初始融合对象的体素数据可以但不限于包括初始融合对象的体素数量(比如图4中计算得到的MergeData对象的体素数量大小),初始融合对象中实体对象之间的体素距离等等。In some embodiments, the voxel data of the initial fusion object may include, but is not limited to, the number of voxels of the initial fusion object (such as the number of voxels of the MergeData object calculated in FIG. voxel distance, etc.
在一些实施例中,根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果包括:步骤S31和步骤S32。In some embodiments, clustering the initial fusion object according to the voxel data of the initial fusion object, and obtaining the target fusion object as the clustering result includes steps S31 and S32.
在步骤S31,根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到候选融合对象,其中,所述候选融合对象互相不包括公共的实体对象且每个所述候选融合对象所对应的包围体的体积落入所述目标阈值范围。In step S31, the initial fusion objects are merged according to the voxel data of the initial fusion objects to obtain candidate fusion objects, wherein the candidate fusion objects do not include common entity objects and each candidate fusion object The volume of the corresponding bounding volume falls within the target threshold range.
在步骤S32,从所述候选融合对象中筛选满足目标条件的融合对象作为所述目标融合对象。In step S32, a fusion object satisfying the target condition is selected from the candidate fusion objects as the target fusion object.
在一些实施例中,合并后得到的候选融合对象互相不包括公共的实体对象且每个候选融合对象所对应的包围体的体积落入目标阈值范围,也就是说,初步合并初始融合对象的过程中包括两个合并条件,条件一是合并后得到的候选融合对象互相不包括公共的实体对象,条件二是合并后的每个候选融合对象所对应的包围体的体积小于一定的阈值,不会过大。In some embodiments, the candidate fusion objects obtained after merging do not include common physical objects, and the volume of the bounding volume corresponding to each candidate fusion object falls within the target threshold range, that is, the process of preliminarily merging the initial fusion objects There are two merging conditions. The first condition is that the candidate fusion objects obtained after merging do not include common entity objects, and the second condition is that the volume of the bounding volume corresponding to each candidate fusion object after merging is less than a certain threshold, and will not is too big.
在一些实施例中,初步合并初始融合对象得到候选融合对象后,再利用预先设置的分簇需满足的目标条件对候选融合对象进行更进一步的筛选,得到最终的分簇结果。In some embodiments, after initially merging the initial fusion objects to obtain candidate fusion objects, the candidate fusion objects are further screened by using preset target conditions to be satisfied for clustering to obtain a final clustering result.
作为一种可选的实施例,根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到候选融合对象包括:步骤S41至步骤S47。As an optional embodiment, combining the initial fusion objects according to the voxel data of the initial fusion objects to obtain a candidate fusion object includes steps S41 to S47.
在步骤S41,根据所述初始融合对象的体素数据判断所述初始融合对象所包括的两个实体对象是否相交。In step S41, it is determined whether two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object.
在步骤S42,将实体对象相交的初始融合对象添加到第一列表中,并将实体对象不相交的初始融合对象添加到第二列表中。In step S42, initial fusion objects where the entity objects intersect are added to the first list, and initial fusion objects where the physical objects do not intersect are added to the second list.
在步骤S43,分别按照初始融合对象的体素数量从大到小对所述第一列表和所述第二列表进行排序,得到所述第一列表对应的第三列表和所述第二列表对应的第四列表。In step S43, sort the first list and the second list respectively according to the number of voxels of the initial fusion objects from large to small, and obtain a third list corresponding to the first list and a corresponding second list the fourth list.
在步骤S44,对所述第三列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第五列表,所述第五列表中包括的初始融合对象所对应的包围体的体积落入所述目标阈值范围。In step S44, the initial fusion objects including the public entity objects in the third list are merged until there is no initial fusion object including the public entity objects, and a fifth list is obtained, in which the initial fusion objects included in the fifth list are The volume of the bounding volume corresponding to the fusion object falls within the target threshold range.
在步骤S45,将所述第四列表加入到所述第五列表之后,得到第六列表。In step S45, after adding the fourth list to the fifth list, a sixth list is obtained.
在步骤S46,对所述第六列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第七列表,所述第七列表中包括的初始融合对象所对应的包围体的体积落入所述目标阈值范围。In step S46, the initial fusion objects including the public entity objects in the sixth list are merged until there is no initial fusion object including the public entity objects, and a seventh list is obtained, in which the initial fusion objects included in the seventh list are The volume of the bounding volume corresponding to the fusion object falls within the target threshold range.
在步骤S47,将所述第七列表中有效的且所包括的实体对象数量大于1的初始融合对象确定为所述候选融合对象。In step S47, an initial fusion object that is valid in the seventh list and includes more than one entity object is determined as the candidate fusion object.
在一些实施例中,上述第一列表可以但不限于标记为ContactList列表,上述第二列表可以但不限于标记为NoContactList列表,第三列表是对ContactList列表排序后得到的列表,第四列表是对NoContactList列表排序后得到的列表。对排序后的ContactList列表进行合并操作后得到第五列表。将NoContactList列表加入到合并操作后的ContactList列表得到第六列表。对第六列表再一次进行合并操作后得到第七列表,第七列表中符合预设条件的初始融合对象即为候选融合对象。In some embodiments, the first list may be, but is not limited to, a list marked as ContactList, the second list may be, but not limited to, a list marked NoContactList, the third list is a list obtained after sorting the ContactList list, and the fourth list is a list of NoContactList The resulting list after sorting the list. A fifth list is obtained after merging the sorted ContactList lists. The sixth list is obtained by adding the NoContactList list to the ContactList list after the merge operation. After the sixth list is merged again, a seventh list is obtained, and the initial fusion objects that meet the preset conditions in the seventh list are candidate fusion objects.
在一些实施例中,对于创建的MergeData对象,判断其所包括的两个Entity对象是否有相交,将Entity对象相交的MergeData对象存储到ContactList中,Entity对象没有相交的MergeData对象存储到NoContactList中。In some embodiments, for the created MergeData object, it is determined whether the two Entity objects included therein intersect, and the MergeData objects intersected by the Entity objects are stored in ContactList, and the MergeData objects that are not intersected by the Entity objects are stored in NoContactList.
在一些实施例中,根据每个初始融合对象中两个Entity对象所含体素的数量,按照从大到小的方式,分别对ContactList和NoContactList进行排序,得到排序后的ContactList和NoContactList作为第三列表和第四列表。In some embodiments, according to the number of voxels contained in the two Entity objects in each initial fusion object, the ContactList and NoContactList are sorted in descending order, and the sorted ContactList and NoContactList are obtained as the third list and fourth list.
在一些实施例中,上述两个合并过程为对ContactList执行完合并操作之后,将NoContactList加入到合并操作后的ContactList后边,继续执行合并操作。In some embodiments, the above two merging processes are that after the merging operation is performed on the ContactList, NoContactList is added to the back of the ContactList after the merging operation, and the merging operation is continued.
在一些实施例中,执行完两次合并操作后,从第七列表中筛选有效的且包括的实体对象数量大于1的初始MergeData对象作为候选融合对象。有效的对象可以但不限于包括:列表中所包括的全部对象、列表中标记为有效标记的对象或者列表中未标记为无效标记的对象。In some embodiments, after two merge operations are performed, an initial MergeData object that is valid and includes more than 1 entity objects is selected from the seventh list as a candidate fusion object. Valid objects may include, but are not limited to, all objects included in the list, objects marked as valid tags in the list, or objects not marked as invalid tags in the list.
在一些实施例中,根据所述初始融合对象的体素数据判断所述初始融合对象所包括的两个实体对象是否相交包括:步骤S51和步骤S52。In some embodiments, determining whether the two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object includes steps S51 and S52.
在步骤S51,判断所述初始融合对象所包括的两个实体对象中的体素所存储的坐标中是否包括相同坐标。In step S51, it is judged whether the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates.
在步骤S52,在所述初始融合对象所包括的两个实体对象中的体素所存储的坐标中包括相同坐标的情况下,确定所述初始融合对象所包括的两个实体对象相交。In step S52, if the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates, it is determined that the two entity objects included in the initial fusion object intersect.
在一些实施例中,可以但不限于采用判断两个实体对象中是否存储了相同坐标的方式对实体对象是否相交进行判断。比如:每个Entity对象都通过体素存储了一组世界坐标,若初始MergeData对象的两个Entity对象所存储的体素数据中,其中一个Entity对象中的体素所存储的坐标与另外一个Entity对象中体素所存储的坐标相同,则认为两个Entity对象相交了。In some embodiments, whether the entity objects intersect may be determined by, but not limited to, by judging whether the same coordinates are stored in the two entity objects. For example, each Entity object stores a set of world coordinates through voxels. If in the voxel data stored in the two Entity objects of the initial MergeData object, the coordinates stored in the voxels in one Entity object are the same as those in the other Entity. If the coordinates stored in the voxels in the object are the same, the two Entity objects are considered to intersect.
在一些实施例中,在初始融合对象所包括的两个实体对象中的体素所存储的坐标中不包括相同坐标的情况下,确定初始融合对象所包括的两个实体对象不相交。可以将不包括相同坐标的情况作为确定两个实体对象不相交的方式,或者也可以采用其他方式确定两个实体对象不相交,在本实施例中不作限定。In some embodiments, if the coordinates stored in the voxels in the two entity objects included in the initial fusion object do not include the same coordinates, it is determined that the two entity objects included in the initial fusion object do not intersect. The case of not including the same coordinates may be used as a method for determining that the two entity objects do not intersect, or other methods may also be used to determine that the two entity objects do not intersect, which is not limited in this embodiment.
在一些实施例中,对所述第三列表中包括公共的实体对象的初始融合对象进行合并包括:步骤S61至步骤S64。In some embodiments, merging the initial fusion objects including the common entity objects in the third list includes steps S61 to S64.
在步骤S61,从所述第三列表中获取包括公共的实体对象的两个初始融合对象。In step S61, two initial fusion objects including common entity objects are acquired from the third list.
在步骤S62,判断所述两个初始融合对象所对应的总包围体的体积是否落入所述目标阈值范围。In step S62, it is determined whether the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range.
在步骤S63,在所述两个初始融合对象所对应的总包围体的体积落入所述目标阈值范围的情况下,将排序靠后的初始融合对象中包括的非公共实体对象添加到排序靠前的初始融合对象中,并将排序靠后的初始融合对象删除或者标记为用于指示对象无效的目标标签。In step S63, in the case that the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range, add the non-public entity objects included in the initial fusion objects that are later in the ordering to the lower ordering The initial fusion objects in the previous order are deleted or marked as the target label used to indicate that the objects are invalid.
在步骤S64,在所述两个初始融合对象所对应的总包围体的体积未落入所述目标阈值范围的情况下,将排序靠后的初始融合对象中包括的公共实体对象删除。In step S64, in the case that the volume of the total bounding volume corresponding to the two initial fusion objects does not fall within the target threshold range, delete the common entity objects included in the initial fusion objects that are ranked later.
在一些实施例中,上述过程以深度优先的遍历方式遍历第三列表中的初始融合对象。也可以以广度优先的遍历方式遍历第三列表中的初始融合对象。In some embodiments, the above process traverses the initial fusion objects in the third list in a depth-first traversal manner. The initial fusion objects in the third list can also be traversed in a breadth-first traversal manner.
在一些实施例中,对第三列表中的任意两个初始MergeData对象,如果包括公共的实体对象,如其中一个包括A,B两个Entity对象,一个包括B,C两个Entity对象,则需要对这两个初始MergeData对象进行合并。In some embodiments, if any two initial MergeData objects in the third list include common entity objects, for example, one of them includes two Entity objects of A and B, and the other includes two Entity objects of B and C, it is necessary to Merge the two initial MergeData objects.
在一些实施例中,对于排序靠后的被融合的初始融合对象可以将其删除以表示其无效,或者标记目标标签来表示其无效。如果采用删除的方式表示对象无效,则可以认为在第七列表中的全部初始融合对象为有效的初始融合对象。如果采用标记目标标签的方式表示对象无效,则可以认为在第七列表中未标记目标标签的初始融合对象为有效的初始融合对象。In some embodiments, initially fused objects that are fused lower in order may be deleted to indicate that they are invalid, or the target tag may be marked to indicate that they are invalid. If the deletion means that the object is invalid, it can be considered that all the initial fusion objects in the seventh list are valid initial fusion objects. If the method of marking the target label indicates that the object is invalid, it can be considered that the initial fusion object without the target label in the seventh list is a valid initial fusion object.
在一些实施例中,上述目标标签可以但不限于为Unvalidated标签。标记为Unvalidated的初始融合对象即为已经合并到其他初始融合对象中的融合对象。In some embodiments, the above-mentioned target tag may be, but is not limited to, an Unvalidated tag. The initial fusion object marked as Unvalidated is the fusion object that has been merged into other initial fusion objects.
在一些实施例中,上述两个合并过程的合并规则可以但不限于包括:规则一,将排序在后面的初始融合对象尽量向排序在前面的初始融合对象里进行合并。规则二,当列表中不再存在包括公共Entity对象的两个MergeData对象后,合并结束。In some embodiments, the merging rules of the above two merging processes may include, but are not limited to, the following: Rule 1: The initial fusion objects that are sorted later are merged into the initial fusion objects that are sorted earlier. Rule 2, when the two MergeData objects including the common Entity object no longer exist in the list, the merging ends.
在一些实施例中,合并时,将索引靠后的初始MergeData对象中的元素全部合并到索引靠前的初始MergeData对象中。如果合并后的初始MergeData对象满足分簇条件,则将被合并的初始MergeData对象标记为Unvalidated,如果合并后的初始MergeData对象不满足分簇条件,则将公共的Entity对象从索引靠后的初始MergeData对象中删除。如第一个初始MergeData对象包括A,B两个Entity对象,第二个初始MergeData对象包括B,C两个Entity对象,则将C合并进第一个初始MergeData对象,得到包括A,B,C三个Entity对象的初始MergeData对象。In some embodiments, when merging, all the elements in the initial MergeData object with the lower index are merged into the initial MergeData object with the first index. If the merged initial MergeData object satisfies the clustering condition, the merged initial MergeData object will be marked as Unvalidated. If the merged initial MergeData object does not meet the clustering condition, the public Entity object will be removed from the initial MergeData with the index later. object is deleted. For example, the first initial MergeData object includes two Entity objects A and B, and the second initial MergeData object includes two Entity objects B and C, then merge C into the first initial MergeData object to obtain A, B, C The initial MergeData object for the three Entity objects.
如果C合并进第一个初始MergeData对象后,A,B,C三个Entity对象所构成的包围体超过了分簇对包围体的体积限制,则不能将C合并进第一个初始MergeData对象,此时将B元素从第二个初始MergeData对象中删除,第二个初始MergeData对象变为只包括C一个Entity对象的初始MergeData对象。If after C is merged into the first initial MergeData object, the bounding volume formed by the three Entity objects A, B and C exceeds the volume limit of the bounding volume by clustering, then C cannot be merged into the first initial MergeData object, At this point, the B element is removed from the second initial MergeData object, and the second initial MergeData object becomes an initial MergeData object that only includes C one Entity object.
如果C合并进第一个初始MergeData对象后,A,B,C三个Entity对象所构成的包围体未超过分簇对包围体的体积限制,则可以将C合并进第一个初始MergeData对象,此时将第二个初始MergeData对象标记为Unvalidated。If after C is merged into the first initial MergeData object, the bounding volume formed by the three Entity objects A, B, and C does not exceed the volume limit of the bounding volume by clustering, then C can be merged into the first initial MergeData object, The second initial MergeData object is marked as Unvalidated at this point.
在一些实施例中,对第六列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第七列表的过程与上述对第三列表进行合并的过程类似,再次不在赘述。In some embodiments, the initial fusion objects including the public entity objects in the sixth list are merged until there is no initial fusion object including the public entity objects, and the process of obtaining the seventh list is the same as the above-mentioned merging of the third list The process is similar and will not be repeated again.
作为一种可选的实施例,从所述候选融合对象中筛选满足目标条件的融合对象作为所述目标融合对象包括:步骤S71和S72。As an optional embodiment, selecting a fusion object that satisfies the target condition from the candidate fusion objects as the target fusion object includes steps S71 and S72.
在步骤S71,确定每个所述候选融合对象是否满足所述目标条件。In step S71, it is determined whether each candidate fusion object satisfies the target condition.
在步骤S72,将不满足所述目标条件的融合对象从所述候选融合对象中剔除得到所述目标融合对象。目标条件包括以下条件中的至少一者:融合对象中每个实体对象的体素数量大于目标体素数量;融合对象中包括的实体对象的数量大于目标实体对象数量;融合对象中包括的实体对象之间的体素距离小于目标距离。In step S72, the target fusion object is obtained by removing fusion objects that do not meet the target condition from the candidate fusion objects. The target condition includes at least one of the following conditions: the number of voxels of each entity object in the fusion object is greater than the number of target voxels; the number of entity objects included in the fusion object is greater than the number of target entity objects; the number of entity objects included in the fusion object The voxel distance between them is smaller than the target distance.
在一些实施例中,可以将体素数量的限制、实体对象的数量的限制、体素距离的限制中的一个或者多个限制条件作为目标条件来筛选目标融合对象。In some embodiments, one or more of the limitation of the number of voxels, the limitation of the number of solid objects, and the limitation of the distance between voxels may be used as target conditions to filter the target fusion object.
在一些实施例中,以体素距离的限制为例,体素距离指通过体素估算的两个物体之间的距离。假设有两个虚拟对象,其对应的两组体素数据分别为A和B,比较A中每个体素和B中每个体素之间的距离,在所有距离中最近的那个,可以将其视为两个物体间的体素距离。假设在分簇结束后,簇内的任意两个虚拟对象的体素距离都大于一个阈值,则这个结果不满足分簇条件,则可以直接将这个分簇从分簇结果中剔除。In some embodiments, taking the limitation of voxel distance as an example, the voxel distance refers to the distance between two objects estimated by voxels. Suppose there are two virtual objects, and their corresponding two sets of voxel data are A and B, respectively. Compare the distance between each voxel in A and each voxel in B, and the closest one among all distances can be regarded as is the voxel distance between two objects. Assuming that after the clustering ends, the voxel distance of any two virtual objects in the cluster is greater than a threshold, then the result does not meet the clustering conditions, and the clustering can be directly eliminated from the clustering result.
在一些实施例中,还可以对每一个候选融合对象内实体对象的数量设定一个阈值,在最后筛选候选融合对象时,将达不到阈值的候选融合对象剔除。In some embodiments, a threshold may also be set for the number of entity objects in each candidate fusion object, and when the candidate fusion objects are finally screened, candidate fusion objects that do not reach the threshold are eliminated.
在一些实施例中,根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果包括:步骤S81至步骤S84。In some embodiments, clustering the initial fusion object according to the voxel data of the initial fusion object, and obtaining the target fusion object as the clustering result includes steps S81 to S84.
在步骤S81,根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到所述目标融合对象。In step S81, the initial fusion objects are merged according to the voxel data of the initial fusion objects to obtain the target fusion object.
在步骤S82,为每一个目标融合对象生成一个初始分簇对象。In step S82, an initial clustering object is generated for each target fusion object.
在步骤S83,将所述每一个目标融合对象中包括的实体对象保存到所述一个初始 分簇对象,得到目标分簇对象。In step S83, the entity objects included in each target fusion object are saved to the one initial clustering object to obtain the target clustering object.
在步骤S84,将所述目标分簇对象添加到分簇列表中得到所述分簇结果。In step S84, the target clustering object is added to the clustering list to obtain the clustering result.
在一些实施例中,分簇对象可以但不限于为Cluster对象,得到目标融合对象后,对每个目标融合对象生成一个Cluster对象,并将目标融合对象中的实体对象保存到Cluster对象中,将所有生成的Cluster对象保存到ClusterList列表中,此ClusterList列表即为自动分簇的结果。In some embodiments, the clustering object may be, but is not limited to, a Cluster object. After obtaining the target fusion object, a Cluster object is generated for each target fusion object, and the entity objects in the target fusion object are saved in the Cluster object, and the All generated Cluster objects are stored in the ClusterList list, which is the result of automatic clustering.
在一些实施方式中,提供了一种生成分簇的过程,图5是根据本发明可选的实施方式的一种生成分簇过程的示意图,如图5所示,对每一个初始MergeData对象进行相交判断,判断过程可以为:判断每个初始MergeData对象包括的两个Entity对象的体素是否包括相同坐标,如果是则将该初始MergeData对象加入ContactList中,如果否则将该初始MergeData对象加入NoContactList中。上述相交判断的过程循环结束后,对得到的两组List中的初始融合对象根据体素数量进行从大到小的排序。排序后,对ContactList中的元素进行深度优先的合并,合并过程不考虑NoContactList。对合并后的结果,考虑NoContactList中的元素再进行一次深度优先的合并。对合并后的List进行筛选,将满足元素个数限制的MergeData对象转化为Cluster对象,所有Cluster对象所组成的List即为分簇结果。In some embodiments, a process of generating clusters is provided. FIG. 5 is a schematic diagram of a process of generating clusters according to an optional embodiment of the present invention. As shown in FIG. 5 , each initial MergeData object is processed Intersection judgment, the judgment process can be: judging whether the voxels of the two Entity objects included in each initial MergeData object include the same coordinates, if so, add the initial MergeData object to the ContactList, if not, add the initial MergeData object to the NoContactList . After the above-mentioned intersection judgment process cycle ends, the initial fusion objects in the obtained two sets of Lists are sorted from large to small according to the number of voxels. After sorting, a depth-first merge is performed on the elements in ContactList, and NoContactList is not considered in the merge process. For the merged result, consider the elements in the NoContactList and perform a depth-first merge. The merged List is filtered, and the MergeData objects that meet the limit of the number of elements are converted into Cluster objects, and the List composed of all Cluster objects is the clustering result.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。It should be noted that, for the sake of simple description, the foregoing method embodiments are all expressed as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action sequence. As in accordance with the present invention, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。From the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is better implementation. Based on this understanding, the technical solutions of the present invention can be embodied in the form of software products in essence or the parts that make contributions to the prior art, and the computer software products are stored in a storage medium (such as ROM/RAM, magnetic disk, CD-ROM), including several instructions to make an electronic device (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present invention.
根据本发明实施例的第二方面,还提供了一种用于实施上述虚拟对象的分簇方法的虚拟对象的分簇装置。图6是根据本发明实施例的一种虚拟对象的分簇装置的示意图,如图6所示,该装置可以包括:体素化模块62、合并模块64和分簇模块66。According to a second aspect of the embodiments of the present invention, there is also provided an apparatus for clustering virtual objects for implementing the above method for clustering virtual objects. FIG. 6 is a schematic diagram of an apparatus for clustering virtual objects according to an embodiment of the present invention. As shown in FIG. 6 , the apparatus may include: a voxelization module 62 , a merging module 64 and a clustering module 66 .
体素化模块62,用于将当前场景中的待分簇的虚拟对象体素化,得到每个所述待分簇的虚拟对象对应的实体对象。The voxelization module 62 is configured to voxelize the virtual objects to be clustered in the current scene, so as to obtain a physical object corresponding to each of the virtual objects to be clustered.
合并模块64,用于对所述实体对象进行合并,得到初始融合对象,每个所述初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围。The merging module 64 is configured to merge the entity objects to obtain an initial fusion object, and the volume of the bounding volume after merging the entity objects included in each initial fusion object falls within the target threshold range.
分簇模块66,用于根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果,所述目标融合对象中包括的多个实体对象所对应的包围体的体积落入所述目标阈值范围。The clustering module 66 is configured to perform clustering on the initial fusion object according to the voxel data of the initial fusion object, and obtain the target fusion object as the clustering result, corresponding to the plurality of entity objects included in the target fusion object The volume of the bounding volume falls within the target threshold range.
需要说明的是,该实施例中的体素化模块62可以用于执行本发明实施例中的步骤S202,该实施例中的合并模块64可以用于执行本发明实施例中的步骤S204,该实施例 中的分簇模块66可以用于执行本发明实施例中的步骤S206。It should be noted that the voxelization module 62 in this embodiment may be used to perform step S202 in this embodiment of the present invention, and the merging module 64 in this embodiment may be used to perform step S204 in this embodiment of the present invention. The clustering module 66 in the embodiment may be used to perform step S206 in the embodiment of the present invention.
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所发明的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。It should be noted here that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content of the inventions in the above embodiments. It should be noted that, as a part of the device, the above modules may run in the hardware environment as shown in FIG. 1 , and may be implemented by software or hardware.
通过上述模块,对当前场景中的待分簇的虚拟对象进行体素化处理得到实体对象,对实体对象进行合并得到满足分簇条件的初始融合对象,再对初始融合对象进行分簇,得到目标融合对象作为最终的分簇结果,对虚拟对象进行体素化处理之后,体素表示形式能更精准的反映出网格的体积,使得得到的对象的包围体更加符合模型的真实形状,达到了降低包围体和显示的虚拟对象网格形状之间误差的目的,从而实现了提高对虚拟对象进行分簇的准确性的技术效果,进而解决了对虚拟对象进行分簇的准确性较低的技术问题。Through the above modules, voxelize the virtual objects to be clustered in the current scene to obtain solid objects, merge the solid objects to obtain an initial fusion object that satisfies the clustering conditions, and then cluster the initial fusion objects to obtain the target The fusion object is used as the final clustering result. After the virtual object is voxelized, the voxel representation can more accurately reflect the volume of the mesh, so that the obtained bounding volume of the object is more in line with the real shape of the model, achieving The purpose of reducing the error between the bounding volume and the displayed virtual object mesh shape, thereby achieving the technical effect of improving the accuracy of clustering virtual objects, thereby solving the technology of low accuracy of clustering virtual objects question.
在一些实施例中,所述体素化模块包括:获取单元,用于从所述当前场景所包括的虚拟对象中获取允许分簇的虚拟对象作为所述待分簇的虚拟对象;体素化单元,用于将所述待分簇的虚拟对象体素化,得到所述待分簇的虚拟对象的体素数据;第一生成单元,用于生成所述待分簇的虚拟对象对应的初始实体对象;第一保存单元,用于将所述待分簇的虚拟对象的体素数据保存到所述初始实体对象中,得到所述待分簇的虚拟对象对应的实体对象。In some embodiments, the voxelization module includes: an acquisition unit, configured to acquire, from the virtual objects included in the current scene, a virtual object that allows clustering as the virtual object to be clustered; voxelization a unit for voxelizing the virtual object to be clustered to obtain voxel data of the virtual object to be clustered; a first generating unit for generating an initial value corresponding to the virtual object to be clustered an entity object; and a first saving unit, configured to save the voxel data of the virtual object to be clustered into the initial entity object to obtain the entity object corresponding to the virtual object to be clustered.
在一些实施例中,合并模块包括:判断单元,用于遍历所有的所述实体对象,判断任意两个实体对象合并后的包围体的体积是否落入所述目标阈值范围;创建单元,用于为合并后的包围体的体积落入所述目标阈值范围的每一对实体对象创建一个融合对象;第二保存单元,用于将所述每一对实体对象保存到所述一个融合对象中,得到所述初始融合对象。In some embodiments, the merging module includes: a judging unit for traversing all the entity objects, and judging whether the volume of the bounding volume after merging any two entity objects falls within the target threshold range; a creating unit, used for creating a fusion object for each pair of entity objects whose volumes of the combined bounding volume fall within the target threshold range; a second saving unit, configured to save the each pair of entity objects into the one fusion object, The initial fusion object is obtained.
在一些实施例中,所述分簇模块包括:第一合并单元,用于根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到候选融合对象,所述候选融合对象互相不包括公共的实体对象且每个所述候选融合对象所对应的包围体的体积落入所述目标阈值范围;筛选单元,用于从所述候选融合对象中筛选满足目标条件的融合对象作为所述目标融合对象。In some embodiments, the clustering module includes: a first merging unit, configured to merge the initial fusion objects according to the voxel data of the initial fusion objects to obtain candidate fusion objects, and the candidate fusion objects are mutually Does not include public entity objects and the volume of the bounding volume corresponding to each candidate fusion object falls within the target threshold range; the screening unit is used for screening fusion objects that meet the target condition from the candidate fusion objects as the target fusion objects. Describe the target fusion object.
在一些实施例中,所述第一合并单元用于:根据所述初始融合对象的体素数据判断所述初始融合对象所包括的两个实体对象是否相交;将实体对象相交的初始融合对象添加到第一列表中,并将实体对象不相交的初始融合对象添加到第二列表中;分别按照初始融合对象的体素数量从大到小对所述第一列表和所述第二列表进行排序,得到所述第一列表对应的第三列表和所述第二列表对应的第四列表;对所述第三列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第五列表,所述第五列表中包括的初始融合对象所对应的包围体的体积落入所述目标阈值范围;In some embodiments, the first merging unit is configured to: determine whether two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object; add the initial fusion object intersected by the entity objects to the first list, and add the initial fusion objects whose entity objects do not intersect to the second list; sort the first list and the second list respectively according to the number of voxels of the initial fusion objects from large to small , obtain the third list corresponding to the first list and the fourth list corresponding to the second list; merge the initial fusion objects including the public entity objects in the third list until there is no entity including the public entity The initial fusion object of the object, a fifth list is obtained, and the volume of the bounding volume corresponding to the initial fusion object included in the fifth list falls within the target threshold range;
将所述第四列表加入到所述第五列表之后,得到第六列表;对所述第六列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第七列表,所述第七列表中包括的初始融合对象所对应的包围体的体积落入所述目标阈值范围;将所述第七列表中有效的且所包括的实体对象数量大于1的初始融合对象确定为所述候选融合对象。After the fourth list is added to the fifth list, a sixth list is obtained; the initial fusion objects including the public entity objects in the sixth list are merged, until there is no initial fusion including the public entity objects object, obtain a seventh list, the volume of the bounding volume corresponding to the initial fusion object included in the seventh list falls within the target threshold range; the number of valid and included entity objects in the seventh list is greater than The initial fusion object of 1 is determined as the candidate fusion object.
在一些实施例中,所述第一合并单元用于:判断所述初始融合对象所包括的两个 实体对象中的体素所存储的坐标中是否包括相同坐标;在所述初始融合对象所包括的两个实体对象中的体素所存储的坐标中包括相同坐标的情况下,确定所述初始融合对象所包括的两个实体对象相交。In some embodiments, the first merging unit is configured to: determine whether the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates; If the coordinates stored in the voxels in the two entity objects include the same coordinates, it is determined that the two entity objects included in the initial fusion object intersect.
在一些实施例中,所述第一合并单元用于:从所述第三列表中获取包括公共的实体对象的两个初始融合对象;判断所述两个初始融合对象所对应的总包围体的体积是否落入所述目标阈值范围;在所述两个初始融合对象所对应的总包围体的体积落入所述目标阈值范围的情况下,将排序靠后的初始融合对象中包括的非公共实体对象添加到排序靠前的初始融合对象中,并将排序靠后的初始融合对象删除或者标记为用于指示对象无效的目标标签;在所述两个初始融合对象所对应的总包围体的体积未落入所述目标阈值范围的情况下,将排序靠后的初始融合对象中包括的公共实体对象删除。In some embodiments, the first merging unit is configured to: acquire from the third list two initial fusion objects including common entity objects; determine the total bounding volume corresponding to the two initial fusion objects Whether the volume falls within the target threshold range; if the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range, the non-public included in the initial fusion The entity object is added to the initial fusion object in the first order, and the initial fusion object in the lower order is deleted or marked as a target label for indicating that the object is invalid; in the total bounding volume corresponding to the two initial fusion objects If the volume does not fall within the target threshold range, the common entity objects included in the initial fusion objects that are later in the order are deleted.
在一些实施例中,所述筛选单元用于:确定每个所述候选融合对象是否满足所述目标条件;将不满足所述目标条件的融合对象从所述候选融合对象中剔除得到所述目标融合对象;所述目标条件包括以下条件中的至少一者:融合对象中每个实体对象的体素数量大于目标体素数量;融合对象中包括的实体对象的数量大于目标实体对象数量;融合对象中包括的实体对象之间的体素距离小于目标距离。In some embodiments, the screening unit is configured to: determine whether each candidate fusion object satisfies the target condition; remove fusion objects that do not meet the target condition from the candidate fusion objects to obtain the target fusion object; the target condition includes at least one of the following conditions: the number of voxels of each entity object in the fusion object is greater than the number of target voxels; the number of entity objects included in the fusion object is greater than the number of target entity objects; the fusion object The voxel distance between the solid objects included in is less than the target distance.
在一些实施例中,所述分簇模块包括:第二合并单元,用于根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到所述目标融合对象;第二生成单元,用于为每一个目标融合对象生成一个初始分簇对象;第三保存单元,用于将所述每一个目标融合对象中包括的实体对象保存到所述一个初始分簇对象,得到目标分簇对象;添加单元,用于将所述目标分簇对象添加到分簇列表中得到所述分簇结果。In some embodiments, the clustering module includes: a second merging unit for merging the initial fusion objects according to the voxel data of the initial fusion objects to obtain the target fusion object; a second generating unit , used to generate an initial clustering object for each target fusion object; the third storage unit is used to save the entity objects included in each target fusion object to the one initial clustering object, and obtain the target clustering object; an adding unit, used for adding the target clustering object to the clustering list to obtain the clustering result.
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。It should be noted here that the examples and application scenarios implemented by the foregoing modules and corresponding steps are the same, but are not limited to the contents disclosed in the foregoing embodiments. It should be noted that, as a part of the device, the above modules may run in the hardware environment as shown in FIG. 1 , and may be implemented by software or hardware, wherein the hardware environment includes a network environment.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟对象的分簇装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置的程序/指令(例如,计算机程序/指令和计算机程序产品)。这样的实现本发明的程序/指令可以存储在计算机可读介质上,或者可以一个或者多个信号的形式存在,这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。Various component embodiments of the present invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all functions of some or all components of the virtual object clustering apparatus according to the embodiment of the present invention. The present invention can also be implemented as a program/instruction (eg, computer program/instruction and computer program product) for an apparatus or apparatus for performing some or all of the methods described herein. Such programs/instructions implementing the present invention may be stored on a computer readable medium, or may exist in the form of one or more signals, such signals may be downloaded from an Internet website, or provided on a carrier signal, or in any form Available in other formats.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质, 可用于存储可以被计算设备访问的信息。Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridges, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
图7示意性地示出了可以实现根据本发明的虚拟对象的分簇方法的电子装置,该电子装置包括处理器710和以存储器720形式的计算机可读介质。存储器720是计算机可读介质的一个示例,其具有用于存储计算机程序/指令731的存储空间730。当所述计算机程序/指令731由处理器710执行时,可实现上文所描述的虚拟对象的分簇方法中的各个步骤。FIG. 7 schematically shows an electronic device that can implement the method for clustering virtual objects according to the present invention, the electronic device comprising a processor 710 and a computer-readable medium in the form of a memory 720 . Memory 720 is an example of a computer-readable medium having storage space 730 for storing computer programs/instructions 731 . When the computer program/instructions 731 are executed by the processor 710, the various steps in the method for clustering virtual objects described above can be implemented.
图8示意性地示出了实现根据本发明的方法的计算机程序产品的框图。所述计算机程序产品包括计算机程序/指令810,当所述计算机程序/指令810被诸如图7所示的处理器710之类的处理器执行时,可实现上文所描述的虚拟对象的分簇方法中的各个步骤。Figure 8 schematically shows a block diagram of a computer program product implementing the method according to the invention. The computer program product includes a computer program/instructions 810 that, when executed by a processor, such as the processor 710 shown in FIG. 7, enable the clustering of virtual objects described above steps in the method.
上文对本说明书特定实施例进行了描述,其与其它实施例一并涵盖于所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定遵循示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可行的或者有利的。Specific embodiments of this specification have been described above, and other embodiments are intended to be included within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. Additionally, the processes depicted in the figures do not necessarily follow the specific order shown, or sequential order, to achieve desirable results. In certain embodiments, multitasking and parallel processing are also possible or advantageous.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device comprising a series of elements includes not only those elements, but also Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.
应可理解,以上所述实施例仅为举例说明本发明之目的而并非对本发明进行限制。在不脱离本发明基本精神及特性的前提下,本领域技术人员还可以通过其他方式来实施本发明。本发明的范围当以后附的权利要求为准,凡在本说明书一个或多个实施例的精神和原则之内所做的任何修改、等同替换、改进等,皆应涵盖其中。It should be understood that the above-mentioned embodiments are only for the purpose of illustrating the present invention and not for limiting the present invention. Those skilled in the art can also implement the present invention in other ways without departing from the basic spirit and characteristics of the present invention. The scope of the present invention shall be determined by the appended claims, and any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of one or more embodiments of this specification shall be covered therein.

Claims (13)

  1. 一种虚拟对象的分簇方法,包括:A clustering method for virtual objects, comprising:
    将当前场景中的待分簇的虚拟对象体素化,得到每个所述待分簇的虚拟对象对应的实体对象;voxelizing the virtual objects to be clustered in the current scene, to obtain a physical object corresponding to each of the virtual objects to be clustered;
    对所述实体对象进行合并,得到初始融合对象,每个所述初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围;The entity objects are merged to obtain an initial fusion object, and the volume of the bounding volume after the entity objects included in each initial fusion object is merged falls within the target threshold range;
    根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果,所述目标融合对象中包括的多个实体对象所对应的包围体的体积落入所述目标阈值范围。The initial fusion object is clustered according to the voxel data of the initial fusion object, and the target fusion object is obtained as the clustering result. The volume of the bounding volume corresponding to the plurality of entity objects included in the target fusion object falls within the target threshold range.
  2. 根据权利要求1所述的方法,其中,将当前场景中的待分簇的虚拟对象体素化,得到每个虚拟对象对应的实体对象包括:The method according to claim 1, wherein, voxelizing the virtual objects to be clustered in the current scene, and obtaining the entity object corresponding to each virtual object comprises:
    从所述当前场景所包括的虚拟对象中获取允许分簇的虚拟对象作为所述待分簇的虚拟对象;Acquiring virtual objects that allow clustering from virtual objects included in the current scene as the virtual objects to be clustered;
    将所述待分簇的虚拟对象体素化,得到所述待分簇的虚拟对象的体素数据;voxelizing the virtual object to be clustered to obtain voxel data of the virtual object to be clustered;
    生成所述待分簇的虚拟对象对应的初始实体对象;generating an initial entity object corresponding to the virtual object to be clustered;
    将所述待分簇的虚拟对象的体素数据保存到所述初始实体对象中,得到所述待分簇的虚拟对象对应的实体对象。The voxel data of the virtual object to be clustered is saved into the initial entity object, and the entity object corresponding to the virtual object to be clustered is obtained.
  3. 根据权利要求1所述的方法,其中,对所述实体对象进行合并,得到初始融合对象包括:The method according to claim 1, wherein combining the entity objects to obtain an initial fusion object comprises:
    遍历所有的所述实体对象,判断任意两个实体对象合并后的包围体的体积是否落入所述目标阈值范围;Traverse all the entity objects, and determine whether the volume of the bounding volume after the merger of any two entity objects falls within the target threshold range;
    为合并后的包围体的体积落入所述目标阈值范围的每一对实体对象创建一个融合对象;creating a fusion object for each pair of solid objects whose volumes of the combined bounding volume fall within the target threshold range;
    将所述每一对实体对象保存到所述一个融合对象中,得到所述初始融合对象。Saving each pair of entity objects into the one fusion object to obtain the initial fusion object.
  4. 根据权利要求1所述的方法,其中,根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果包括:The method according to claim 1, wherein the initial fusion object is clustered according to the voxel data of the initial fusion object, and obtaining the target fusion object as a clustering result comprises:
    根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到候选融合对象,所述候选融合对象互相不包括公共的实体对象且每个所述候选融合对象所对应的包围体的体积落入所述目标阈值范围;The initial fusion objects are merged according to the voxel data of the initial fusion objects to obtain candidate fusion objects. The candidate fusion objects do not include common entity objects and each candidate fusion object corresponds to the bounding volume of the volume falls within the target threshold range;
    从所述候选融合对象中筛选满足目标条件的融合对象作为所述目标融合对象。A fusion object satisfying the target condition is selected from the candidate fusion objects as the target fusion object.
  5. 根据权利要求4所述的方法,其中,根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到候选融合对象包括:The method according to claim 4, wherein combining the initial fusion objects according to the voxel data of the initial fusion objects to obtain candidate fusion objects comprises:
    根据所述初始融合对象的体素数据判断所述初始融合对象所包括的两个实体对象是否相交;Determine whether two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object;
    将实体对象相交的初始融合对象添加到第一列表中,并将实体对象不相交的初始融合对象添加到第二列表中;adding the initial fusion objects where the entity objects intersect to the first list, and adding the initial fusion objects where the entity objects do not intersect to the second list;
    分别按照初始融合对象的体素数量从大到小对所述第一列表和所述第二列表进行排 序,得到所述第一列表对应的第三列表和所述第二列表对应的第四列表;Sort the first list and the second list respectively according to the number of voxels of the initial fusion object from large to small, and obtain a third list corresponding to the first list and a fourth list corresponding to the second list ;
    对所述第三列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第五列表,所述第五列表中包括的初始融合对象所对应的包围体的体积落入所述目标阈值范围;The initial fusion objects including the public entity objects in the third list are merged, until there is no initial fusion object including the public entity objects, and a fifth list is obtained, and the initial fusion objects included in the fifth list correspond to The volume of the bounding volume falls within the target threshold range;
    将所述第四列表加入到所述第五列表之后,得到第六列表;After adding the fourth list to the fifth list, a sixth list is obtained;
    对所述第六列表中包括公共的实体对象的初始融合对象进行合并,直至不存在包括公共的实体对象的初始融合对象,得到第七列表所述第七列表中包括的初始融合对象所对应的包围体的体积落入所述目标阈值范围;Merge the initial fusion objects including the public entity objects in the sixth list until there is no initial fusion object including the public entity objects, and obtain the corresponding initial fusion objects included in the seventh list of the seventh list. the volume of the bounding volume falls within the target threshold range;
    将所述第七列表中有效的且所包括的实体对象数量大于1的初始融合对象确定为所述候选融合对象。An initial fusion object that is valid in the seventh list and includes more than 1 entity object is determined as the candidate fusion object.
  6. 根据权利要求5所述的方法,其中,根据所述初始融合对象的体素数据判断所述初始融合对象所包括的两个实体对象是否相交包括:The method according to claim 5, wherein determining whether two entity objects included in the initial fusion object intersect according to the voxel data of the initial fusion object comprises:
    判断所述初始融合对象所包括的两个实体对象中的体素所存储的坐标中是否包括相同坐标;Determine whether the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates;
    在所述初始融合对象所包括的两个实体对象中的体素所存储的坐标中包括相同坐标的情况下,确定所述初始融合对象所包括的两个实体对象相交。When the coordinates stored in the voxels in the two entity objects included in the initial fusion object include the same coordinates, it is determined that the two entity objects included in the initial fusion object intersect.
  7. 根据权利要求5所述的方法,其中,对所述第三列表中包括公共的实体对象的初始融合对象进行合并包括:The method according to claim 5, wherein merging the initial fusion objects including the common entity objects in the third list comprises:
    从所述第三列表中获取包括公共的实体对象的两个初始融合对象;Obtain two initial fusion objects including common entity objects from the third list;
    判断所述两个初始融合对象所对应的总包围体的体积是否落入所述目标阈值范围;Determine whether the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range;
    在所述两个初始融合对象所对应的总包围体的体积落入所述目标阈值范围的情况下,将排序靠后的初始融合对象中包括的非公共实体对象添加到排序靠前的初始融合对象中,并将排序靠后的初始融合对象删除或者标记为用于指示对象无效的目标标签;In the case that the volume of the total bounding volume corresponding to the two initial fusion objects falls within the target threshold range, the non-public entity objects included in the initial fusion objects in the lower order are added to the initial fusion objects in the higher order. object, and delete or mark the initial fusion object that is later in the order as the target label used to indicate that the object is invalid;
    在所述两个初始融合对象所对应的总包围体的体积未落入所述目标阈值范围的情况下,将排序靠后的初始融合对象中包括的公共实体对象删除。In the case that the volume of the total bounding volume corresponding to the two initial fusion objects does not fall within the target threshold range, the common entity objects included in the initial fusion objects that are ranked later are deleted.
  8. 根据权利要求4所述的方法,其中,从所述候选融合对象中筛选满足目标条件的融合对象作为所述目标融合对象包括:The method according to claim 4, wherein, selecting a fusion object that satisfies a target condition from the candidate fusion objects as the target fusion object comprises:
    确定每个所述候选融合对象是否满足所述目标条件;determining whether each candidate fusion object satisfies the target condition;
    将不满足所述目标条件的融合对象从所述候选融合对象中剔除得到所述目标融合对象;Eliminating the fusion object that does not meet the target condition from the candidate fusion object to obtain the target fusion object;
    所述目标条件包括以下条件中的至少一者:The target condition includes at least one of the following conditions:
    融合对象中每个实体对象的体素数量大于目标体素数量;The number of voxels of each entity object in the fusion object is greater than the number of target voxels;
    融合对象中包括的实体对象的数量大于目标实体对象数量;The number of entity objects included in the fusion object is greater than the number of target entity objects;
    融合对象中包括的实体对象之间的体素距离小于目标距离。The voxel distance between the solid objects included in the fusion object is smaller than the target distance.
  9. 根据权利要求1所述的方法,其中,根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果包括:The method according to claim 1, wherein the initial fusion object is clustered according to the voxel data of the initial fusion object, and obtaining the target fusion object as a clustering result comprises:
    根据所述初始融合对象的体素数据对所述初始融合对象进行合并,得到所述目标融合对象;Merging the initial fusion objects according to the voxel data of the initial fusion objects to obtain the target fusion object;
    为每一个目标融合对象生成一个初始分簇对象;Generate an initial clustering object for each target fusion object;
    将所述每一个目标融合对象中包括的实体对象保存到所述一个初始分簇对象,得到目标分簇对象;The entity objects included in each of the target fusion objects are saved to the initial clustering object to obtain the target clustering object;
    将所述目标分簇对象添加到分簇列表中得到所述分簇结果。The target clustering object is added to the clustering list to obtain the clustering result.
  10. 一种虚拟对象的分簇装置,包括:A device for clustering virtual objects, comprising:
    体素化模块,用于将当前场景中的待分簇的虚拟对象体素化,得到每个所述待分簇的虚拟对象对应的实体对象;A voxelization module, configured to voxelize the virtual objects to be clustered in the current scene, to obtain a physical object corresponding to each of the virtual objects to be clustered;
    合并模块,用于对所述实体对象进行合并,得到初始融合对象,每个所述初始融合对象中包括的实体对象合并后的包围体的体积落入目标阈值范围;a merging module, used for merging the entity objects to obtain an initial fusion object, and the volume of the bounding volume after the merging of the entity objects included in each of the initial fusion objects falls within the target threshold range;
    分簇模块,用于根据所述初始融合对象的体素数据对所述初始融合对象进行分簇,得到目标融合对象作为分簇结果,所述目标融合对象中包括的多个实体对象所对应的包围体的体积落入所述目标阈值范围。The clustering module is used to cluster the initial fusion object according to the voxel data of the initial fusion object, and obtain the target fusion object as the clustering result, and the corresponding objects of the plurality of entity objects included in the target fusion object are obtained. The volume of the bounding volume falls within the target threshold range.
  11. 一种存储介质,所述存储介质包括存储的程序,所述程序运行时执行上述权利要求1至9中任一项所述的方法。A storage medium, the storage medium comprising a stored program, the program executes the method according to any one of the preceding claims 1 to 9 when the program runs.
  12. 一种电子装置,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至9中任一项所述的方法的步骤。An electronic device comprising a memory, a processor and a computer program stored on the memory, the processor implementing the steps of the method according to any one of claims 1 to 9 when the processor executes the computer program.
  13. 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至9中任一项所述的方法的步骤。A computer program product comprising a computer program which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 9.
PCT/CN2021/122146 2021-01-08 2021-09-30 Virtual object clustering method and apparatus, and storage medium and electronic apparatus WO2022148075A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110025936.XA CN112337093B (en) 2021-01-08 2021-01-08 Virtual object clustering method and device, storage medium and electronic device
CN202110025936.X 2021-01-08

Publications (1)

Publication Number Publication Date
WO2022148075A1 true WO2022148075A1 (en) 2022-07-14

Family

ID=74427924

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/122146 WO2022148075A1 (en) 2021-01-08 2021-09-30 Virtual object clustering method and apparatus, and storage medium and electronic apparatus

Country Status (2)

Country Link
CN (2) CN113134230B (en)
WO (1) WO2022148075A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113134230B (en) * 2021-01-08 2024-03-22 成都完美时空网络技术有限公司 Clustering method and device for virtual objects, storage medium and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209618A1 (en) * 2000-11-28 2002-05-29 TeraRecon, Inc., A Delaware Corporation Volume rendering pipeline
CN110325991A (en) * 2016-09-19 2019-10-11 拜奥莫德克斯公司 Method and apparatus for generating the 3D model of object
CN112070909A (en) * 2020-09-02 2020-12-11 中国石油工程建设有限公司 Engineering three-dimensional model LOD output method based on 3D Tiles
CN112337093A (en) * 2021-01-08 2021-02-09 成都完美时空网络技术有限公司 Virtual object clustering method and device, storage medium and electronic device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023433B2 (en) * 2002-10-14 2006-04-04 Chung Yuan Christian University Computer-implemented method for constructing and manipulating a three-dimensional model of an object volume, and voxels used therein
CN102609990B (en) * 2012-01-05 2015-04-22 中国海洋大学 Massive-scene gradually-updating algorithm facing complex three dimensional CAD (Computer-Aided Design) model
FR2996667B1 (en) * 2012-10-05 2015-12-11 Olea Medical SYSTEM AND METHOD FOR ESTIMATING A QUANTITY OF INTEREST IN A CINEMATIC SYSTEM BY CONTRAST AGENT TOMOGRAPHY
US9830736B2 (en) * 2013-02-18 2017-11-28 Tata Consultancy Services Limited Segmenting objects in multimedia data
US9964499B2 (en) * 2014-11-04 2018-05-08 Toshiba Medical Systems Corporation Method of, and apparatus for, material classification in multi-energy image data
CN106558092B (en) * 2016-11-16 2020-01-07 北京航空航天大学 Multi-light-source scene accelerated drawing method based on scene multidirectional voxelization
US10338223B1 (en) * 2017-12-13 2019-07-02 Luminar Technologies, Inc. Processing point clouds of vehicle sensors having variable scan line distributions using two-dimensional interpolation and distance thresholding
CN108389202B (en) * 2018-03-16 2020-02-14 青岛海信医疗设备股份有限公司 Volume calculation method and device of three-dimensional virtual organ, storage medium and equipment
CN110390706B (en) * 2018-04-13 2023-08-08 北京京东尚科信息技术有限公司 Object detection method and device
CN108921945B (en) * 2018-06-25 2022-11-04 中国石油大学(华东) Pore network model construction method combining centering axis and solid model
US11217006B2 (en) * 2018-10-29 2022-01-04 Verizon Patent And Licensing Inc. Methods and systems for performing 3D simulation based on a 2D video image
CN110135599B (en) * 2019-05-15 2020-09-01 南京林业大学 Unmanned aerial vehicle electric power inspection point cloud intelligent processing and analyzing service platform
CN110935169B (en) * 2019-11-22 2021-09-14 腾讯科技(深圳)有限公司 Control method of virtual object, information display method, device, equipment and medium
CN111429543B (en) * 2020-02-28 2020-10-30 苏州叠纸网络科技股份有限公司 Material generation method and device, electronic equipment and medium
CN111681274A (en) * 2020-08-11 2020-09-18 成都艾尔帕思科技有限公司 3D human skeleton recognition and extraction method based on depth camera point cloud data
CN112090084B (en) * 2020-11-23 2021-02-09 成都完美时空网络技术有限公司 Object rendering method and device, storage medium and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209618A1 (en) * 2000-11-28 2002-05-29 TeraRecon, Inc., A Delaware Corporation Volume rendering pipeline
CN110325991A (en) * 2016-09-19 2019-10-11 拜奥莫德克斯公司 Method and apparatus for generating the 3D model of object
CN112070909A (en) * 2020-09-02 2020-12-11 中国石油工程建设有限公司 Engineering three-dimensional model LOD output method based on 3D Tiles
CN112337093A (en) * 2021-01-08 2021-02-09 成都完美时空网络技术有限公司 Virtual object clustering method and device, storage medium and electronic device
CN113134230A (en) * 2021-01-08 2021-07-20 成都完美时空网络技术有限公司 Virtual object clustering method and device, storage medium and electronic device

Also Published As

Publication number Publication date
CN112337093B (en) 2021-05-25
CN113134230A (en) 2021-07-20
CN112337093A (en) 2021-02-09
CN113134230B (en) 2024-03-22

Similar Documents

Publication Publication Date Title
WO2020098531A1 (en) Object loading method, device, storage medium, and electronic device
CN110347499B (en) Method for generating and deploying remote sensing image tiles in real time
CN105426375B (en) A kind of calculation method and device of relational network
CN110580251B (en) Group track accompanying mode online analysis method and system under big data environment
WO2022148075A1 (en) Virtual object clustering method and apparatus, and storage medium and electronic apparatus
CN110287508A (en) A kind of visualization emerging system of multi-source D Urban model
CN113470172B (en) Method for converting OBJ three-dimensional model into 3DTiles
AU2015276830B2 (en) Dynamic n-dimensional cubes for hosted analytics
CN116246069B (en) Method and device for self-adaptive terrain point cloud filtering, intelligent terminal and storage medium
KR100901284B1 (en) Rendering system using 3d model identifier and method thereof
CN114445574B (en) Method, device and equipment for converting GeoJSON data format into three-dimensional GLB format
Xing et al. Continuous monitoring of nearest neighbors on land surface
CN111752994B (en) Game digital asset management method, system, storage medium and computing device
CN114332322A (en) Big data rendering method of monomer model in three-dimensional scene
CN107358569A (en) A kind of method of the geology body three-dimensional models copyright protection based on digital watermark technology
CN112989193A (en) Data processing method and device, electronic equipment and computer storage medium
Gruber et al. Urban data management—A modern approach
CN116467610B (en) Data topology analysis method, device, equipment and storage medium based on 5G message
CN115630203B (en) Method for generating n-ary tree and method and device for determining intersection relationship
EP4345644A1 (en) Processing spatially referenced data
CN115937438A (en) City three-dimensional model lightweight method, system, electronic device and storage medium
Hwang et al. A Fast 3-D Visualization Methodology Using Characteristic Views of Objects
CN117911659A (en) Construction method and system of visual association scene graph oriented to industrial meta universe
CN116383213A (en) Data analysis method, device and medium based on multidimensional tensor
CN118172464A (en) Rendering method of three-dimensional geological model

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21917117

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21917117

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21917117

Country of ref document: EP

Kind code of ref document: A1