Fragment collision animation generation method and apparatus, and storage medium and electronic device

By determining and cutting the proxy model of the model, establishing fragment mapping relationships, and calculating collision animations between convex hull fragments, the problem of not being able to generate fragment collision animations in real time in the prior art is solved, and high-precision and high-efficiency fragment collision animation generation is achieved.

WO2025175973A1PCT designated stage Publication Date: 2025-08-28NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/072356
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-23
Filing Date
2025-01-14
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing offline crushing technology cannot generate fragment collision animations in real time, resulting in low accuracy of fragment collision animations.

Method used

By determining the current proxy model of the original model to be cut and detecting it, the target model to be cut and the target proxy model are obtained, the model fragments and convex hull fragments are cut, the fragment mapping relationship is established, the model fragments are attached to the convex hull fragments, and the collision animation between the convex hull fragments is calculated to determine the collision animation between the model fragments.

Benefits of technology

Real-time generation of fragment collision animation is realized, the accuracy of collision animation is improved, and the calculation efficiency of the second fragment collision animation is improved on the basis of improving the calculation efficiency of the first fragment collision animation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025072356_28082025_PF_FP_ABST
    Figure CN2025072356_28082025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of computer graphics, and relates to a fragment collision animation generation method and apparatus, and a storage medium and an electronic device. The method comprises: determining the current agent model corresponding to an original model to be cut, and performing detection on said original model and the current agent model to obtain a target model to be cut and a target agent model; cutting said target model to obtain model fragments, and cutting a target agent convex hull corresponding to the target agent model, so as to obtain convex hull fragments; establishing a fragment mapping relationship between the convex hull fragments and the model fragments, and on the basis of the fragment mapping relationship, attaching the model fragments to the convex hull fragments; and calculating a first fragment collision animation between the convex hull fragments, and on the basis of the first fragment collision animation, determining a second fragment collision animation between the model fragments. The present disclosure improves the efficiency of animation computation. (FIG. 1)
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for generating fragment collision animation, storage medium, and electronic device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This disclosure claims priority to Chinese patent application number 202410203879.3, filed on February 23, 2024, entitled “Method and device for generating fragment collision animation, storage medium, and electronic device,” the entire contents of which are incorporated herein by reference. Technical Field

[0003] The embodiments of the present disclosure relate to the field of computer graphics technology, and in particular, to a method for generating a fragment collision animation, a device for generating a fragment collision animation, a computer-readable storage medium, and an electronic device. Background Art

[0004] Related methods for generating fragment collision animations can be based on offline fragmentation technology. However, offline fragmentation technology cannot generate fragment collision animations in real time, resulting in low accuracy of the resulting fragment collision animations. Summary of the Invention

[0005] The purpose of the present disclosure is to provide a method for generating a fragment collision animation, a device for generating a fragment collision animation, a computer-readable storage medium, and an electronic device, thereby at least to some extent overcoming the problem of low accuracy of the fragment collision animation caused by the limitations and defects of the relevant technology.

[0006] According to one aspect of the present disclosure, a method for generating a fragment collision animation is provided, comprising:

[0007] Determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model;

[0008] Cutting the target model to be cut to obtain model fragments, and cutting the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments;

[0009] Establishing a fragment mapping relationship between the convex hull fragments and the model fragments, and attaching the model fragments to the convex hull fragments based on the fragment mapping relationship;

[0010] A first fragment collision animation between the convex hull fragments is calculated, and a second fragment collision animation between the model fragments is determined based on the first fragment collision animation.

[0011] According to one aspect of the present disclosure, a device for generating a fragment collision animation is provided, comprising:

[0012] The model detection module is configured to determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model;

[0013] a model cutting module configured to cut the target model to be cut to obtain model fragments, and to cut the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments;

[0014] a model fragment attachment module configured to establish a fragment mapping relationship between the convex hull fragment and the model fragment, and attach the model fragment to the convex hull fragment based on the fragment mapping relationship;

[0015] The collision animation generating module is configured to calculate a first fragment collision animation between the convex hull fragments and determine a second fragment collision animation between the model fragments based on the first fragment collision animation.

[0016] According to one aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the method for generating a fragment collision animation described above is implemented.

[0017] According to one aspect of the present disclosure, there is provided an electronic device, including:

[0018] processor; and

[0019] a memory configured to execute and store executable instructions for the processor;

[0020] The processor is configured to execute any one of the above-mentioned methods for generating a fragment collision animation by executing the executable instructions.

[0021] The present disclosure provides a method for generating a fragment collision animation. On the one hand, a current proxy model corresponding to an original model to be cut is determined, and the original model to be cut and the current proxy model are detected to obtain a target model to be cut and a target proxy model. The target model to be cut is then cut to obtain model fragments, and the target proxy convex hull corresponding to the target proxy model is cut to obtain convex hull fragments. A fragment mapping relationship is then established between the convex hull fragments and the model fragments, and the model fragments are attached to the convex hull fragments based on the fragment mapping relationship. Finally, a first fragment collision animation is calculated between the convex hull fragments, and a second fragment collision animation is determined between the model fragments based on the first fragment collision animation. The real-time generation of the fragment collision animation is achieved, thereby solving the problem in the related art that the fragment collision animation cannot be generated in real time, resulting in low accuracy of the obtained fragment collision animation. On the other hand, since the second fragment collision animation between the model fragments can be determined based on the first fragment collision animation between the convex hull fragments, and since the number of model faces of the convex hull is smaller than that of the original model, the computational efficiency of the second fragment collision animation can be improved on the basis of improving the computational efficiency of the first fragment collision animation. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are configured to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and it is possible for a person skilled in the art to derive other drawings based on these drawings without inventive effort.

[0023] FIG1 schematically shows a flow chart of a method for generating a debris collision animation according to one exemplary embodiment of the present disclosure.

[0024] FIG2 schematically shows an example diagram of a model that does not conform to a two-dimensional manifold according to one example embodiment of the present disclosure.

[0025] FIG3 schematically shows an example diagram of a model whose orientation is outward according to one embodiment of the present disclosure.

[0026] FIG4 schematically shows an example diagram of displaying a first target triangular facet corresponding to a discontinuous fan based on a first preset display mode according to one example embodiment of the present disclosure.

[0027] FIG5 schematically shows an example diagram of displaying a first target triangular facet corresponding to a non-continuous fan based on a second preset display mode according to one example embodiment of the present disclosure.

[0028] FIG6 schematically shows an example diagram of a scenario of model splitting based on different model splitting logics according to one example embodiment of the present disclosure.

[0029] FIG. 7 schematically shows an example diagram of a first concrete fragment and a second concrete fragment according to one example embodiment of the present disclosure.

[0030] FIG8 schematically shows an example diagram of a building model including multiple walls according to one example embodiment of the present disclosure.

[0031] FIG9 schematically shows an example diagram of independent knife edges obtained by generously scattering dots on each wall according to one example embodiment of the present disclosure.

[0032] FIG10 schematically shows an example of a wall fragment obtained after cutting according to one example embodiment of the present disclosure.

[0033] FIG11 schematically shows an example diagram of a proxy model of a curved wall according to one example embodiment of the present disclosure.

[0034] FIG12 schematically shows an example diagram of a two-dimensional curved surface corresponding to a proxy model of a curved wall according to one example embodiment of the present disclosure.

[0035] FIG13 schematically shows an example diagram of a two-dimensional arc-shaped surface obtained after performing a point scattering operation according to one example embodiment of the present disclosure.

[0036] FIG14 schematically shows an example diagram of fragments obtained by cutting a proxy model of a curved wall based on a first original blade according to one example embodiment of the present disclosure.

[0037] FIG15 schematically shows an example diagram of a minimum unit convex hull of a proxy convex hull of a target proxy model according to one example embodiment of the present disclosure.

[0038] FIG16 schematically shows an example diagram of a clustered two-dimensional model grid according to one example embodiment of the present disclosure.

[0039] FIG17 schematically shows an example scene diagram of a 2D planar blade according to one example embodiment of the present disclosure.

[0040] FIG18 schematically shows an example scene diagram of a 3D stereoscopic blade according to one example embodiment of the present disclosure.

[0041] FIG19 schematically shows an example diagram of scattered points of a first sub-model to be cut and the resulting blade classification fragments according to one example embodiment of the present disclosure.

[0042] FIG20 schematically shows a scene example diagram of a model grouping result according to one of the example embodiments of the present disclosure.

[0043] FIG21 schematically shows an example diagram of a combined scene of a claw and a doll of a claw machine according to one exemplary embodiment of the present disclosure.

[0044] FIG22 schematically shows an example scene diagram obtained by performing a first-level overall cutting of a proxy according to one example embodiment of the present disclosure.

[0045] FIG23 schematically shows an example diagram of a scene in which points are scattered multiple times in a volume to sample the volume and the proxy model with the most matches is selected according to one example embodiment of the present disclosure.

[0046] FIG24 schematically shows a wall cutting effect diagram of different sizes obtained by cutting a model according to one exemplary embodiment of the present disclosure.

[0047] FIG25 schematically shows an example diagram of a specific scenario for performing secondary cutting according to one of the exemplary embodiments of the present disclosure.

[0048] FIG26 schematically shows an example diagram of a scene before and after convex hull optimization according to one example embodiment of the present disclosure.

[0049] FIG27 schematically shows a block diagram of a device for generating a debris collision animation according to one exemplary embodiment of the present disclosure.

[0050] FIG28 schematically illustrates an electronic device configured to execute the method for generating the above-mentioned debris collision animation according to one exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0051] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the present disclosure will be more comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or that other methods, components, devices, steps, etc. may be employed. In other cases, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.

[0052] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0053] Model fragmentation is a common technical solution. In practical applications, the basic logic for model cutting can be implemented as follows: scatter points within the model, construct a median perpendicular plane between two nearby points, and then use the median perpendicular plane to divide the model. Of course, in some complex model cutting processes, noise is added to the cut surface to achieve the desired cut. Unreal Engine itself has some commonly used model cutting templates, such as concrete model cutting templates, wood cutting templates, and glass cutting templates. However, these inherent model cutting templates can lead to a number of cutting issues when used in real-world projects.

[0054] In order to solve the above technical problems, in some solutions, the following methods are used to achieve model cutting:

[0055] One approach is to use the Vat animation solution to achieve model cutting. This solution uses offline caching of the fragmentation animation as a texture to achieve model cutting. The advantage of this method is that it does not require real-time calculation of the collision animation between the model's fragments, so the model cutting efficiency is relatively high. However, this solution has the following drawbacks: the Vat animation solution uses offline fragmentation technology to achieve model cutting, which cannot calculate the collision animation between the fragments in real time, resulting in a relatively rigid animation effect.

[0056] Another approach is conventional model cutting. Conventional model cutting involves simply cutting the model, calculating the convex hull from the resulting complex model, and then using the convex hull for collision calculations. However, this approach has the following drawbacks: First, cutting stability is a major issue, with many models failing to meet specifications and often resulting in cutting errors. Second, the convex hull increases dramatically, with the number of facets exponentially increasing, especially when cutting detailed sections. Third, model cutting is slow, with the speed decreasing exponentially when cutting complex buildings. Finally, iteration is slow. For example, when fine-tuning the model frequently in the later stages, the dynamics of cutting different models will change, requiring the model to be fully finalized before dynamic cutting and fragmentation testing can be performed. Furthermore, the convex hull sections calculated using conventional processes may not fit perfectly, resulting in light leakage during rendering when joined. Finally, the complex convex hulls of the fragmented sections can expand in range, leading to interlaced convex hulls. Furthermore, conventional cutting is based on topological separation, resulting in an explosion in the number of facets. This slows real-time collision calculations in the game, leading to lags in testing and makes cutting very unstable and prone to fragmentation.

[0057] Based on this, this exemplary embodiment first provides a method for generating a fragment collision animation. This method can be run on a terminal device, server, server cluster, or cloud server, etc. Of course, those skilled in the art can also run the method disclosed herein on other platforms as needed, and this exemplary embodiment does not specifically limit this. Specifically, referring to FIG1 , the method for generating a fragment collision animation may include the following steps:

[0058] Step S110: Determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model;

[0059] Step S120: Cut the target model to be cut to obtain model fragments, and cut the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments;

[0060] Step S130: establishing a fragment mapping relationship between the convex hull fragments and the model fragments, and attaching the model fragments to the convex hull fragments based on the fragment mapping relationship;

[0061] Step S140: Calculate a first fragment collision animation between the convex hull fragments, and determine a second fragment collision animation between the model fragments based on the first fragment collision animation.

[0062] In the above-mentioned method for generating fragment collision animation, on the one hand, by determining the current proxy model corresponding to the original model to be cut, and detecting the original model to be cut and the current proxy model, a target model to be cut and a target proxy model are obtained; then the target model to be cut is cut to obtain model fragments, and the target proxy convex hull corresponding to the target proxy model is cut to obtain convex hull fragments; then a fragment mapping relationship between the convex hull fragments and the model fragments is established, and based on the fragment mapping relationship, the model fragments are attached to the convex hull fragments; finally, the first fragment collision animation between the convex hull fragments is calculated, and the second fragment collision animation between the model fragments is determined based on the first fragment collision animation; the real-time generation of the fragment collision animation is realized, thereby solving the problem in the related art that the fragment collision animation cannot be generated in real time, resulting in low accuracy of the obtained fragment collision animation; on the other hand, since the second fragment collision animation between the model fragments can be determined based on the first fragment collision animation between the convex hull fragments, and since the number of model faces of the convex hull is smaller than that of the original model, the calculation efficiency of the second fragment collision animation can be improved on the basis of improving the calculation efficiency of the first fragment collision animation.

[0063] Hereinafter, the method for generating the fragment collision animation described in the exemplary embodiment of the present disclosure will be explained and illustrated in detail with reference to the accompanying drawings.

[0064] First, the technical implementation principle of the example embodiment of the present disclosure is explained and illustrated. Specifically, the method for generating the fragment collision animation recorded in the example embodiment of the present disclosure can be used in a game environment; specifically, it is the effect of the broken environmental items in the game being attacked and collided. That is to say, based on the method for generating the fragment collision animation recorded in the example embodiment of the present disclosure, it is possible to achieve the generation of corresponding broken collision animations when the environmental items in the game are attacked and collided. Moreover, in the actual application process, since the cutting stability problem, the inclusion problem, the model cutting speed and the explosion of the number of convex hulls are all related to the model specifications, the number of collision bodies and the number of faces, this application has formulated a complete set of processes and used the idea of ​​agency to solve the above problems; that is, in the process of model cutting, a simple model can be used instead of a complex model for cutting as a collision body; at the same time, a model standard is formulated, and a fast import and export process is created, which can be used efficiently and comprehensively in the cutting of various materials.

[0065] Furthermore, the core of the exemplary embodiments of the present disclosure is to provide a comprehensive, stable, efficient, and convenient Houdini fragmentation process that meets the real-time collision performance of Chaos (a tool for real-time fragmentation simulation) in UE (Unreal Engine). Specifically, it includes the following aspects:

[0066] On the one hand, accurate model specification definitions were developed. Specifically, at the beginning of the project, there were no clear model specifications, only vague watertightness requirements; however, various minor cutting failures were always encountered during testing; in this scenario, after careful research, it was found that the precise definition and requirements of the model to be cut should be a two-dimensional manifold, so a series of rigorous model specifications were developed. Furthermore, in the actual application process, because model problems are ever-changing and difficult to repair completely automatically, programmatic repair tools were developed for most models based on actual conditions, and manual repair was used for a small number of models that were difficult to determine; at the same time, a tool for accurately locating and identifying non-two-dimensional manifolds was also configured, based on which problematic surfaces can be accurately located; this method can greatly speed up the repair process and ensure the stability of model cutting.

[0067] Secondly, the method creatively applies proxy thinking to create two sets of models; that is, a simple proxy model can replace the complex original model. In practical applications, the proxy model can be converted into a proxy convex hull, which can then be cut with a flat blade. Furthermore, because the convex hull fragments obtained after cutting the proxy convex hull with a flat blade are still convex hulls, the convex hull fragments are simplified and seamless. Furthermore, a precise and stable mapping tool is provided between the convex hull fragments and the original model fragments to ensure stable mapping between the convex hull fragments and the original model fragments.

[0068] Furthermore, in the actual application process, you can also combine the proxy in Houdini (3D graphics computer software) and the Embed mounting function of GC (GeometryCollection) of Chaos in UE, bind the original model cut by Houdini to the proxy model, and finally pass it to the StaticMesh (static mesh) and GC_Collision (geometry collection collision) of Chaos in UE respectively, and then let the original model corresponding to StaticMesh be mounted on the GC_collision of the proxy convex hull to improve collision efficiency, while also avoiding the problem of computational explosion caused by the interweaving of complex fragment convex hulls.

[0069] In actual application, Houdini's proxy is only a simple prototype, lacking a complete concept for cutting and fragment grouping, and even less precedent for applying this concept to GC bound to Chaos in UE4. Therefore, the example embodiments of this disclosure prioritize the model proxy concept, redesigning the proxy logic for cutting and determining the fragment grouping rules to ensure the stability of fragment and proxy mapping and the certainty of the number of fragments. Furthermore, they creatively designed proxy logic for wood blocks and custom cutting, and added tools such as custom quick cutting.

[0070] On the other hand, a series of quick import and export tools are configured; based on this quick import and export tool, the UE model can be imported into Houdini with one click; at the same time, since the fragment hierarchy structure of Houdini is different from that of UE, a fragment hierarchy conversion tool is also configured; based on this fragment hierarchy conversion tool, the fragment hierarchy structure of Houdini can be automatically exported to the GC fragment of Chaos in UE with one click according to certain standards, thereby achieving the purpose of ensuring the consistency of the assembly hierarchy.

[0071] On the other hand, we have written a fast grouping tool and a fast cutting tool for complex scenes. Specifically, in real projects, there will be complex and changeable scene models, so there will be complex requirements. Among them, the complex and changeable scene model means that it is not simple to move a single cut fragment as a whole, but it is necessary to bind other fragments or models as a whole according to the needs to calculate; this situation can be divided into the following types: one is to calculate based on the topologically continuous model as a whole; the other is to combine the models that need to be combined (such as a bunch of scattered models, but the scattered models need to be combined), and then move the combined models as a whole; another is to combine according to the cutting point cloud, which is the conventional cutting scheme; under this premise, the fast grouping tool and the fast cutting tool are configured; at the same time, several proxy automatic generation tools are also made for non-cutting; based on this, in the actual model cutting process, you can select the corresponding type and simply debug the parameters to quickly cut the complex scene, thereby achieving the purpose of improving the efficiency of scene cutting.

[0072] Finally, a cutting tool was developed to meet the needs of art and planning. Specifically, in actual application, the cutting of the model must not only achieve high efficiency and performance, but also improve the aesthetics of the cut model fragments. Therefore, in order to obtain aesthetically pleasing model fragments, it is necessary to adjust the size ratio of the model fragments and the size ratio of the secondary cut pieces based on the cutting tool; when adjusting the size ratio, the simplified parameters in the cutting tool can be abstracted and a small number of parameters can be adjusted to automatically cut out reasonable model fragments, while also ensuring the stability of the cutting effect of walls of different sizes; of course, the Mask cutting function can also be used to enhance the artistic realism effect.

[0073] Next, the UE (Unreal Engine) and Houdini involved in the exemplary embodiments of this disclosure are explained and illustrated. Specifically, the terminal device or server used to execute the fragment collision animation generation method described in the exemplary embodiments of this disclosure is installed with the Unreal Engine and Houdini. The Unreal Engine is used to calculate the current proxy model. The Unreal Engine can also be used to calculate the first fragment collision animation and the second fragment collision animation. Houdini can be used to perform model standardization detection, convex hull calculation, and model segmentation.

[0074] In the actual application process, first, the original model to be cut, the current proxy model and the proxy convex hull can be made in UE; then, the original model to be cut, the current proxy model and the proxy convex hull are imported into Houdini, and model detection and model cutting are performed in Houdini; after the convex hull fragments and model fragments are obtained, the convex hull fragments and model fragments are imported into UE, and the fragment collision animation is calculated in UE. At the same time, in order to improve the efficiency of importing models or fragments, this application configures a model import tool for selecting models with one click and importing them into Houdini; based on this model import tool, batch import of models can be realized; at the same time, after the model is imported into Houdini, the coordinate position and model size of the model in Houdini can be automatically adaptively adjusted, thereby achieving the purpose of improving the efficiency of model import.

[0075] The following will further explain and illustrate the method for generating the fragment collision animation shown in Figure 1. Specifically:

[0076] In step S110 , a current proxy model corresponding to the original model to be cut is determined, and the original model to be cut and the current proxy model are detected to obtain a target model to be cut and a target proxy model.

[0077] In this example embodiment, first, a current proxy model corresponding to the original model to be cut is determined; specifically, this can be achieved by: performing face reduction processing on the original model to be cut, and obtaining the current proxy model based on the original model to be cut after face reduction processing; or creating the current proxy model of the original model to be cut based on a preset model making tool; or calculating the current proxy convex hull of the original model to be cut based on a preset convex hull calculation tool, and using the current proxy convex hull as the current proxy model of the original model to be cut. Specifically, the current proxy model described herein can also be referred to as a "simple model" corresponding to the original model to be cut, that is, a simple model; wherein the "simple model" described herein can be a simple model that best fits the original model to be cut by hand-making with the most streamlined number of faces, which can be used as various proxies of the original model. In actual application, the current proxy model is the basis for implementing the fragment collision animation generation method described in the example embodiment of this disclosure. The convex hull collision and proxy cutting used in this application will use the proxy model, and even some shadow calculations will use the proxy model.

[0078] In an example embodiment, the simple model described herein is a simple model with very few faces, and the calculation of the fragment collision animation based on the simple model can greatly improve the computing performance; in the actual application process, not only can the current proxy model be manually made, but it can also be directly processed by directly reducing the faces based on the original model; of course, some simple models can also be determined by directly calculating the Convexhull (convex hull); it should be noted here that since the algorithm for automatically calculating the simple model is not stable enough, in actual projects, the simple model of complex models is mainly made manually.

[0079] Secondly, the original model to be cut and the current proxy model are tested to obtain the target model to be cut and the target proxy model; specifically, this can be achieved in the following manner: first, based on the preset normative detection rules, the model norms of the original model to be cut and the current proxy model are tested to obtain a first model detection result corresponding to the original model to be cut and a second model detection result corresponding to the current proxy model; secondly, the target model to be cut is selected from the original model to be cut according to the first model detection result, and the target proxy model is selected from the current proxy model according to the second model detection result; wherein, the preset normative detection rules include but are not limited to: watertightness detection rules, two-dimensional manifold detection rules, and normal orientation detection rules, etc. That is, in the actual application process, in order to correctly cut the original model to be cut and the current proxy model, it is necessary to ensure the normativeness of the original model to be cut and the current proxy model; at the same time, the normative provisions can be implemented from multiple different dimensions such as watertightness, two-dimensional manifold, and normal orientation.

[0080] In an exemplary embodiment, based on a preset standardization detection rule, the model standardization of the original model to be cut is detected to obtain a first model detection result corresponding to the original model to be cut, which can be achieved in the following ways: based on the watertightness detection rule, the model closure of the original model to be cut is detected to obtain a first closure detection result; and / or based on the two-dimensional manifold detection rule, the manifold standardization of the original model to be cut is detected to obtain a first manifold detection result; and / or based on the normal orientation detection rule, the normal orientation standardization of the original model to be cut is detected to obtain a first normal detection result; based on the first closure detection result and / or the first manifold detection result and / or the first normal detection result, the first model detection result is obtained.

[0081] In an example embodiment, based on a preset normativeness detection rule, the model normativeness of the current proxy model is detected to obtain a second model detection result corresponding to the current proxy model, which can be achieved in the following ways: based on the watertightness detection rule, the model closure of the current proxy model is detected to obtain a second closure detection result; and / or based on the two-dimensional manifold detection rule, the manifold normativeness of the current proxy model is detected to obtain a second manifold detection result; and / or based on the normal orientation detection rule, the normal orientation normativeness of the current proxy model is detected to obtain a second normal detection result; based on the second closure detection result and / or the second manifold detection result and / or the second normal detection result, the second model detection result is obtained.

[0082] In an example embodiment, based on the two-dimensional manifold detection rule, the manifold norm of the original model to be cut is detected to obtain a first manifold detection result, which can be achieved in the following way: the original model to be cut is two-dimensionally unfolded to obtain a first two-dimensional manifold corresponding to the original model to be cut, and the first mesh vertex and the first mesh edge included in the first two-dimensional manifold are extracted; based on the two-dimensional manifold detection rule, the norm of the first mesh vertex and the first mesh edge is detected to obtain a first vertex normativity detection result and a first edge normativity detection result; based on the first vertex normativity detection result and the first edge normativity detection result, the first manifold detection result is obtained.

[0083] In an example embodiment, the normality of the first mesh vertices and the first mesh edges is detected based on a two-dimensional manifold detection rule to obtain a first vertex normality detection result and a first edge normality detection result, which can be achieved in the following manner: extracting the first current triangle face included in the first two-dimensional manifold, and judging whether each first mesh edge in the first two-dimensional manifold is shared by two first current triangle facets to obtain a first edge normality detection result; extracting the first target triangle facet in the first two-dimensional manifold that has a ring neighborhood position relationship with each first mesh vertex, and judging whether the first target triangle facet constitutes a continuous fan to obtain a first vertex normality detection result.

[0084] In an exemplary embodiment of the present disclosure, based on the normal orientation detection rule, the normal orientation standardization of the original model to be cut is detected to obtain a first normal detection result, which can be achieved in the following way: the vertex normal of each model vertex in the original model to be cut is obtained, and whether the normal orientation of the vertex normal is a preset normal orientation is determined to obtain a first normal detection result.

[0085] In an example embodiment, selecting a target model to be cut from the original model to be cut according to the first model detection result can be achieved in the following manner: if the first model detection result is that the original model to be cut is completely closed, the first mesh edges in the original model to be cut are all shared by the first current triangles, the first target triangles in the original model to be cut that have a ring neighborhood position relationship with each first mesh vertex form a continuous fan, and the normals of the original model to be cut are all facing outward, then the original model to be cut is used as the target model to be cut.

[0086] It should be noted that, in actual application, the specific detection process of the model standardization of the current proxy model is consistent with the specific detection process of the model standardization of the original model to be cut, and no further details will be given here.

[0087] The following will further explain and illustrate the specific detection process of the original model to be cut. Specifically, since model detection is a very important step in the fragmentation of the model, the original model to be cut or the current proxy model that does not meet the model cutting specifications will cause the cutting to fail, and even obvious errors such as the knife edge flying across the surface will occur; therefore, before performing specific model cutting, the model's standardization must be tested. At the same time, since the model standardization detection process is implemented in Houdini, it is necessary to import the original model to be cut and the current proxy model into Houdini based on the model import tool. Furthermore, in the process of actual application, it is necessary to test the watertightness, two-dimensional manifold and normal direction of the model; wherein, the watertightness loaded here is the closedness of the model; that is, the original model to be cut and the current proxy model are closed models without openings when needed; in the process of actual application, since the model is made in order to save faces, the invisible faces will be removed, which will lead to open openings, and the cut model needs to be closed, so the watertightness of the model needs to be tested; further, the two-dimensional manifold recorded here means that the model is in accordance with the manifold manifold of 2 when needed. Model structure; wherein, the specific definition of a two-dimensional manifold may include the following two aspects: on the one hand, a mesh edge is shared by two triangular facets; on the other hand, a ring of neighborhood triangles of a mesh vertex constitutes a closed or open fan; further, the normal direction recorded here means that the normal directions of the mesh vertices in the model need to be uniformly oriented outward; at the same time, the reason why it is necessary to limit the normal directions of the mesh vertices in the model to be uniformly oriented outward is because in the process of cutting the model, if there are both inward-facing normals and outward-facing normals, the calculation result will be wrong when calculating whether it is closed.

[0088] Furthermore, Figure 2 shows an example diagram of a model that does not conform to a two-dimensional manifold. Specifically, referring to Figure 2, 201 in Figure 2 violates the requirement that an edge is shared by only two triangles; the one-ring neighborhood of 202 in Figure 2 is discontinuous and does not form a continuous fan; the one-ring neighborhood of 203 in Figure 2 is discontinuous and does not form a continuous fan; and 204 in Figure 2 has two fans. Figure 3 shows an example diagram of an original model to be cut; specifically, referring to Figure 3, only when it is ensured that the normals are all facing outward, when calculating whether the original model to be cut is closed, will the problem of incorrect calculation results not occur.

[0089] In an example embodiment, in the process of detecting the standardization of the model, in the process of detecting the two-dimensional manifold of the model, the specific algorithm idea can be: according to the half-edge logic, a circle of half-edges is searched for each point. If it can return to the origin, it indicates that a continuous fan is formed; at the same time, different errors can be displayed in different colors for precise positioning; and it can also be located at a specific face with a problem; further, the entire model can be displayed invisible for easy positioning. That is, in the actual application process, when it is determined that the fan formed by the first target triangle is a discontinuous fan, the first target triangle corresponding to the discontinuous fan is displayed based on the first preset display mode; a specific example diagram can be shown in Figure 4; further, when it is determined that the fan formed by the target triangle is a discontinuous fan, the original model to be cut is hidden and displayed, and the first target triangle corresponding to the discontinuous fan is displayed based on the second preset display mode; a specific example diagram can be shown in Figure 5.

[0090] Furthermore, in order to solve the batch detection problem, you can use pdg to take out all the models in a folder for detection and output them as txt according to simple configuration; the specific implementation process is: first, select the node; second, enable the PDG batch processing option; then, enter the batch model path; further, enter the corresponding hda path; further, enter the txt path; finally, execute the specific detection process to get the corresponding detection results.

[0091] In an example embodiment, if the model does not meet the specifications, the model can be repaired. Specifically, this can be achieved in the following manner: based on the original model to be cut and the target model to be cut, the model to be repaired is determined, and based on a preset model repair tool, the model to be repaired is repaired. Among them, the model repair described here may include but is not limited to repairing the closedness of the model, repairing the two-dimensional manifold of the model, and repairing the normal orientation of the model, etc.; of course, for some complex models, manual repair can also be performed, and this example does not impose any special restrictions on this.

[0092] In a possible example embodiment, in the process of actual application, there are complex models with various model materials; under this premise, in order to be able to perform normative detection on the complex model, it is necessary to first split the model. Therefore, the detection of the original model to be cut and the current proxy model recorded in this application to obtain the target model to be cut and the target proxy model can also be achieved in the following way: according to the model attributes of the original model to be cut, determine whether the original model to be cut needs to be split; if the original model to be cut does not need to be split, the original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model; if the original model to be cut needs to be split, the original model to be cut and the current proxy model are split based on the preset model splitting standard to obtain multiple sub-models to be cut and multiple sub-proxy models; each of the sub-models to be cut and the sub-proxy model is detected to obtain the target model to be cut and the target proxy model. Among them, if the model attribute is a complex concrete building model, it is determined that the original model to be cut needs to be split; the preset model splitting criteria recorded here include at least one of the following: a first splitting criterion: the edge of the original blade generated by the current proxy model is used as the standard; a second splitting criterion: the topological continuity of the current proxy model is used as the standard; a third splitting criterion: the spatial continuity of the edge of the original blade and the convex hull fragments generated by the current proxy model is used as the standard.

[0093] In an exemplary embodiment, the original model to be cut is split based on a preset model splitting standard to obtain multiple sub-models to be cut, which can be achieved in the following ways: splitting the original model to be cut based on a first splitting standard to obtain a first sub-model to be cut that is separated in a knife-edge manner; and / or splitting the original model to be cut based on a second splitting standard to obtain a second sub-model to be cut that is separated in a topological structure manner; and / or splitting the original model to be cut based on a third splitting standard to obtain a third sub-model to be cut that is separated in a manually selected manner.

[0094] The following will further explain and illustrate the specific splitting process of complex building models. Specifically, the specific splitting logic of the model can include the following: one is that everything is based on the knife edge generated by the proxy model as the standard. The proxy models are considered as a whole when they are close together, regardless of whether they are topologically continuous. The advantage of splitting the model using this logic is that the number of fragments can be accurately and stably controlled to prevent the object precision from being too high, which will lead to an explosion of the number of fragments. The specific scene diagram obtained by using the knife edge as the standard can be referred to as 601 in Figure 6. Another is that everything is based on the topological continuity of the proxy model as the standard. The specific scene diagram obtained by using the topological continuity as the standard can be referred to as 602 in Figure 6. In one case, if the originally continuous space becomes discontinuous after being cut, it is separated into two modules. Therefore, the knife edge + spatial continuity can be used as the standard. At the same time, the knife edge + spatial continuity standard means that the models are considered continuous when they are close together, and topological continuity is not required. The specific scene diagram obtained by using the knife edge + spatial continuity standard can be referred to as 603 in Figure 6.

[0095] Furthermore, under the premise of the existence of the above-mentioned model splitting rules, for complex building models, the following principles can be followed when splitting the model: one is quick and convenient selection; another is to use single wall surfaces as primitives - simplify the cutting logic and do not perform complex functions; another is to be as automatic as possible - most of the processing is automatic, and a small part can be conveniently processed manually, such as convex hull calculation, fragment cutting, etc.; at the same time, based on the above-mentioned model splitting rules and the above-mentioned principles, the splitting results obtained can be divided into the following types: one is the first sub-model to be cut that is separated in a knife-edge manner; the other is the second sub-model to be cut that is separated in a topological structure manner; and the third sub-model to be cut that is separated by manual selection.

[0096] It should be further explained here that the specific splitting process of the current proxy model is consistent with the specific splitting process of the original model to be cut, and no further details will be given here.

[0097] In step S120 , the target model to be cut is cut to obtain model fragments, and the target proxy convex hull corresponding to the target proxy model is cut to obtain convex hull fragments.

[0098] In this example embodiment, first, the target model to be cut is cut to obtain model fragments; specifically, this can be achieved in the following manner: obtain the model material included in the target model to be cut, and determine the material category of the model material; determine the first model cutting process required for cutting the target model to be cut based on the material category, and cut the target model to be cut based on the first model cutting process to obtain model fragments. That is, in actual application, the cutting of the target model to be cut depends on the material category of the target model to be cut; wherein the material category recorded here may include but is not limited to concrete material category, wood board material category, and other material categories other than concrete material category and wood board material category, etc.; at the same time, different model materials will require different model cutting processes to be executed when cutting the target model to be cut of this material category; specifically, the first model cutting process recorded here may include a first concrete cutting process corresponding to the concrete material category, a first wood board cutting process corresponding to the wood board material category, and a first custom cutting process corresponding to other material categories, etc. Based on this, the cutting of the target model to be cut based on the first model cutting process to obtain model fragments can be achieved in the following ways: cutting the target model to be cut based on the first concrete cutting process to obtain first concrete model fragments; and / or cutting the target model to be cut based on the first wooden board cutting process to obtain first wooden board model fragments; and / or cutting the target model to be cut based on the first custom cutting process to obtain first other model fragments; obtaining the model fragments based on the first concrete model fragments and / or the first wooden board model fragments and / or the first other model fragments.

[0099] In an exemplary embodiment, cutting the target model to be cut based on the first concrete cutting process to obtain first concrete model fragments can be achieved as follows: performing a point-scattering operation on a target proxy model corresponding to the target model to be cut to obtain multiple first original blades, and adding noise to each of the first original blades to obtain multiple first target blades; performing Boolean cutting on the target model to be cut based on each of the first target blades to obtain first concrete model fragments. Specifically, in actual application, since concrete is isotropic and has nothing to do with the structure, when simultaneously cutting the original model (target model to be cut) and the proxy convex hull model, the original model is cut with a blade with noise details, and the proxy model is cut with a flat blade. Because the proxy model has a convex hull and the point-scattering blade structure also has a convex hull, the discontinuous single piece cut with a convex hull blade still has a convex hull. The obtained first concrete model fragments can be shown as Orient in Figure 7; Proxy in Figure 7 represents the convex hull fragment of the proxy model, i.e., the second concrete model fragment.

[0100] In an example embodiment, in the process of actual application, there is a situation where a complex building model needs to be split; therefore, when there is a building model including multiple walls in the split first sub-model to be cut, the second sub-model to be cut, or the third sub-model to be cut, in the process of determining the first original blade, it is necessary to implement it based on the following method: split the target proxy model corresponding to the target model to be cut into one or more single-sided plane walls, and match a two-dimensional wall grid for each of the single-sided plane walls; simultaneously perform a scattering operation in the two-dimensional wall grid corresponding to each of the single-sided plane walls to obtain the first original blade corresponding to each of the single-sided plane walls. That is, when cutting a building model with multiple walls, the first thing to ensure is single-layer cutting. The reason for ensuring single-layer cutting is that the wall has thickness, and directly scattering points inside the model may cause a wall to be cut into two layers, which in turn makes the collision animation less accurate. Therefore, the building model with multiple walls needs to be split separately first. Then, taking each wall as a unit, each wall is automatically matched with a two-dimensional grid, and points are scattered on the two-dimensional plane as a whole, so that each wall generates an independent cutting edge. Among them, the building model including multiple walls can be shown in Figure 8, and the independent cutting edge obtained by scattering points on each wall can be shown in Figure 9.

[0101] It should be noted here that, since all walls are dotted at the same time, the number of dotted points in the building model including multiple walls is fixed, and thus the total number of fragments obtained is also fixed; and since the algorithm used for graph cutting is the Thiessen polygon algorithm, when performing model fragmentation and convex hull fragment mapping, it can be implemented by searching for nearby point clouds as the mapping logic. Based on this, it can be ensured that the number of fragments and the number of dotted points are meaningfully mapped. In addition, points are scattered throughout the three-dimensional face, which is then cut into two-dimensional face pieces. A three-dimensional blade is generated for each wall using a two-dimensional face blade, so that each wall is cut individually based on the three-dimensional blade. Finally, mapping is performed based on the three-dimensional point cloud, thereby ensuring that the architectural model of the multiple walls has a natural transition at the corners, avoiding the problem of vertical stiffness. The essence of this method is to ensure that the cutting process is based on a single wall, and the three-dimensional blade is almost perpendicular to the wall surface, while the two-dimensional individual cutting can be continuous at the corners. At the same time, the wall fragments obtained after cutting based on the above-described method can be shown in Figure 10. At the same time, based on Figure 10, it can be seen that although each wall is cut individually, the corner connection is naturally continuous.

[0102] In an example embodiment, when there is a building model including a curved wall in the split first sub-model to be cut, the second sub-model to be cut, or the third sub-model to be cut, in the process of determining the first original blade, it is necessary to implement it based on the following method: compress the wall of the target proxy model corresponding to the target model to be cut to obtain a two-dimensional curved surface patch; perform a point scattering operation in the two-dimensional curved surface patch to obtain multiple first original blades; wherein, the proxy model of the curved wall recorded here can be referred to as shown in Figure 11. Furthermore, in actual application, wall compression can be achieved in the following manner: first, at each grid point, a ray is shot inward in the opposite direction to the normal direction of the grid point; second, when the ray hits the center point of the curved wall, the ray is repeatedly shot inward in the opposite direction to the normal direction of the grid point; then, based on the current distance between the second hitting point and the current hitting point, it is determined whether the curved wall is shrinking inward; if so, the interpolation between the current hitting point and the second hitting point is calculated; then, based on the interpolation, a smooth transition is performed between the second hitting point and the current hitting point, and the normal direction of the grid point is recalculated; finally, all the above steps are repeated until the curved wall is completely compressed; the obtained two-dimensional curved surface can be shown in Figure 12. Furthermore, after obtaining the curved surface patch, a scattering operation can be performed on the curved surface patch; among them, the two-dimensional curved surface patch obtained after performing the scattering operation can be shown in Figure 13; further, the fragment example diagram obtained by cutting the proxy model of the curved wall based on the first original blade can be shown in Figure 14.

[0103] In an exemplary embodiment, the target model to be cut is cut based on a first wood board cutting process to obtain first wood board model fragments, which can be achieved as follows: first, the original two-dimensional model mesh of the target proxy model corresponding to the target model to be cut is calculated, and noise processing is added to the original two-dimensional model mesh to obtain a target two-dimensional model mesh; secondly, a plurality of second original blades are obtained according to the grid lines of the target two-dimensional model mesh, and noise is added to each of the second original blades to obtain a plurality of second target blades; then, Boolean cutting is performed on the target model to be cut based on each of the second target blades to obtain first template model fragments. Specifically, in actual application, due to the special material structure of wood and its strong directionality, the noise in the horizontal and vertical directions varies greatly. Therefore, during the template cutting process, multiple details need to be set. Specifically, the first level is: the minimum unit convex hull of the proxy convex hull of the target proxy model corresponding to the target model to be cut is used as the medium-sized detail. The minimum unit convex hull of the proxy convex hull of the target proxy model can be shown in Figure 15. At the same time, since each independent fragment is a proxy convex hull, it is also the smallest collision unit and can be divided into two directions of noise. Therefore, it is possible to determine which direction has a larger amplitude as needed, as shown in Figure 15. In the example figure shown, the noise in the horizontal direction is obviously more intense than the noise in the vertical direction. This noise is the first level of noise. The second level is clustering the target two-dimensional model grid. The obtained clustered two-dimensional model grid can be shown in Figure 16. The third level is adding noise to the clustered two-dimensional model grid to obtain the second target blade. At the same time, the reason why noise needs to be added to the clustered two-dimensional model grid is that the collision between the convex hull fragments and the collision between the original models will not be too different, thereby achieving the purpose of no goofs, no jamming, and a sufficiently small number of collision faces, thereby improving the accuracy of the collision animation on the basis of ensuring the performance of the collision calculation.

[0104] In an exemplary embodiment, the target model to be cut is cut based on a first custom cutting process to obtain first other model fragments, which can be achieved as follows: an original custom blade is created in a target proxy model corresponding to the target model to be cut, and the blade position of the original custom blade in the target proxy model is placed based on a preset blade placement tool to obtain multiple third original blades; noise is added to each of the third original blades to obtain multiple third target blades, and Boolean cutting is performed on the target model to be cut based on each of the third target blades to obtain first other model fragments. Among them, the custom cutting recorded here has the following characteristics: on the one hand, the cut fragments are of the same type in all directions; on the other hand, the blades are generated manually and do not rely on scattering operations; on the other hand, noise can also be added; at the same time, since it is cumbersome to place the blades during manual cutting, a tool for quickly and automatically placing the blades is set; further, when actually performing the cutting, it is only necessary to use an external device or a finger to slide across the model to automatically generate the blade based on the sliding trajectory; wherein, the blade can be a 2D plane blade or a 3D three-dimensional blade; wherein, the 2D plane blade can be shown in Figure 17; the 3D three-dimensional blade can be shown in Figure 18.

[0105] In an example embodiment, since there is a problem that a complex model needs to be split, and different types of sub-models to be cut obtained by splitting require different model cutting processes to be executed; based on this, the target model to be cut is cut to obtain model fragments, which can be achieved in the following way: if the target model to be cut is a target model to be cut corresponding to the first sub-model to be cut, the target model to be cut is cut to obtain model fragments; if the target model to be cut is a target model to be cut corresponding to the second sub-model to be cut, the target models to be cut are grouped according to the topological continuity of the second sub-model to be cut, and the grouped target models to be cut are cut to obtain model fragments; if the target model to be cut is a target model to be cut corresponding to the third sub-model to be cut, the target models to be cut are manually grouped, and the grouped target models to be cut are cut to obtain model fragments. That is to say, if the first sub-model to be cut is separated by a knife edge, the corresponding cutting process can be determined directly based on the model material of the first sub-model to be cut and automatic cutting can be performed; wherein, the fragments are separated according to the knife edge, and the number of fragments depends entirely on the number of knife edges; at the same time, the entire model can be separated based on the blade corresponding to the number of knife edges; at the same time, the separation of fragments based on the knife edge is suitable for situations where the entire structure is complex, the model is interspersed with many pieces, but the number of fragments needs to be stably controlled; wherein, the scattering points of the first sub-model to be cut and the resulting knife edge classification fragments can be referred to as shown in Figure 19. Furthermore, if the second sub-model to be cut is separated in a topological structure manner, it is necessary to group the models; wherein, in the grouping process, models that have no bonding relationship, reasonable model structure (high cohesion, low coupling) but are close together can be grouped according to the topological continuity of the topological structure; for example, an assembly model with a clear structure; wherein, the obtained model grouping result can be shown in Figure 20; further, if the third sub-model to be cut is separated in a manual selection manner, it is necessary to manually group the target model to be cut; wherein, in the grouping process, the bonding relationship of the fragments can be freely controlled by manual selection; this situation is suitable for scenes with a large number of model fragments and which fragments need to be accurately and freely controlled as a whole; for example, the claws and dolls of the claw machine need to be as a whole, and the claws and dolls of the claw machine can be manually selected as a group; at the same time, in the actual application process, a quick selection grouping tool can also be set, and then based on the tool, quick manual selection and combination can be freely performed according to needs; wherein, the example diagram of the combination scene corresponding to the claws and dolls of the claw machine can be shown in Figure 21.

[0106] In an exemplary embodiment, it is also necessary to cut the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments. Specifically, this can be achieved by: determining the second model cutting process required to cut the target proxy model based on the material category, and calculating the target proxy convex hull corresponding to the target proxy model; cutting the proxy convex hull based on the second model cutting process to obtain convex hull fragments; wherein the second model cutting process described here can include a second concrete cutting process corresponding to the concrete material category, a second wood board cutting process corresponding to the wood board material category, and a second custom cutting process corresponding to other material categories, etc.

[0107] In an exemplary embodiment, the target proxy convex hull described above can also be referred to as a convex polyhedron. A convex polyhedron is a simple polyhedron with no self-intersecting edges or faces, and any straight line connecting any two points lies within the polyhedron. It is often used as the minimum unit for collision calculations. Therefore, in practical applications, in order to reduce the computational complexity of the collision performance of the fragments, it is necessary to determine the proxy convex hull of the proxy model. To calculate the proxy convex hull, the exemplary embodiment of the present disclosure configures a specific convex hull calculation tool, Houdini PDG, which can be used to batch process proxy models placed in a file to obtain the corresponding proxy convex hull. Furthermore, after obtaining the convex hull, convex hull cutting can be performed. At the same time, since the material of the proxy model is consistent with that of the original model, with only slight differences in the specific cutting process, the corresponding convex hull cutting process can be directly determined based on the model material, and the specific cutting process can be performed to obtain the corresponding convex hull fragments.

[0108] In an exemplary embodiment, cutting the proxy convex hull based on the second model cutting process to obtain convex hull fragments can be achieved in the following manner: performing Boolean cutting on the proxy convex hull according to the first original blade included in the second concrete cutting process to obtain second concrete model fragments; and / or performing Boolean cutting on the proxy convex hull according to the second original blade included in the second wooden board cutting process to obtain second wooden board model fragments; and / or cutting the proxy convex hull according to the third original blade included in the second custom cutting process to obtain second other model fragments; obtaining the convex hull fragments according to the second concrete model fragments and / or the second wooden board model fragments and / or the second other model fragments.

[0109] In an example embodiment, in actual application, there is also a case where the model is a complex wooden building; in this scenario, cutting the proxy convex hull can be achieved in the following manner: performing Boolean cutting on the proxy convex hull as a whole according to the second original blade included in the second wooden board cutting process to obtain a first cutting result; determining the position of the wall to which the first cutting result belongs in the proxy convex hull, and clustering the first cutting results according to the position of the wall to which the first cutting result belongs to obtain a first clustering result; cutting each wall in the proxy convex hull separately according to the second original blade included in the second wooden board cutting process to obtain a second cutting result; binding the first clustering result and the second cutting result, and obtaining the second template model fragment according to the binding result. Specifically, in the actual application process, the cutting of complex wooden buildings requires details, anisotropy, not too many cross-sections, and speed. Therefore, in the actual cutting process, first, in order to ensure anisotropy, it is necessary to find the corresponding normal direction, so each wall needs to be disassembled independently. Secondly, in order to ensure the cutting speed, if each topological continuity is regarded as a monomer, the calculation speed will be slow, and if each wall is used as a unit, the speed will be much faster. Furthermore, since each wall is used as a unit, it is easy to be too neat at the intersection, and if clustering is used as the logic, it is easy to cause instability in the cutting of large blocks, so double agency is required. Among them, the first level is the overall cutting; the second level is to cut each wall separately based on the wooden board; at the same time, the blocks cut by the second level are used as the basis for the first clustering; that is, the smaller blocks cut by the second level and their agents are bound to the cutting of the first large block. In practical applications, this can be achieved as follows: First, the small-block proxy is bound to the large block, and the convex hull of the small-block proxy bound to the large block is used as the final collision (although the small convex hulls of each small-block proxy bound to the large block will overlap, the small convex hulls of the large blocks will not overlap, which is both accurate and prevents overlap). Second, the original small-block fragment is bound to the large block as the final large block. An example scene image obtained by the first-level overall cutting of the proxy is shown in Figure 22.

[0110] In step S130 , a fragment mapping relationship between the convex hull fragments and the model fragments is established, and based on the fragment mapping relationship, the model fragments are attached to the convex hull fragments.

[0111] In this example embodiment, first, a fragment mapping relationship between the convex hull fragments and the model fragments is established; specifically, this can be achieved in the following manner: the target proxy model is converted into a rough proxy model, and the fragment block number index of the target proxy model is determined according to the rough proxy model; a first fragment to be mapped is determined from the convex hull fragment according to the fragment block number index, and a second fragment to be mapped is determined according to the convex hull fragment and the first fragment to be mapped; the first fragment to be mapped is mapped onto the rough proxy model, and the model fragment is mapped onto the target proxy model; the second fragment to be mapped is reversely mapped onto the target model to be cut, and the fragment mapping relationship between the convex hull fragment and the model fragment is obtained according to the first fragment to be mapped on the rough proxy model, the model fragment on the target proxy model, and the second fragment to be mapped on the target model to be cut. That is, in practical applications, first, the target proxy model can be converted into a vdb and then into a coarse proxy model to ensure the spatial continuity of the model. Then, the coarse proxy model is cut and cyclically cut according to the large topological discontinuity model to determine the range of the topological discontinuity of the fragments, and the number of fragment blocks is determined based on the obtained fragments. Furthermore, the first fragment to be mapped is mapped to the coarse proxy model based on the mapping algorithm, and the model fragments are mapped to the target proxy model based on the mapping algorithm. Finally, the unmapped part of the target proxy model (the second fragment to be mapped) is reversely mapped to the original model to ensure the consistency of the two. Based on this, the following technical problems can be solved: on the one hand, the default binding is determined by center distance, but many complex structures will be mapped incorrectly; on the other hand, the problem of ring structures being bound to the intermediate model when the volume is sampled at the center point later; on the other hand, the problem of inaccurate results obtained by scattering points in the volume to sample the volume and select the proxy model with the most matches. Among them, an example of a scene in which multiple points are scattered in the volume to sample the volume and select the proxy model with the most matches can be seen in Figure 23.

[0112] Secondly, based on the fragment mapping relationship, the model fragments are attached to the convex hull fragments; specifically, in the fragment attachment process, first, the model fragments and convex hull fragments in Houdini need to be imported into UE; wherein, the model fragments can be transferred to the StaticMesh of Chaos in UE, and the convex hull fragments can be transferred to the GC_Collision of Chaos in UE; secondly, after the import is completed, the model fragments in StaticMesh can be attached to GC_Collision based on the mapping relationship; at the same time, since the fragment hierarchy structure in Houdini is different from the fragment hierarchy structure in UE, this application sets up a fragment hierarchy conversion tool, based on which it can be automatically exported to the StaticMesh and GC_Collision of Chaos in UE according to certain standards, and ensure that the assembly hierarchy is completely consistent to avoid the problem of attachment errors.

[0113] In step S140 , a first fragment collision animation between the convex hull fragments is calculated, and a second fragment collision animation between the model fragments is determined based on the first fragment collision animation.

[0114] Specifically, after the model fragments are attached to the convex hull fragments, the first fragment collision animation between the convex hull fragments can be calculated in the UE, and then the second fragment collision animation between the model fragments can be obtained based on the first fragment collision animation; in this way, the accuracy of the obtained model fragment collision animation can be improved on the basis of reducing the calculation performance of the collision animation.

[0115] At this point, the method for generating the fragment collision animation recorded in the example embodiment of the present disclosure has been fully realized. Based on the above-mentioned recorded content, it can be known that in the method for generating the fragment collision animation recorded in the example embodiment of the present disclosure, proxy cutting is the core of the entire solution; among them, the core idea of ​​the proxy is to replace the model with a large number of faces with a simple model with a small number of faces to perform collision dynamics calculations, and then bind the complex cross-section high-precision model to the simple model. Slight interweaving does not affect the game effect, and finally the performance achieves the effect of real-time fragmentation dynamics. Moreover, the original model is likely to be frequently iterated and modified in the early stage, but the proxy simple model is generally not frequently modified. We use a more stable proxy model for testing, and subsequent testing can be carried out when the original model is not fully finalized, which greatly improves the overall efficiency.

[0116] At the same time, during the actual execution of the cutting task, the model can be split using a single wall as the primitive, and then the split single wall can be cut; each wall can also be cut independently according to its own logic; of course, the whole can be cut into large fragments and then the small fragments can be constrained to the large fragments; at the same time, the convex hull collision and binding collision still use the small convex hull bound to the large block, and the constraint link is reconstructed according to the size cutting method.

[0117] Furthermore, when performing model cutting based on the fragment collision animation generation method described in this application, the following principles need to be implemented: on the one hand, it is necessary to ensure proportional requirements, a small number of parameters, and a stable effect. Specifically, FIG24 shows the wall segmentation effects obtained by cutting the model based on the fragment collision animation generation method described in this application. Based on FIG24, it can be seen that this method can ensure that the results of cutting different shapes and sizes meet the requirements of quantity, size ratio, and density sparseness. On the other hand, in actual application, if secondary cutting is required (such as complex wooden buildings), the secondary cutting must not only ensure similar proportions to the primary cutting, but also stably ensure that the cutting is not too fine. Based on this, it is necessary to determine the number of secondary cutting fragments based on the original volume of the fragments, and make uneven changes in size. Among them, a specific example diagram of the secondary cutting can be referred to as shown in FIG25. On the other hand, regarding the requirements of the cutting level, specifically, complex buildings generally have two levels. The first level has real-time collision calculation. The second level collision has too many fragments, and all real-time calculations are insufficient for current performance. Therefore, the second level collision is generally not represented by a convex hull but by a sphere proxy. Generally, the broken objects disappear relatively quickly, so the effect is less affected.

[0118] Furthermore, in actual application, the original intention of the design of the attachment function in UE was to attach some small objects to the main body, but it just fits the idea of ​​the agent of this application. Therefore, the original model can be directly used as the attachment object, the proxy model as the attached main body, and then the attached proxy model is used as the collision source. The attached proxy model is hidden during rendering, which improves the collision performance and also allows the Houdini process and Chaos to be perfectly connected. In actual application, it can be implemented based on the following process: first, Houdini model fragments → Chaos attached fragments (static mesh); second, Houdini proxy collision body → Chaos attached GC fragments; then, the hidden rendered GC rendering Lumen will leak light, and the static mesh attached by the proxy process just perfectly solves this problem; further, Chaos's cut tree hierarchy - Houdini engine can be easily restored; and in actual execution, as long as certain standards are followed, it can be automatically exported from Houdini to UE and automatically attached to Chaos's GC with one click.

[0119] Furthermore, when transferring fragments, you can group them together using clusters and levels. UE4 Chaos uses a tree-like structure, resulting in multiple levels; different levels can be calculated using different constraints. In practice, Houdini uses the level attribute as the hierarchy and clusters to group fragments at the same level. This is equivalent to constructing a tree structure using a two-dimensional array. Therefore, by applying a certain logic mapping, it can be converted to the same hierarchical structure in UE4. Of course, in practice, the number of convex hulls can also be optimized based on volume ratios. Specifically, the number of collision convex hulls is a significant performance constraint in real projects. Therefore, the collision contribution is calculated based on the volume ratio of each fragment, optimizing for overlapping and low-collision fragments. This can nearly double the number of collisions. For example, Figure 26 shows an example of convex hull fragments before and after optimization. In Figure 26, the image on the left shows over 700 convex hulls before optimization, while the image on the right shows only 300 after optimization.

[0120] Finally, based on the above-mentioned contents, it can be known that the method described in the exemplary embodiment of the present disclosure can meet the comprehensive, stable, fast iteration, convenient, efficient, and high-performance crushing and cutting requirements in the project.

[0121] This is fully reflected in the variety of cutting types; in actual application, it can realize the cutting of complex structural models such as concrete, glass, wood, small objects and buildings; at the same time, the model proxy process is expanded to processes such as wood and manual cutting, so that all model cutting processes can be implemented based on the proxy idea.

[0122] Stability is reflected in the stability of model cutting. At the same time, the stability recorded here may include but is not limited to the standard stability of the model, the optimized stability of the cutting algorithm, the stability of collision, etc. Moreover, because the collision body uses a proxy idea, and the convex hull of the proxy can be cut according to a straight knife edge, it is ensured that each proxy convex hull fragment remains a convex hull after cutting. This will not cause the interlacing caused by calculating the convex hull of the detailed original model, and will be tightly spliced ​​together along the straight knife edge, thereby ensuring the stability of the collision calculation. In addition, when calculating shadows, there will be no problems such as light leakage caused by the convex hull of the conventional algorithm. In the actual application process, cutting decoupling is also designed, such as using a wall as the cutting unit, to ensure the stability of cutting.

[0123] Rapid iteration is mainly reflected in model testing; specifically, minor modifications to the model may occur in the middle and late stages of model development; in this scenario, the normal development process will lead to problems such as cutting recalculation, changes in convex hull structure, and changes in collision effects; however, the example embodiment of the present disclosure adopts the proxy principle; moreover, since the proxy model is relatively rough, it will not be changed in the later stage, and the logic such as scattering points depends on the proxy model, so the cutting and crushing dynamic effects can be finalized before the model is slightly modified, and the crushing and dynamic effects can be quickly and synchronously produced without waiting for the model to be finalized.

[0124] Convenience and efficiency are reflected in the convenience of importing complex models with one click. Specifically, the exemplary embodiments of the present disclosure provide a one-click cutting and packaging tool for quickly selecting and grouping objects in complex scenes. For example, a workflow tool that can import and bind Houdini's shattered hierarchy to UE's Chaos shattered framework with one click speeds up the cutting iteration speed by an order of magnitude.

[0125] High performance is reflected in the use of proxy processes; specifically, the example embodiments of the present disclosure can reduce the number of faces of the convex hull of the collision body model and improve the collision calculation performance of the broken fragments by using the proxy process, while ensuring the stability of the collision; in the process of actual application, the cutting algorithm can also be optimized, and then various card point problems can be solved based on the optimized cutting algorithm; and, by constructing a method with a wall as the cutting primitive, large-scale parallel cutting operations can be performed, greatly improving the speed and efficiency of cutting; further, the number of convex hull fragments is automatically optimized according to the convex hull collision contribution ratio, ensuring the Chaos collision performance in UE.

[0126] The following are embodiments of the apparatus of the present disclosure, which can be configured to perform the method embodiments of the present disclosure. For details not disclosed in the apparatus embodiments of the present disclosure, please refer to the method embodiments of the present disclosure.

[0127] The exemplary embodiments of the present disclosure also provide a device for generating a fragment collision animation. Specifically, as shown in FIG27 , the device for generating a fragment collision animation may include a model detection module 2710, a model cutting module 2720, a model fragment attachment module 2730, and a collision animation generation module 2740. Specifically,

[0128] The model detection module 2710 is configured to determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model;

[0129] The model cutting module 2720 is configured to cut the target model to be cut to obtain model fragments, and cut the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments;

[0130] The model fragment attachment module 2730 is configured to establish a fragment mapping relationship between the convex hull fragment and the model fragment, and attach the model fragment to the convex hull fragment based on the fragment mapping relationship;

[0131] The collision animation generating module 2740 is configured to calculate a first fragment collision animation between the convex hull fragments, and determine a second fragment collision animation between the model fragments based on the first fragment collision animation.

[0132] In an exemplary embodiment of the present disclosure, determining the current proxy model corresponding to the original model to be cut includes: performing surface reduction processing on the original model to be cut, and obtaining the current proxy model based on the original model to be cut after the surface reduction processing; or making the current proxy model of the original model to be cut based on a preset model making tool; or calculating the current proxy convex hull of the original model to be cut based on a preset convex hull calculation tool, and using the current proxy convex hull as the current proxy model of the original model to be cut.

[0133] In an exemplary embodiment of the present disclosure, the original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model, including: based on a preset normative detection rule, the model normativity of the original model to be cut and the current proxy model is detected to obtain a first model detection result corresponding to the original model to be cut and a second model detection result corresponding to the current proxy model; according to the first model detection result, the target model to be cut is selected from the original model to be cut, and according to the second model detection result, the target proxy model is selected from the current proxy model.

[0134] In an exemplary embodiment of the present disclosure, the preset normative detection rule includes at least one of the following: a watertightness detection rule, a two-dimensional manifold detection rule, and a normal orientation detection rule;

[0135] Among them, based on the preset standardization detection rules, the model standardization of the original model to be cut is detected to obtain a first model detection result corresponding to the original model to be cut, including: based on the watertightness detection rule, the model closure of the original model to be cut is detected to obtain a first closure detection result; and / or based on the two-dimensional manifold detection rule, the manifold standardization of the original model to be cut is detected to obtain a first manifold detection result; and / or based on the normal orientation detection rule, the normal orientation standardization of the original model to be cut is detected to obtain a first normal detection result; based on the first closure detection result and / or the first manifold detection result and / or the first normal detection result, the first model detection result is obtained.

[0136] In an exemplary embodiment of the present disclosure, based on the two-dimensional manifold detection rule, the manifold normality of the original model to be cut is detected to obtain a first manifold detection result, including: two-dimensionally unfolding the original model to be cut to obtain a first two-dimensional manifold corresponding to the original model to be cut, and extracting the first mesh vertex and the first mesh edge included in the first two-dimensional manifold; based on the two-dimensional manifold detection rule, the normality of the first mesh vertex and the first mesh edge is detected to obtain a first vertex normality detection result and a first edge normality detection result; based on the first vertex normality detection result and the first edge normality detection result, the first manifold detection result is obtained.

[0137] In an exemplary embodiment of the present disclosure, the normality of the first mesh vertex and the first mesh edge is detected based on a two-dimensional manifold detection rule to obtain a first vertex normality detection result and a first edge normality detection result, including: extracting the first current triangle included in the first two-dimensional manifold, and judging whether each first mesh edge in the first two-dimensional manifold is shared by two first current triangles to obtain a first edge normality detection result; extracting the first target triangle in the first two-dimensional manifold that has a ring neighborhood position relationship with each first mesh vertex, and judging whether the first target triangle constitutes a continuous fan to obtain a first vertex normality detection result.

[0138] In an exemplary embodiment of the present disclosure, the device for generating the fragment collision animation may further include:

[0139] A first display module is configured to, when determining that the fan formed by the first target triangle is discontinuous, display the first target triangle corresponding to the discontinuous fan based on a first preset display mode; and / or

[0140] The second display module is configured to execute, when it is determined that the fan formed by the target triangular facets is a discontinuous fan, hiding the original model to be cut, and displaying the first target triangular facets corresponding to the discontinuous fan based on a second preset display mode.

[0141] In an exemplary embodiment of the present disclosure, based on the normal orientation detection rule, the normal orientation standardization of the original model to be cut is detected to obtain a first normal detection result, including: obtaining the vertex normal of each model vertex in the original model to be cut, and judging whether the normal orientation of the vertex normal is a preset normal orientation to obtain the first normal detection result.

[0142] In an exemplary embodiment of the present disclosure, a target model to be cut is selected from the original model to be cut according to the first model detection result, including: if the first model detection result is that the original model to be cut is completely closed, the first mesh edges in the original model to be cut are all shared by the first current triangles, the first target triangles in the original model to be cut that have a ring neighborhood position relationship with each first mesh vertex form a continuous fan, and the normals of the original model to be cut are all facing outward, then the original model to be cut is used as the target model to be cut.

[0143] In an exemplary embodiment of the present disclosure, the device for generating the fragment collision animation may further include:

[0144] The model repair module is configured to determine a model to be repaired based on the original model to be cut and the target model to be cut, and repair the model to be repaired based on a preset model repair tool.

[0145] In an exemplary embodiment of the present disclosure, the target model to be cut is cut to obtain model fragments, including: obtaining the model material included in the target model to be cut, and determining the material category of the model material; determining the first model cutting process required to cut the target model to be cut based on the material category, and cutting the target model to be cut based on the first model cutting process to obtain model fragments.

[0146] In an exemplary embodiment of the present disclosure, the material category includes at least one of a concrete material category, a wood material category, and other material categories other than the concrete material category and the wood material category; the first model cutting process includes at least one of a first concrete cutting process corresponding to the concrete material category, a first wood cutting process corresponding to the wood material category, and a first custom cutting process corresponding to other material categories;

[0147] Among them, cutting the target model to be cut based on the first model cutting process to obtain model fragments includes: cutting the target model to be cut based on the first concrete cutting process to obtain first concrete model fragments; and / or cutting the target model to be cut based on the first wooden board cutting process to obtain first wooden board model fragments; and / or cutting the target model to be cut based on the first custom cutting process to obtain first other model fragments; obtaining the model fragments according to the first concrete model fragments and / or the first wooden board model fragments and / or the first other model fragments.

[0148] In an exemplary embodiment of the present disclosure, the target model to be cut is cut based on a first concrete cutting process to obtain first concrete model fragments, including: performing a scattering operation in a target proxy model corresponding to the target model to be cut to obtain multiple first original blades, and adding noise to each of the first original blades to obtain multiple first target blades; and performing Boolean cutting on the target model to be cut based on each of the first target blades to obtain first concrete model fragments.

[0149] In an exemplary embodiment of the present disclosure, a scattering operation is performed in a target proxy model corresponding to the target model to be cut to obtain multiple first original blades, including: splitting the target proxy model corresponding to the target model to be cut into one or more single-sided plane walls, and matching a two-dimensional wall grid for each of the single-sided plane walls; and simultaneously performing a scattering operation in the two-dimensional wall grid corresponding to each of the single-sided plane walls to obtain a first original blade corresponding to each of the single-sided plane walls.

[0150] In an exemplary embodiment of the present disclosure, a scattering operation is performed in a target proxy model corresponding to the target model to be cut to obtain multiple first original blades, including: wall compression of the target proxy model corresponding to the target model to be cut to obtain a two-dimensional arc surface patch; and a scattering operation is performed in the two-dimensional arc surface patch to obtain multiple first original blades.

[0151] In an exemplary embodiment of the present disclosure, the target model to be cut is cut based on a first wooden board cutting process to obtain first wooden board model fragments, including: calculating the original two-dimensional model mesh of the target proxy model corresponding to the target model to be cut, and adding noise processing to the original two-dimensional model mesh to obtain a target two-dimensional model mesh; according to the grid lines of the target two-dimensional model mesh, a plurality of second original blades are obtained, and noise is added to each of the second original blades to obtain a plurality of second target blades; based on each of the second target blades, the target model to be cut is Boolean cut to obtain first template model fragments.

[0152] In an exemplary embodiment of the present disclosure, the target model to be cut is cut based on a first custom cutting process to obtain first other model fragments, including: creating an original custom blade in a target proxy model corresponding to the target model to be cut, and placing the blade position of the original custom blade in the target proxy model based on a preset blade placement tool to obtain multiple third original blades; adding noise to each of the third original blades to obtain multiple third target blades, and performing Boolean cutting on the target model to be cut based on each of the third target blades to obtain first other model fragments.

[0153] In an exemplary embodiment of the present disclosure, a target proxy convex hull corresponding to the target proxy model is cut to obtain convex hull fragments, including: determining a second model cutting process required for cutting the target proxy model based on the material category, and calculating the target proxy convex hull corresponding to the target proxy model; cutting the proxy convex hull based on the second model cutting process to obtain convex hull fragments.

[0154] In an exemplary embodiment of the present disclosure, the second model cutting process includes at least one of a second concrete cutting process corresponding to a concrete material category, a second wood board cutting process corresponding to a wood board material category, and a second custom cutting process corresponding to other material categories;

[0155] Among them, cutting the proxy convex hull based on the second model cutting process to obtain convex hull fragments includes: performing Boolean cutting on the proxy convex hull according to the first original blade included in the second concrete cutting process to obtain second concrete model fragments; and / or performing Boolean cutting on the proxy convex hull according to the second original blade included in the second wooden board cutting process to obtain second wooden board model fragments; and / or cutting the proxy convex hull according to the third original blade included in the second custom cutting process to obtain second other model fragments; obtaining the convex hull fragments according to the second concrete model fragments and / or the second wooden board model fragments and / or the second other model fragments.

[0156] In an exemplary embodiment of the present disclosure, the proxy convex hull is Boolean cut according to the second original blade included in the second wood board cutting process to obtain second wood board model fragments, including: performing Boolean cutting on the proxy convex hull as a whole according to the second original blade included in the second wood board cutting process to obtain a first cutting result; determining the position of the wall to which the first cutting result belongs in the proxy convex hull, and clustering the first cutting results according to the position of the wall to which the first cutting result belongs to obtain a first clustering result; cutting each wall in the proxy convex hull separately according to the second original blade included in the second wood board cutting process to obtain a second cutting result; binding the first clustering result and the second cutting result, and obtaining the second template model fragments according to the binding result.

[0157] In an exemplary embodiment of the present disclosure, a fragment mapping relationship between the convex hull fragments and the model fragments is established, including: converting the target proxy model into a rough proxy model, and determining the fragment block number label of the target proxy model based on the rough proxy model; determining the first fragment to be mapped from the convex hull fragments based on the fragment block number label, and determining the second fragment to be mapped based on the convex hull fragments and the first fragment to be mapped; mapping the first fragment to be mapped onto the rough proxy model, and mapping the model fragment onto the target proxy model; reverse mapping the second fragment to be mapped onto the target model to be cut, and obtaining the fragment mapping relationship between the convex hull fragments and the model fragments based on the first fragment to be mapped on the rough proxy model, the model fragment on the target proxy model, and the second fragment to be mapped on the target model to be cut.

[0158] In an exemplary embodiment of the present disclosure, the original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model, including: judging whether the original model to be cut needs to be split according to the model properties of the original model to be cut; if the original model to be cut does not need to be split, the original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model; if the original model to be cut needs to be split, the original model to be cut and the current proxy model are split based on a preset model splitting standard to obtain multiple sub-models to be cut and multiple sub-proxy models; each of the sub-models to be cut and the sub-proxy model is detected to obtain the target model to be cut and the target proxy model.

[0159] In an exemplary embodiment of the present disclosure, if the model attribute is a complex concrete building model, it is determined that the original model to be cut needs to be split; the preset model splitting criteria include at least one of the following: a first splitting criterion: the blade edge of the original blade generated by the current proxy model is used as the criterion; a second splitting criterion: the topological continuity of the current proxy model is used as the criterion; a third splitting criterion: the blade edge of the original blade generated by the current proxy model and the spatial continuity of the convex hull fragments are used as the criterion.

[0160] In an exemplary embodiment of the present disclosure, the original model to be cut is split based on a preset model splitting standard to obtain multiple sub-models to be cut, including: splitting the original model to be cut based on a first splitting standard to obtain a first sub-model to be cut that is separated in a knife-edge manner; and / or splitting the original model to be cut based on a second splitting standard to obtain a second sub-model to be cut that is separated in a topological structure manner; and / or splitting the original model to be cut based on a third splitting standard to obtain a third sub-model to be cut that is separated in a manually selected manner.

[0161] In an exemplary embodiment of the present disclosure, the target model to be cut is cut to obtain model fragments, including: if the target model to be cut is a target model to be cut corresponding to the first sub-model to be cut, the target model to be cut is cut to obtain model fragments; if the target model to be cut is a target model to be cut corresponding to the second sub-model to be cut, the target models to be cut are grouped according to the topological continuity of the second sub-model to be cut, and the grouped target models to be cut are cut to obtain model fragments; if the target model to be cut is a target model to be cut corresponding to the third sub-model to be cut, the target models to be cut are manually grouped, and the grouped target models to be cut are cut to obtain model fragments.

[0162] The specific details of each module in the above-mentioned fragment collision animation generation device have been described in detail in the corresponding fragment collision animation generation method, so they will not be repeated here.

[0163] It should be noted that although several modules or units of a device configured to perform action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0164] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0165] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0166] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods, or program products. Therefore, various aspects of the present disclosure may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."

[0167] An electronic device 2800 according to an embodiment of the present disclosure is described below with reference to FIG 28. The electronic device 2800 shown in FIG 28 is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0168] As shown in FIG28 , electronic device 2800 is implemented as a general-purpose computing device. Components of electronic device 2800 may include, but are not limited to, the aforementioned at least one processing unit 2810, the aforementioned at least one storage unit 2820, a bus 2830 connecting various system components (including storage unit 2820 and processing unit 2810), and a display unit 2840.

[0169] In which, the storage unit stores a program code, and the program code can be executed by the processing unit 2810, so that the processing unit 2810 performs the steps according to various exemplary embodiments of the present disclosure described in the above "Exemplary Method" section of this specification. For example, the processing unit 2810 can execute step S110 as shown in Figure 1: determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model; step S120: cut the target model to be cut to obtain model fragments, and cut the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments; step S130: establish a fragment mapping relationship between the convex hull fragments and the model fragments, and based on the fragment mapping relationship, hang the model fragments on the convex hull fragments; step S140: calculate the first fragment collision animation between the convex hull fragments, and determine the second fragment collision animation between the model fragments based on the first fragment collision animation.

[0170] The storage unit 2820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 28201 and / or a cache memory unit 28202 , and may further include a read-only memory unit (ROM) 28203 .

[0171] The storage unit 2820 may also include a program / utility 28204 having a set (at least one) of program modules 28205, such program modules 28205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0172] Bus 2830 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0173] Electronic device 2800 can also communicate with one or more external devices 2900 (e.g., a keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 2800, and / or any device that enables electronic device 2800 to communicate with one or more other computing devices (e.g., a router, modem, etc.). Such communication can occur via input / output (I / O) interface 2850. Furthermore, electronic device 2800 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via network adapter 2860. As shown, network adapter 2860 communicates with other modules of electronic device 2800 via bus 2830. It should be understood that, although not shown, other hardware and / or software modules can be used in conjunction with electronic device 2800, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0174] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0175] In exemplary embodiments of the present disclosure, a computer-readable storage medium is also provided, on which is stored a program product capable of implementing the aforementioned methods of this specification. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product comprising program code. When the program product is executed on a terminal device, the program code is configured to cause the terminal device to execute the steps described in the "Exemplary Methods" section above according to various exemplary embodiments of the present disclosure.

[0176] According to an embodiment of the present disclosure, a program product configured to implement the above-mentioned method may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0177] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0178] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program configured to be executed by or in conjunction with an instruction execution system, apparatus, or device.

[0179] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0180] Program code configured to perform the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0181] Furthermore, the figures above are merely illustrative of the processes included in the methods according to exemplary embodiments of the present disclosure and are not intended to be limiting. It is readily understood that the processes illustrated in the figures above do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0182] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow from the general principles of the present disclosure and include common knowledge or customary techniques in the art not invented herein. The specification and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.

Claims

1. A method for generating a fragment collision animation, comprising: Determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model; Cutting the target model to be cut to obtain model fragments, and cutting the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments; Establishing a fragment mapping relationship between the convex hull fragments and the model fragments, and attaching the model fragments to the convex hull fragments based on the fragment mapping relationship; A first fragment collision animation between the convex hull fragments is calculated, and a second fragment collision animation between the model fragments is determined based on the first fragment collision animation.

2. The method for generating fragment collision animation according to claim 1, wherein: Determine the current proxy model corresponding to the original model to be cut, including: Performing surface reduction processing on the original model to be cut, and obtaining a current proxy model based on the original model to be cut after the surface reduction processing; or Based on a preset model making tool, make a current proxy model of the original model to be cut; or Based on a preset convex hull calculation tool, the current proxy convex hull of the original model to be cut is calculated, and the current proxy convex hull is used as the current proxy model of the original model to be cut.

3. The method for generating fragment collision animation according to claim 1, wherein: The original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model, including: Based on a preset normativeness detection rule, the model normativeness of the original model to be cut and the current proxy model is detected to obtain a first model detection result corresponding to the original model to be cut and a second model detection result corresponding to the current proxy model; A target model to be cut is selected from the original model to be cut according to the first model detection result, and a target proxy model is selected from the current proxy model according to the second model detection result.

4. The method for generating fragment collision animation according to claim 3, wherein: The preset normative detection rules include at least one of the following: Watertightness detection rules, two-dimensional manifold detection rules, and normal orientation detection rules; The method of detecting the model standardization of the original model to be cut based on a preset standardization detection rule to obtain a first model detection result corresponding to the original model to be cut includes: Detecting the model sealing of the original model to be cut based on the watertightness detection rule to obtain a first sealing detection result; and / or Based on a two-dimensional manifold detection rule, the manifold normality of the original model to be cut is detected to obtain a first manifold detection result; and / or Based on the normal direction detection rule, the normal direction of the original model to be cut is detected to obtain a first normal detection result; The first model detection result is obtained based on the first closure detection result and / or the first manifold detection result and / or the first normal detection result.

5. The method for generating fragment collision animation according to claim 4, wherein: Based on the two-dimensional manifold detection rule, the manifold normality of the original to-be-cut model is detected to obtain a first manifold detection result, including: Performing two-dimensional expansion on the original model to be cut to obtain a first two-dimensional manifold corresponding to the original model to be cut, and extracting first mesh vertices and first mesh edges included in the first two-dimensional manifold; Detecting the regularity of the first mesh vertices and the first mesh edges based on a two-dimensional manifold detection rule to obtain a first vertex regularity detection result and a first edge regularity detection result; The first manifold detection result is obtained based on the first vertex normalization detection result and the first edge normalization detection result.

6. The method for generating fragment collision animation according to claim 5, wherein: The normality of the first mesh vertices and the first mesh edges is detected based on a two-dimensional manifold detection rule to obtain a first vertex normality detection result and a first edge normality detection result, including: Extracting a first current triangular face included in the first two-dimensional manifold, and determining whether each first mesh edge in the first two-dimensional manifold is shared by two first current triangular facets, to obtain a first edge canonicity detection result; A first target triangular facet having a ring neighborhood position relationship with each first mesh vertex in the first two-dimensional manifold is extracted, and it is determined whether the first target triangular facet forms a continuous fan to obtain a first vertex normative detection result.

7. The method for generating fragment collision animation according to claim 6, wherein: The method for generating the fragment collision animation further includes: When determining that the fan formed by the first target triangular facets is a discontinuous fan, displaying the first target triangular facets corresponding to the discontinuous fan based on a first preset display mode; and / or When it is determined that the fan formed by the target triangular facets is a discontinuous fan, the original model to be cut is hidden and displayed, and the first target triangular facets corresponding to the discontinuous fan are displayed based on a second preset display mode.

8. The method for generating fragment collision animation according to claim 4, wherein: Based on the normal direction detection rule, the normal direction of the original model to be cut is detected for standardization to obtain a first normal detection result, including: The vertex normal of each model vertex in the original model to be cut is obtained, and it is determined whether the normal direction of the vertex normal is a preset normal direction to obtain a first normal detection result.

9. The method for generating fragment collision animation according to claim 3, wherein: Selecting a target model to be cut from the original model to be cut according to the first model detection result, including: If the first model detection result shows that the original model to be cut is completely closed, the first mesh edges in the original model to be cut are all shared by the first current triangles, the first target triangles in the original model to be cut that have a ring neighborhood position relationship with each first mesh vertex form a continuous fan, and the normals of the original model to be cut are all facing outward, then the original model to be cut is used as the target model to be cut.

10. The method for generating fragment collision animation according to claim 9, wherein: The method for generating the fragment collision animation further includes: Based on the original model to be cut and the target model to be cut, a model to be repaired is determined, and based on a preset model repair tool, the model to be repaired is repaired.

11. The method for generating fragment collision animation according to claim 1, wherein: Cutting the target model to be cut to obtain model fragments includes: Acquire the model material included in the target model to be cut, and determine the material category of the model material; A first model cutting process required for cutting the target model to be cut is determined based on the material category, and the target model to be cut is cut based on the first model cutting process to obtain model fragments.

12. The method for generating fragment collision animation according to claim 11, wherein: The material category includes at least one of a concrete material category, a wood material category, and other material categories except the concrete material category and the wood material category; The first model cutting process includes at least one of a first concrete cutting process corresponding to a concrete material category, a first wood board cutting process corresponding to a wood board material category, and a first custom cutting process corresponding to other material categories; The step of cutting the target model to be cut based on the first model cutting process to obtain model fragments includes: Cutting the target model to be cut based on the first concrete cutting process to obtain first concrete model fragments; and / or Cutting the target model to be cut based on the first wood board cutting process to obtain first wood board model fragments; and / or Cutting the target model to be cut based on a first custom cutting process to obtain first other model fragments; The model fragments are obtained based on the first concrete model fragments and / or the first wooden board model fragments and / or the first other model fragments.

13. The method for generating fragment collision animation according to claim 12, wherein: Cutting the target model to be cut based on the first concrete cutting process to obtain first concrete model fragments includes: Performing a point scattering operation in a target proxy model corresponding to the target model to be cut to obtain a plurality of first original blades, and adding noise to each of the first original blades to obtain a plurality of first target blades; The target model to be cut is subjected to Boolean cutting based on each of the first target blades to obtain first concrete model fragments.

14. The method for generating fragment collision animation according to claim 13, wherein: Performing a point scattering operation in a target proxy model corresponding to the target model to be cut to obtain a plurality of first original blades includes: Splitting the target proxy model corresponding to the target model to be cut into one or more single-sided planar walls, and matching a two-dimensional wall mesh for each of the single-sided planar walls; A point scattering operation is simultaneously performed in the two-dimensional wall grid corresponding to each of the single-sided planar walls to obtain a first original blade corresponding to each of the single-sided planar walls.

15. The method for generating fragment collision animation according to claim 13, wherein: Performing a point scattering operation in a target proxy model corresponding to the target model to be cut to obtain a plurality of first original blades includes: Performing wall compression on the target proxy model corresponding to the target model to be cut to obtain a two-dimensional arc surface patch; A point scattering operation is performed on the two-dimensional arc-shaped surface patch to obtain a plurality of first original blades.

16. The method for generating fragment collision animation according to claim 12, wherein: Cutting the target model to be cut based on the first wood board cutting process to obtain first wood board model fragments includes: Calculating an original two-dimensional model mesh of a target proxy model corresponding to the target model to be cut, and adding noise processing to the original two-dimensional model mesh to obtain a target two-dimensional model mesh; obtaining a plurality of second original blades according to the grid lines of the target two-dimensional model grid, and adding noise to each of the second original blades to obtain a plurality of second target blades; The target model to be cut is subjected to Boolean cutting based on each of the second target blades to obtain first template model fragments.

17. The method for generating fragment collision animation according to claim 12, wherein: Cutting the target model to be cut based on the first custom cutting process to obtain first other model fragments includes: Creating an original custom blade in a target proxy model corresponding to the target model to be cut, and placing the original custom blade in the target proxy model based on a preset blade placement tool to obtain a plurality of third original blades; Noise is added to each of the third original blades to obtain a plurality of third target blades, and Boolean cutting is performed on the target model to be cut based on each of the third target blades to obtain first other model fragments.

18. The method for generating fragment collision animation according to claim 12, wherein: Cutting the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments, including: determining a second model cutting process required for cutting the target proxy model based on the material category, and calculating a target proxy convex hull corresponding to the target proxy model; The proxy convex hull is cut based on the second model cutting process to obtain convex hull fragments.

19. The method for generating fragment collision animation according to claim 18, wherein: The second model cutting process includes at least one of a second concrete cutting process corresponding to the concrete material category, a second wood board cutting process corresponding to the wood board material category, and a second custom cutting process corresponding to other material categories; The step of cutting the proxy convex hull based on the second model cutting process to obtain convex hull fragments includes: Performing Boolean cutting on the proxy convex hull according to the first original blade included in the second concrete cutting process to obtain second concrete model fragments; and / or Performing Boolean cutting on the proxy convex hull according to the second original blade included in the second wood board cutting process to obtain second wood board model fragments; and / or cutting the proxy convex hull according to the third original blade included in the second custom cutting process to obtain second other model fragments; The convex hull fragments are obtained according to the second concrete model fragments and / or the second wooden board model fragments and / or the second other model fragments.

20. The method for generating fragment collision animation according to claim 19, wherein: Performing Boolean cutting on the proxy convex hull according to the second original blade included in the second wood board cutting process to obtain second wood board model fragments includes: Performing a Boolean cut on the proxy convex hull as a whole according to the second original blade included in the second wood board cutting process to obtain a first cutting result; Determining a position of the wall to which the first cutting result belongs in the proxy convex hull, and clustering the first cutting results according to the position of the wall to which the first cutting result belongs to obtain a first clustering result; Cut each wall in the proxy convex hull separately using the second original blade included in the second wood board cutting process to obtain a second cutting result; The first clustering result and the second cutting result are bound, and the second template model fragment is obtained according to the binding result.

21. The method for generating fragment collision animation according to claim 1, wherein: Establishing a fragment mapping relationship between the convex hull fragments and the model fragments includes: Converting the target proxy model into a coarse proxy model, and determining a target number of fragment blocks of the target proxy model according to the coarse proxy model; Determining a first fragment to be mapped from the convex hull fragments according to the fragment block number index, and determining a second fragment to be mapped according to the convex hull fragments and the first fragment to be mapped; Mapping the first fragment to be mapped onto the coarse proxy model, and mapping the model fragment onto the target proxy model; The second fragment to be mapped is reversely mapped to the target model to be cut, and the fragment mapping relationship between the convex hull fragment and the model fragment is obtained based on the first fragment to be mapped on the rough proxy model, the model fragment on the target proxy model and the second fragment to be mapped on the target model to be cut.

22. The method for generating fragment collision animation according to claim 1, wherein: The original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model, including: Determining whether the original model to be cut needs to be split according to the model attributes of the original model to be cut; If the original model to be cut does not need to be split, the original model to be cut and the current proxy model are detected to obtain the target model to be cut and the target proxy model; If the original model to be cut needs to be split, the original model to be cut and the current proxy model are split based on a preset model splitting standard to obtain multiple sub-models to be cut and multiple sub-proxy models; Each of the sub-models to be cut and the sub-proxy model is tested to obtain a target model to be cut and a target proxy model.

23. The method for generating fragment collision animation according to claim 22, wherein: If the model attribute is a complex concrete building model, determining that the original model to be cut needs to be split; The preset model splitting standard includes at least one of the following: First splitting criterion: taking the blade edge of the original blade generated by the current proxy model as the criterion; Second splitting criterion: taking the topological continuity of the current proxy model as the criterion; The third splitting criterion is based on the spatial continuity of the blade edge and convex hull fragments of the original blade generated by the current proxy model.

24. The method for generating fragment collision animation according to claim 23, wherein: The original model to be cut is split based on a preset model splitting standard to obtain multiple sub-models to be cut, including: Splitting the original model to be cut based on a first splitting criterion to obtain first sub-models to be cut separated in a knife-edge manner; and / or Splitting the original model to be cut based on a second splitting criterion to obtain a second sub-model to be cut separated in a topological structure manner; and / or The original model to be cut is split based on a third splitting criterion to obtain a third sub-model to be cut that is separated in a manually selected manner.

25. The method for generating fragment collision animation according to claim 24, wherein: Cutting the target model to be cut to obtain model fragments includes: If the target model to be cut is the target model to be cut corresponding to the first sub-model to be cut, cutting the target model to be cut to obtain model fragments; If the target model to be cut is the target model to be cut corresponding to the second sub-model to be cut, grouping the target models to be cut according to the topological continuity of the second sub-model to be cut, and cutting the grouped target models to be cut to obtain model fragments; If the target model to be cut is the target model to be cut corresponding to the third sub-model to be cut, the target models to be cut are manually grouped, and the grouped target models to be cut are cut to obtain model fragments.

26. A device for generating a fragment collision animation, comprising: The model detection module is configured to determine the current proxy model corresponding to the original model to be cut, and detect the original model to be cut and the current proxy model to obtain the target model to be cut and the target proxy model; a model cutting module configured to cut the target model to be cut to obtain model fragments, and to cut the target proxy convex hull corresponding to the target proxy model to obtain convex hull fragments; a model fragment attachment module configured to establish a fragment mapping relationship between the convex hull fragment and the model fragment, and attach the model fragment to the convex hull fragment based on the fragment mapping relationship; The collision animation generating module is configured to calculate a first fragment collision animation between the convex hull fragments and determine a second fragment collision animation between the model fragments based on the first fragment collision animation.

27. A computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the method for generating a fragment collision animation according to any one of claims 1 to 25 is implemented.

28. An electronic device comprising: processor; as well as a memory configured to execute and store executable instructions for the processor; The processor is configured to execute the method for generating a fragment collision animation according to any one of claims 1 to 25 by executing the executable instructions.

Citation Information

Patent Citations

  • Real-time collision detection using clipping

    CN101568943A

  • Collision data processing method and device, storage medium and electronic equipment

    CN113244622A

  • Particle crushing simulation analysis method based on rapid segmentation and replacement

    CN115719024A

  • Model establishing method and related device

    CN115984506A

  • Method and device for generating fragment collision animation, storage medium and electronic equipment

    CN118096949A