Model editing method and device, electronic equipment and computer storage medium
By achieving automatic communication and synchronous display between the virtual rendering engine and modeling software, the problem of low model editing efficiency between the virtual rendering engine and modeling software is solved, and an efficient and accurate model editing experience is achieved.
Patent Information
- Application Number
- CN202510472747.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-15
- Publication Date
- 2025-09-09
AI Technical Summary
In the prior art, the model editing process between the virtual rendering engine and the modeling software requires complex import and export operations, resulting in low editing efficiency and prone to errors.
Automatic and efficient communication is achieved between the virtual rendering engine and the modeling software. The target model is displayed in the model display interface of the virtual rendering engine, and the model to be edited is synchronously displayed in the modeling software when the preset conditions are met. The user's editing operations are received and the editing results are updated in real time in the virtual rendering engine.
There is no need to perform complex model export and import operations between the engine and the software, which improves the efficiency and accuracy of model editing, provides a flexible editing experience and efficient synchronization of model changes.
Smart Images

Figure CN120612419A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a model editing method, device, electronic device, and computer storage medium. Background Art
[0002] A virtual rendering engine is a software tool used to create and render virtual scenes, models, and animations. It typically serves as a core component of editable computer game systems or interactive real-time graphics applications. By processing 3D models, materials, lighting, and other elements, a virtual rendering engine can generate realistic 2D images or animations. Consequently, virtual rendering engines have been widely used in game development, film and television virtual production, virtual reality, and augmented reality.
[0003] The virtual rendering engine provides a model editor for model editing, but this model editor is usually used for coarse-grained editing of models. For more detailed model editing (such as adjusting facial wrinkles of game character models, subtle adjustments to character model clothing creases, etc.), professional modeling software is required.
[0004] Due to their differing functional emphases, virtual rendering engines and modeling software typically support different formats for model data. Currently, model editing with modeling software typically involves complex import and export operations. Specifically, the model editing process involves: completing the model editing within the modeling software; exporting the edited model data from the software; and then importing this data into the virtual rendering engine, where operations such as lighting rendering are performed. This model editing process is both error-prone and time-consuming, resulting in low model editing efficiency. Summary of the Invention
[0005] In view of this, an embodiment of the present application provides a model editing solution to at least partially solve the above problems.
[0006] According to a first aspect of an embodiment of the present application, a model editing method is provided, which is applied to an electronic device deployed with a virtual rendering engine and modeling software, comprising:
[0007] A target model is displayed in a first model display interface provided by a virtual rendering engine; in response to meeting a preset model editing condition, a model to be edited corresponding to the target model is displayed in a second model display interface provided by the modeling software; an editing operation for the model to be edited is received, and an edited model matching the editing operation is displayed in the first model display interface.
[0008] According to a second aspect of an embodiment of the present application, a model editing device is provided, which is located on an electronic device equipped with a virtual rendering engine and modeling software, and includes:
[0009] A display module is used to display the target model in the first model display interface provided by the virtual rendering engine; an editing condition response module is used to display the model to be edited corresponding to the target model in the second model display interface provided by the modeling software in response to meeting the preset model editing conditions; an editing module is used to receive an editing operation for the model to be edited and display the edited model matching the editing operation in the first model display interface.
[0010] According to the third aspect of an embodiment of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other through the communication bus; the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the method described in the first aspect.
[0011] According to a fourth aspect of the embodiments of the present application, a computer storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method described in the first aspect is implemented.
[0012] According to a fifth aspect of an embodiment of the present application, a computer program product is provided, which contains computer instructions, and the computer instructions instruct a computing device to perform operations corresponding to the method described in the first aspect.
[0013] According to the model editing solution provided in the embodiment of the present application, the target model to be edited is displayed in the first model display interface provided by the virtual rendering engine; if the preset model editing conditions are currently met, the model to be edited corresponding to the above-mentioned target model and having the same geometric features is displayed in the modeling software; thereafter, when the user performs a model editing operation on the above-mentioned model to be edited in the modeling software, the edited model matching the above-mentioned model editing operation is synchronously displayed in the first model display interface provided by the virtual rendering engine.
[0014] In the above-described embodiment of the present application, when a user wants to edit a model in the virtual rendering engine, there is no need to perform complex model export and import operations between the virtual rendering engine and the modeling software. Based on the automatic and efficient communication between the virtual rendering engine and the modeling software, the model to be edited will be synchronously displayed in the display interface of the modeling software for the user to edit and obtain the edited model. Afterwards, based on the automatic communication between the virtual rendering engine and the modeling software, the model changes between the virtual rendering engine and the modeling software can be synchronized. Therefore, the embodiment of the present application can effectively improve the efficiency of model editing operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0016] Figure 1 is a flowchart of the steps of a model editing method according to an embodiment of the present application;
[0017] Figure 2 Schematic diagram of the interaction process between the virtual rendering engine and the modeling software according to an embodiment of the present application;
[0018] Figure 3 is a structural block diagram of a model editing device according to an embodiment of the present application;
[0019] Figure 4 Schematic diagram of the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0020] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field should fall within the scope of protection of the embodiments of the present application.
[0021] Reference Figure 1 , Figure 1 The following is a flowchart of the steps of a model editing method according to an embodiment of the present application. The interactive method provided in this embodiment can be executed by any suitable electronic device that is equipped with a virtual rendering engine and modeling software. For example, the electronic device can be a server, a PC, etc. that is equipped with both a virtual rendering engine and modeling software. The model editing method can include the following steps:
[0022] Step 102: Display the target model in a first model display interface provided by the virtual rendering engine.
[0023] Schematically, the model in the virtual rendering engine can usually be obtained from external sources, for example, it can be created by professional modeling software, obtained from a pre-built model library, or reconstructed through 3D scanning.
[0024] To facilitate users to intuitively understand the model, the virtual rendering engine can provide a model display interface to display the model in the interface. For ease of description, in the embodiment of the present application, the interface provided in the virtual rendering engine for model display is referred to as the first model display interface.
[0025] In the embodiments of the present application, the specific content of the target model is not limited and can be any virtual model. For example, the target model can be a game character model in a game, or a virtual object model in a virtual space, such as a virtual sofa model or a virtual TV model in a virtual living room.
[0026] Step 104 : In response to the preset model editing condition being met, the model to be edited corresponding to the target model is displayed in a second model display interface provided by the modeling software.
[0027] Schematically, during the display of the target model, the user may have a need to edit the target model. Therefore, after the user's need to edit the model is determined, the model display interface provided by the modeling software dedicated to model construction and editing and connected to the virtual rendering engine (for ease of distinction, the model display interface provided by the modeling software in this embodiment of the application is referred to as the second model display interface) can be used to display the model to be edited corresponding to the target model to the user, so that the user can edit the model to be edited in the modeling software.
[0028] The model to be edited in this step can be a model with the same geometric shape as the target model. Due to different functional focuses, the presentation form of the model in the virtual rendering engine is usually different from the presentation form of the model in the modeling software. Therefore, the model to be edited and the target model are usually models with the same geometric shape but different presentation forms. Specifically, for the sake of rendering quality and rendering timeliness, the model in the virtual rendering engine is usually presented as a triangular face model, that is, the model in the virtual rendering engine is usually composed of a large number of triangular faces, a single triangular face is defined by three vertices, and these triangular faces are spliced together to form the surface of the model; while for the sake of modeling flexibility and editability, the model in the modeling software is usually presented as a quadrilateral model, that is, the model in the modeling software is usually composed of a large number of quadrilateral faces, a single quadrilateral face is defined by four vertices, and these quadrilateral faces are spliced together to form the surface of the model. Therefore, the target model in the virtual rendering engine can be a triangular face model, while the model to be edited in the modeling software can be a quadrilateral model with the same geometric shape as the target model.
[0029] In the embodiment of the present application, the model editing conditions can be pre-set according to the actual situation. If it is detected that the model editing conditions are met at the current moment, it can be determined that the current user has a need to edit the target model. In the embodiment of the present application, the specific content of the model editing conditions is not limited and can be customized according to the actual situation.
[0030] Optionally, in some embodiments, satisfying a preset model editing condition may specifically include: a model editing component being triggered; or the number of editing operations on the target model reaching a preset threshold within a preset time period.
[0031] For example, a model editing component can be displayed in the first model display interface provided by the virtual rendering engine. When the user wants to edit the target model, the user can trigger the model editing component (such as single-click, double-click, long press, drag, etc.) to explicitly convey the model editing requirement to the electronic device in the form of an explicit instruction. The above-mentioned method of confirming the editing requirement based on the model editing component gives the user control over the timing of executing the model editing operation and can decide when to execute the model editing operation according to their own needs and preferences. Therefore, it has high flexibility.
[0032] Exemplarily, the confirmation of the model editing demand can also be performed in an implicit way by counting the number of editing operations. Specifically: within a preset time period, it is possible to count whether the number of editing operations performed by the user on the target model in the virtual rendering engine exceeds a preset number threshold. When the number of editing operations exceeds the preset number threshold, it can be inferred that the current user is likely to want to edit the target model, and then the above step 104 can be executed; it is also possible to count whether the number of unadopted editing operations performed by the user on the target model or a part of the target model within a preset time period is greater than a preset threshold. If the above preset threshold is reached, it can also be inferred that the current user is likely to want to edit the target model, and then the above step 104 can be executed. The above method of confirming editing needs based on the number of editing operations does not require the user to perform other additional operations, but automatically triggers the subsequent model editing process according to the user's operating habits. Therefore, it can provide a more personalized user experience and reduce the complexity of user operations.
[0033] Step 106: Receive an editing operation for the model to be edited, and display the edited model matching the editing operation in the first model display interface.
[0034] Schematically, after the model to be edited corresponding to the target model is displayed in the second model display interface provided by the modeling software, the user can perform model editing operations on the model to be edited in the modeling software. Through the above step 106, after receiving the editing operation on the model to be edited, the edited model matching the above editing operation can be displayed in the first model display interface provided by the virtual rendering engine. For example, assuming that the model to be edited is a game character model, when the user stretches the nose of the game character model, the game character model after the nose is stretched will be displayed in the first model display interface.
[0035] In the above-described embodiment of the present application, when a user wants to edit a model in the virtual rendering engine, there is no need to perform complex model export and import operations between the virtual rendering engine and the modeling software. Based on the automatic and efficient communication between the virtual rendering engine and the modeling software, the model to be edited will be synchronously displayed in the display interface of the modeling software for the user to edit and obtain the edited model. Afterwards, based on the automatic communication between the virtual rendering engine and the modeling software, the model changes between the virtual rendering engine and the modeling software can be synchronized. Therefore, the embodiment of the present application can effectively improve the efficiency of model editing operations.
[0036] Optionally, in some embodiments, the process of displaying the model to be edited corresponding to the target model in the second model display interface provided by the modeling software may include:
[0037] Jump from the first model display interface to the second model display interface provided by the modeling software, and display the model to be edited corresponding to the target model in the second model display interface.
[0038] Correspondingly, the process of receiving an editing operation on the model to be edited and displaying the edited model matching the editing operation in the first model display interface may include:
[0039] Receive an editing operation for the model to be edited, and display a transition model matching the editing operation in the second model display interface; receive an editing confirmation operation for the transition model, jump from the second model display interface to the first model display interface, and display the edited model corresponding to the transition model in the first model display interface.
[0040] Illustratively, when it is detected that the preset model editing conditions are currently met, an interface jump operation can be performed to convert the first model display interface originally provided by the virtual rendering engine to the second model display interface provided by the modeling software. Afterwards, the user can perform editing operations on the model to be edited based on the above second model display interface. After the editing operation is completed, an edit confirmation operation is performed (for example, triggering an edit confirmation component in the second model display interface) to convert the display interface from the second model display interface provided by the modeling software back to the first model display interface provided by the virtual rendering engine, and the edited model is displayed in the first model display interface.
[0041] In the above embodiment of the present application, after determining the user's model editing needs, the display interface jumps, converting the first model display interface to the second model display interface provided by the modeling software. On the one hand, it can clearly inform the user that they can currently perform model editing operations in the modeling software; on the other hand, by jumping the interface, it can also avoid the mixing of interface elements caused by the simultaneous display of the first model display interface and the second model display interface, thereby reducing visual confusion. Therefore, the user's model editing experience can be effectively improved.
[0042] Optionally, in other embodiments, the process of displaying the model to be edited corresponding to the target model in the second model display interface provided by the modeling software may also include:
[0043] A first model display interface provided by the virtual rendering engine and a second model display interface provided by the modeling software are displayed simultaneously; the second model display interface displays a model to be edited corresponding to the target model.
[0044] Correspondingly, the process of receiving an editing operation for a model to be edited and displaying the edited model matching the editing operation in the first model display interface may include:
[0045] A first editing operation for a target model in a first model display interface is received; a second editing operation for a model to be edited in a second model display interface is received; and an edited model that matches both the first editing operation and the second editing operation is displayed in the first model display interface.
[0046] Schematically, a model editor is provided inside the virtual rendering engine, which can usually be used to perform coarse-grained editing of the model, such as: bone binding, blend deformation processing, etc. of the biological model. Among them, bone binding refers to the process of applying a virtual bone system or joint system to the model. By operating the bone or joint system, the model can perform specified actions. Blend deformation is a technology used to create complex facial expressions or specific shape changes. Through blend deformation, multiple deformed versions of a base model can be defined, and a smooth transition effect can be achieved by taking the difference between these deformed versions. Through the model editor in the virtual rendering engine, coarse-grained editing operations such as bone binding and blend deformation processing can be performed on the model quickly and efficiently. Modeling software can usually be used to perform refined editing operations on the model, such as: adjusting facial wrinkles of game character models, subtle adjustments to the creases of character models' clothing, etc.
[0047] Taking the above situation into consideration, in the above embodiment of the present application, when it is detected that the preset model editing conditions are currently met, the first model display interface and the second model display interface can be displayed simultaneously. In this way, in addition to being able to perform refined editing operations on the target model based on the second model display interface, the user can also perform fast and efficient coarse-grained editing operations on the target model based on the first model display interface. Afterwards, the edited model that matches both the refined editing operations and the coarse-grained editing operations can be displayed in the first model display interface.
[0048] In the above embodiment of the present application, after determining the user's model editing needs, the user is simultaneously presented with a first model display interface provided by the virtual rendering model and a second model display interface provided by the modeling software. This allows the user to perform quick editing operations using the virtual rendering model and perform refined model editing operations using the modeling software. This approach effectively improves editing efficiency while ensuring effective model editing.
[0049] Optionally, in some embodiments, the process of displaying the model to be edited corresponding to the target model in the second model display interface provided by the modeling software may include:
[0050] Acquire model metadata of the target model; perform mapping processing on the model metadata of the target model according to pre-configured model mapping information to obtain model metadata of the model to be edited corresponding to the target model in the modeling software; the model mapping information represents the correspondence between the geometric elements and topological structures of the target model and the model to be edited; based on the model metadata of the model to be edited, display the model to be edited in a second model display interface provided by the modeling software.
[0051] Illustratively, model metadata can be data that characterizes the model's geometry. Model metadata can include: the model name, identification and location information for each geometric element in the model (such as vertices, edges, and faces), and UV information used to correctly map a 2D texture image onto the 3D model surface.
[0052] As mentioned above, due to their different functional focuses, the presentation of models in virtual rendering engines often differs from that in modeling software. Therefore, the model metadata of the target model in the virtual rendering engine also differs from the model metadata of the model to be edited in the modeling software.
[0053] The target model in the virtual rendering engine is usually created by modeling software. After obtaining the model created by the modeling software, the virtual rendering engine will convert the model category to obtain model metadata that meets its own rendering needs. For example, a model presented in the form of a quadrilateral can be converted to a triangular form. During the above-mentioned category conversion process, the virtual rendering engine will record the model mapping information during the model conversion process, including: geometric mapping relationship and topological mapping relationship. Among them, the geometric mapping relationship defines the correspondence between the geometric elements of the triangular face model and the quadrilateral model. For example, when converting a quadrilateral model to a triangular face model, it is necessary to determine which triangular faces a quadrilateral can be split into, and how to adjust the vertex position to form a new triangular face structure; the topological mapping relationship describes the connection relationship between the various elements in the model.
[0054] In order to obtain the model metadata of the model to be edited in the modeling software, the virtual rendering engine can perform the following operations in sequence: obtain the model metadata of the target model in the virtual rendering engine, as well as the above-mentioned model mapping information between the target model and the model to be edited; according to the above-mentioned model mapping information, map the model metadata of the target model to obtain the model metadata of the model to be edited in the modeling software.
[0055] In the above embodiment of the present application, the model metadata of the target model is mapped through model mapping information, so that the model metadata of the model to be edited corresponding to the target in the modeling software can be accurately obtained, so that the model to be edited with the same geometric shape as the target model can be accurately displayed in the second model display interface, thereby improving the accuracy of model editing.
[0056] Optionally, in some embodiments, receiving an editing operation on a model to be edited, and displaying an edited model matching the editing operation in a first model display interface includes:
[0057] The modeling software receives the editing operation for the model to be edited and generates model metadata of the transition model that matches the editing operation; the virtual rendering engine performs inverse mapping processing on the model metadata of the transition model based on the model mapping information to obtain the model metadata of the edited model that matches the editing operation in the virtual rendering engine; and the virtual rendering engine displays the edited model in the first model display interface based on the model metadata of the edited model.
[0058] Illustratively, after a user performs an editing operation on a model to be edited in the modeling software, the modeling software can modify the model to be edited based on the editing operation, thereby generating a model that matches the editing operation. For ease of distinction, in the embodiments of this application, the model generated by the modeling software that matches the user's editing operation in the modeling software is referred to as a transition model.
[0059] After obtaining the model metadata of the transition model through the modeling software, the model metadata of the transition model can be transmitted to the virtual rendering engine through inter-process communication. The virtual rendering engine can then perform a reverse mapping process on the transition model based on the model mapping relationship to obtain the model metadata of the edited model in the virtual rendering engine that matches the editing operation. The virtual rendering engine can then perform model rendering based on the model metadata of the edited model, and the virtual rendering engine can then display the resulting edited model on the first model display interface.
[0060] In the above-mentioned embodiment of the present application, the model metadata of the transition model that matches the user's editing operation is first obtained in the modeling software. After that, the virtual rendering engine again performs inverse mapping processing on the model metadata of the transition model through the model mapping information, thereby accurately obtaining the model metadata of the edited model that matches the user's editing operation in the virtual rendering engine, so as to accurately display the edited model finally obtained after the editing operation in the first model display interface, further improving the accuracy of model editing.
[0061] Optionally, in some embodiments, there are multiple target models, and the multiple target models have overlapping geometric elements. After obtaining model metadata of multiple models to be edited corresponding to each target model in the modeling software, the model editing method may further include:
[0062] Acquire merged mapping information; the merged mapping information represents the correspondence between overlapping geometric elements of each model to be edited; perform metadata merging processing based on the merged mapping information and model metadata of multiple models to be edited to obtain model metadata of the merged model to be edited.
[0063] After obtaining model metadata of the edited merged model that matches the editing operation in the virtual rendering engine, and before displaying the edited model in the first model display interface based on the model metadata of the edited model, the method further includes:
[0064] By merging the mapping information, the model metadata of the edited merged model is split and processed to obtain the model metadata of the edited model corresponding to each target model.
[0065] Illustratively, in some scenarios, you may need to edit multiple target models. For example, a game character may include a body model, a head model, a hair model, a clothing model, and a series of other sub-models. Depending on design needs, the user may want to edit both the body model and the head model, which may have overlapping vertices, edges, and faces.
[0066] In view of the above situation, if each target model is treated as an independent individual and subsequent model editing and other operations are performed separately, on the one hand, the operation process is more complicated and the operation efficiency is low; on the other hand, more importantly, performing editing operations on different target models separately may cause the relative positions of overlapping geometric elements in each target model to be inconsistent, and then the joints of the edited models will present a visual phenomenon of model fragmentation and unevenness, and even lead to editing errors.
[0067] Based on the above considerations, after obtaining the model metadata of multiple models to be edited corresponding to each target model, the virtual rendering engine in the above embodiment of the present application first performs metadata merging processing on each target model according to the merge mapping information, and obtains the complete model metadata of the merged model to be edited. Schematically, the process of the virtual rendering engine performing metadata merging processing on each target model may include: determining the overlapping geometric elements between each target model according to the merge mapping information; performing model alignment processing on each target model based on the above overlapping geometric elements, so that the positions of each target model in the model space are correctly aligned, that is, aligning the overlapping geometric elements in one target model to the corresponding positions of another target model; merging the overlapping geometric elements in each target model, merging the overlapping geometric elements located in different target models into one geometric element, thereby obtaining the model metadata of the merged model to be edited.
[0068] After the above-mentioned metadata merging process obtains the model metadata of the merged model to be edited, the user can perform a unified editing operation on the above-mentioned complete merged model to be edited in the modeling software, thereby obtaining the edited merged model. After that, the virtual rendering engine performs a splitting process corresponding to the above-mentioned merging process on the obtained edited merged model based on the above-mentioned merging mapping information, thereby obtaining the model metadata of the edited model corresponding to each target model. In summary, the above-mentioned embodiments of the present application can effectively avoid editing errors in the model editing process and improve the effect and efficiency of model editing.
[0069] The merged mapping information in the embodiments of the present application can represent the correspondence between the geometric elements of different target models. For example: the vertex numbered 1 in target model 1 corresponds to the vertex numbered 2 in target model 2, and the two are overlapping vertices; the vertex numbered 3 in target model 1 corresponds to the vertex numbered 4 in target model 2, and the two are overlapping vertices; the edge numbered 1 in target model 1 corresponds to the edge numbered 2 in target model 2, and the two are overlapping edges; the face numbered 1 in target model 1 corresponds to the face numbered 2 in target model 2, and the two are overlapping faces, and so on.
[0070] Optionally, in some embodiments, the process of displaying the edited model in the first model display interface based on the model metadata of the edited model may include:
[0071] The model metadata of the target model and the model metadata of the edited model are compared to generate model element displacements; weight values of the model element displacements are determined, and data fusion of the model element displacements and the model metadata of the target model is performed based on the weight values to obtain fused metadata; the model is rendered according to the fused metadata, and the model is displayed in the first model display interface based on the rendering results.
[0072] Schematically, in the above embodiment, after obtaining the model metadata of the edited model, the virtual rendering engine first calculates the model element displacement based on the model metadata of the edited model and the model metadata of the initial target model to be edited, and the model element displacement represents the position offset of each geometric element in the model caused by the user's model editing operation; thereafter, a suitable weight value can be set for the generated model element displacement according to actual conditions, and then the model element displacement and the model metadata of the target model are data fused according to the weight value, thereby obtaining the final fused metadata.
[0073] In the embodiment of the present application, there is no limitation on the method for determining the weight value of the displacement of the model element. For example, the above-mentioned weight value can be fixed to a specific value in a pre-set manner; or it can be customized by the user according to the actual situation. For example, assuming that for the vertex numbered 1 in the target model, it is calculated that the vertex has a displacement of 10mm due to the user's model editing operation, then the user can set the weight value of the displacement according to the actual situation: if the weight value is set to 1, it means that the influence of the user's editing operation is fully accepted, and the original position of the vertex can be displaced by 10mm, thereby obtaining the new position of the vertex after the editing operation; if the weight value is set to 0.5, the original position of the vertex can be displaced by 5mm, thereby obtaining the new position of the vertex after the editing operation; if the weight value is set to 0, it means that the influence of the user's editing operation is not accepted, which is equivalent to giving up this editing operation, and the original position of the vertex can be kept unchanged.
[0074] Furthermore, with regard to the method of user-defined weight value setting, for example, the user can first set the weight value to a certain initial value, so that the virtual rendering engine can perform subsequent data fusion, model rendering and display operations based on the initial value; after observing the displayed edited model, if the user feels that the actual editing effect is relatively satisfactory, the editing process ends; if the user feels that the actual editing effect is different from the expected effect, the above initial value can be modified to obtain a new weight value, and then the virtual rendering engine performs data fusion and model display based on the new weight value until an editing effect that meets the user's expectations is obtained.
[0075] In the above process, the virtual rendering engine calculates the displacement of model elements and fuses the displacement of model elements with the model metadata of the target model by setting appropriate weight values, so that the proportion of the impact of editing operations on the position of geometric elements of the target model can be flexibly adjusted according to actual conditions, further improving the flexibility of model editing and the diversity of model editing results.
[0076] Optionally, in some embodiments, the model metadata of the target model is model metadata obtained through skeletal binding processing.
[0077] The model metadata of the target model and the model metadata of the edited model are compared to generate the model element displacement, including: based on the bone matrix, performing bone binding processing on the model metadata of the target model to obtain first processed metadata; based on the bone matrix, performing bone binding processing on the model metadata of the edited model to obtain second processed metadata; and comparing the first processed metadata with the second processed metadata to generate the model element displacement.
[0078] Correspondingly, data fusion is performed on the model element displacement and the model metadata of the target model based on the weight value to obtain fused metadata, including: data fusion is performed on the model element displacement and the first processed metadata based on the weight value to obtain fused metadata.
[0079] The model is rendered according to the fused metadata, and the model is displayed in the first model display interface based on the rendering result, including: performing bone binding processing on the fused metadata based on the bone matrix to obtain binding metadata; the model is rendered according to the binding metadata, and the model is displayed in the first model display interface based on the rendering result.
[0080] Schematically, after the model is built by the modeling software, for the convenience of model editing, the model is usually subjected to a skeleton binding process. That is to say, the target model obtained in the embodiment of the present application may be the model obtained after the skeleton binding process of the model of the original construction, and the target model is the model affected by the skeleton binding. The position of each geometric element in the target model is the position obtained after the skeleton matrix performs matrix operations on the basis of the original position of each geometric element of the original model. And for the target model that has been subjected to the skeleton binding process, after the editing operation, before the virtual rendering engine performs model rendering, the model is usually subjected to the skeleton binding process again.
[0081] Considering that the virtual rendering engine will perform skeleton binding processing on the entire model again before rendering the model, therefore, when calculating the displacement of the model elements, the influence of the skeleton binding processing must be removed, that is, the calculated displacement of the model elements represents the position offset between the geometric elements of the pre-editing model after the influence of the skeleton binding processing is removed and the edited model after the influence of the skeleton binding processing is removed. Based on the above considerations, in the above embodiment of the present application, based on the skeleton matrix, the model metadata of the target model and the model metadata of the edited model are respectively subjected to skeleton binding removal processing, thereby obtaining the first processed metadata corresponding to the model metadata of the target model, and the second processed metadata corresponding to the model metadata of the edited model; and then comparing the first processed metadata after the influence of the skeleton binding and the second processed metadata after the influence of the skeleton binding, the displacement of the model elements after the influence of the skeleton binding is generated.
[0082] In the above embodiment of the present application, before calculating the displacement of model elements, the model metadata of the target model and the model metadata of the edited model are first subjected to skeletal binding removal processing, and then the model element displacements without the influence of skeletal binding are generated based on the processed metadata; based on the model element displacements without the influence of skeletal binding, subsequent metadata fusion is performed, and then the fused metadata is subjected to skeletal binding processing as a whole, so that more accurate binding metadata can be obtained. Therefore, through the above process, the accuracy of model editing can be improved.
[0083] Optionally, in some embodiments, the number of editing operations performed on the model to be edited is multiple; corresponding model element displacements are generated for each editing operation;
[0084] Determine the weight value of the model element displacement, and perform data fusion on the model element displacement and the model metadata of the target model based on the weight value to obtain fused metadata, including:
[0085] The weight values of the model element displacements corresponding to the respective editing operations are determined respectively, and based on the respective weight values, data fusion is performed on the model element displacements corresponding to the respective editing operations and the model metadata of the target model to obtain fused metadata.
[0086] Schematically, for a target model, a user can perform multiple edit operations in the modeling software. For each edit operation, a corresponding model element displacement is generated, i.e., a set of model element displacements is generated. Then, appropriate weights can be set for each generated model element displacement according to the actual situation, i.e., a set of weights is set. The model metadata of the target model and the generated set of model element displacements are then fused based on the weights to obtain the final fused metadata. For example, a user performs three edit operations in the modeling software. A vertex has an initial coordinate of A in a certain direction in the target model. The vertex displacement corresponding to the first edit operation is 10, the vertex displacement corresponding to the second edit operation is -2, and the vertex displacement corresponding to the third edit operation is 5. If the weights for the first edit operation are set to 0.5, the second edit operation to 1, and the third edit operation to 0, then the final coordinate of the vertex in the fused metadata in the aforementioned direction is: A + (10 × 0.5) + (-2 × 1) + (5 × 0) = A + 3.
[0087] In the above embodiment of the present application, for each editing operation, the corresponding model element displacement is calculated and stored in a hierarchical manner. Afterwards, a suitable weight value is set for each model element displacement, and then the displacement of each model element and the model metadata of the target model are fused according to the above weight value, so that the proportion of the impact of the user editing operation on the position of the geometric element of the target model can be flexibly adjusted according to the actual situation, further improving the flexibility of model editing and further improving the diversity of model editing results.
[0088] See also Figure 2 , Figure 2 The figure is a flow chart of the interaction between the virtual rendering engine and the modeling software according to an embodiment of the present application.
[0089] The following combination Figure 2 The model editing solution provided in the embodiment of this application is briefly described:
[0090] In step 201, the virtual rendering engine collects model metadata of the target model to be displayed. For example, the metadata of the target model may include: model name, identification information and location information of the triangular vertices in the model, UV information used to correctly map the 2D texture image to the 3D model surface, etc.
[0091] Step 204: The virtual rendering engine applies pre-configured model mapping information to perform mapping processing on the model metadata of the target model.
[0092] In step 206, if there are multiple target models, the virtual rendering engine determines whether to merge the models. If so, step 208 is executed; if not, the result of step 204 is used as the model metadata of the model to be edited in the modeling software. For example, the model metadata of the model to be edited may include: the identification and location information of the vertices of the quadrilateral faces in the model, the number of quadrilateral faces, the composition relationship between vertices and quadrilateral faces (i.e., which numbered vertices together form which numbered quadrilateral face), etc.
[0093] In step 208 , the virtual rendering engine applies the merge mapping information, performs metadata merging processing on the result obtained in step 206 , and uses the processing result as the model metadata of the merged model to be edited in the modeling software.
[0094] In step 210 , the virtual rendering engine sends the obtained storage address of the model metadata of the to-be-edited (merged) model to the modeling software by means of inter-process communication.
[0095] Step 212: The modeling software loads the model metadata of the model to be edited (merged) according to the above storage address.
[0096] Step 214 : The modeling software receives the user's editing operation on the model to be edited (merged).
[0097] In step 216 , the modeling software generates model metadata of the transition model that matches the editing operation.
[0098] In step 218 , the modeling software sends the storage address of the obtained model metadata of the transition model to the virtual rendering engine by means of inter-process communication.
[0099] Step 220: The virtual rendering engine loads the model metadata of the transition model.
[0100] In step 222, the virtual rendering engine determines whether to perform model splitting. If yes, step 224 is executed; if not, the result of step 220 is used as the model metadata of the edited model.
[0101] In step 224 , the virtual rendering engine applies the merged mapping information, performs metadata splitting processing on the result obtained in step 220 , and uses the splitting result as the model metadata of the edited model.
[0102] In step 226 , the virtual rendering engine compares the model metadata of the target model with the model metadata of the edited model, calculates the displacement of the model elements, and stores the displacement of the model elements in layers to obtain layered data.
[0103] In step 228, the virtual rendering engine superimposes the layered data onto the target model during the rendering process. During the superimposition process, the weight values of the layered data can be set according to actual needs.
[0104] Figure 3 : is a structural block diagram of a model editing device according to an embodiment of the present application. The model editing device provided by the embodiment of the present application includes:
[0105] The display module 302 is used to display the target model in the first model display interface provided by the virtual rendering engine.
[0106] The editing condition response module 304 is configured to display the model to be edited corresponding to the target model in the second model display interface provided by the modeling software in response to the preset model editing condition being met.
[0107] The editing module 306 is configured to receive an editing operation on the model to be edited, and display the edited model matching the editing operation in the first model display interface.
[0108] Optionally, in some embodiments, satisfying a preset model editing condition includes:
[0109] The model editing component is triggered; or, within a preset time period, the number of editing operations on the target model reaches a preset threshold.
[0110] Optionally, in some embodiments, the editing condition response module 304, when executing the step of displaying the model to be edited corresponding to the target model in the second model display interface provided by the modeling software, is specifically configured to:
[0111] Jump from the first model display interface to the second model display interface provided by the modeling software, and display the model to be edited corresponding to the target model in the second model display interface.
[0112] Correspondingly, the editing module 306 is specifically used to: receive an editing operation for the model to be edited, and display a transition model matching the editing operation in the second model display interface; receive an editing confirmation operation for the transition model, jump from the second model display interface to the first model display interface, and display the edited model corresponding to the transition model in the first model display interface.
[0113] Optionally, in some embodiments, the editing condition response module 304, when executing the step of displaying the model to be edited corresponding to the target model in the second model display interface provided by the modeling software, is specifically configured to:
[0114] A first model display interface provided by the virtual rendering engine and a second model display interface provided by the modeling software are displayed simultaneously; the second model display interface displays a model to be edited corresponding to the target model.
[0115] Correspondingly, the editing module 306 is specifically used to: receive a first editing operation for the target model in the first model display interface; receive a second editing operation for the model to be edited in the second model display interface; and display the edited model that matches both the first editing operation and the second editing operation in the first model display interface.
[0116] Optionally, in some embodiments, the editing condition response module 304, when executing the step of displaying the model to be edited corresponding to the target model in the second model display interface provided by the modeling software, is specifically configured to:
[0117] Acquire model metadata of the target model; perform mapping processing on the model metadata of the target model according to pre-configured model mapping information to obtain model metadata of the model to be edited corresponding to the target model in the modeling software; the model mapping information represents the correspondence between the geometric elements and topological structures of the target model and the model to be edited; based on the model metadata of the model to be edited, display the model to be edited in a second model display interface provided by the modeling software.
[0118] Optionally, in some embodiments, the editing module 306 is specifically used to: receive an editing operation for the model to be edited through the modeling software, and generate model metadata of the transition model that matches the editing operation; based on the model mapping information, perform inverse mapping processing on the model metadata of the transition model to obtain model metadata of the edited model that matches the editing operation in the virtual rendering engine; and display the edited model in the first model display interface based on the model metadata of the edited model through the virtual rendering engine.
[0119] Optionally, in some of the embodiments, there are multiple target models, and the multiple target models have overlapping geometric elements;
[0120] The editing module 306, after obtaining the model metadata of multiple models to be edited corresponding to each target model in the modeling software, is also used to: obtain merge mapping information; the merge mapping information represents the correspondence between overlapping geometric elements between each model to be edited; based on the merge mapping information and the model metadata of the multiple models to be edited, perform metadata merging processing to obtain model metadata of the merged model to be edited.
[0121] The editing module 306, after obtaining the model metadata of the edited merged model that matches the editing operation in the virtual rendering engine, and before displaying the edited model in the first model display interface based on the model metadata of the edited model, is also used to: split the model metadata of the edited merged model by merging mapping information, and obtain the model metadata of the edited model corresponding to each target model respectively.
[0122] Optionally, in some embodiments, the editing module 306, when executing the step of displaying the edited model in the first model display interface based on the model metadata of the edited model, is specifically configured to:
[0123] The model metadata of the target model and the model metadata of the edited model are compared to generate model element displacements; weight values of the model element displacements are determined, and data fusion of the model element displacements and the model metadata of the target model is performed based on the weight values to obtain fused metadata; the model is rendered according to the fused metadata, and the model is displayed in the first model display interface based on the rendering results.
[0124] Optionally, in some embodiments, the model metadata of the target model is model metadata obtained through skeletal binding processing.
[0125] The editing module 306, when executing the step of comparing the model metadata of the target model and the model metadata of the edited model to generate the model element displacement, is specifically used to: based on the bone matrix, de-bone bind the model metadata of the target model to obtain first processed metadata; based on the bone matrix, de-bone bind the model metadata of the edited model to obtain second processed metadata; compare the first processed metadata and the second processed metadata to generate the model element displacement.
[0126] The editing module 306, when executing the step of fusing the model element displacement and the model metadata of the target model based on the weight value to obtain the fused metadata, is specifically used to: fusing the model element displacement and the first processed metadata based on the weight value to obtain the fused metadata.
[0127] The editing module 306, when executing the steps of rendering the model according to the fused metadata and displaying the model in the first model display interface based on the rendering results, is specifically used to: perform bone binding processing on the fused metadata based on the bone matrix to obtain binding metadata; render the model according to the binding metadata, and display the model in the first model display interface based on the rendering results.
[0128] Optionally, in some embodiments, the number of editing operations performed on the model to be edited is multiple; and a corresponding model element displacement is generated for each editing operation.
[0129] The editing module 306, when executing the step of determining the weight value of the model element displacement and fusing the model element displacement and the model metadata of the target model based on the weight value to obtain the fused metadata, is specifically configured to:
[0130] The weight values of the model element displacements corresponding to the respective editing operations are determined respectively, and based on the respective weight values, data fusion is performed on the model element displacements corresponding to the respective editing operations and the model metadata of the target model to obtain fused metadata.
[0131] The model editing device of this embodiment is used to implement the corresponding model editing method of the aforementioned embodiment and has the beneficial effects of the corresponding method embodiment, which will not be described in detail here. In addition, the functional implementation of each module in the model editing device of this embodiment can refer to the corresponding description of the aforementioned method embodiment, and will not be described in detail here.
[0132] Reference Figure 4 , shows a schematic structural diagram of an electronic device according to an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the electronic device.
[0133] like Figure 4As shown, the electronic device may include: a processor (processor) 402 , a communication interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .
[0134] in:
[0135] The processor 402 , the communication interface 404 , and the memory 406 communicate with each other via a communication bus 408 .
[0136] The communication interface 404 is used to communicate with other electronic devices.
[0137] The processor 402 is configured to execute the program 410 , and specifically to execute the relevant steps in the above-mentioned model editing method embodiment.
[0138] Illustratively, the program 410 may include program codes, which include computer operating instructions.
[0139] Processor 402 may be a CPU, an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs, or may be processors of different types, such as one or more CPUs and one or more ASICs.
[0140] The memory 406 is used to store the program 410. The memory 406 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0141] The program 410 may include multiple computer instructions. Specifically, the program 410 may enable the processor 402 to execute operations corresponding to the method described in any of the aforementioned method embodiments through the multiple computer instructions.
[0142] The specific implementation of each step in program 410 can refer to the corresponding description of the corresponding steps and units in the above-mentioned method embodiment, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working process of the above-mentioned devices and modules can refer to the corresponding process description in the above-mentioned method embodiment, and will not be repeated here.
[0143] The present application also provides a computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any of the aforementioned method embodiments. The computer storage medium includes, but is not limited to, a compact disc read-only memory (CD-ROM), random access memory (RAM), a floppy disk, a hard disk, or a magneto-optical disk.
[0144] An embodiment of the present application also provides a computer program product, including computer instructions, which instruct a computing device to execute operations corresponding to any one of the above-mentioned multiple method embodiments.
[0145] In addition, it should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used to train the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0146] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.
[0147] The above-described method according to the embodiment of the present application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk or magneto-optical disk), or as computer code originally stored in a remote recording medium or a non-transitory machine-readable medium downloaded via a network and then stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor or programmable or dedicated hardware (such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA)). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., random access memory (RAM), read-only memory (ROM), flash memory, etc.) that can store or receive software or computer code. When the software or computer code is accessed and executed by the computer, processor or hardware, the method described herein is implemented. In addition, when a general purpose computer accesses code for implementing the methods shown herein, the execution of the code transforms the general purpose computer into a special purpose computer for executing the methods shown herein.
[0148] Those skilled in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of this application.
[0149] The above implementation methods are only used to illustrate the embodiments of the present application, and are not intended to limit the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present application, and the scope of patent protection of the embodiments of the present application should be defined by the claims.
Claims
1. A model editing method, applied to an electronic device equipped with a virtual rendering engine and modeling software, comprising: Displaying the target model in a first model display interface provided by the virtual rendering engine; In response to a preset model editing condition being met, displaying a model to be edited corresponding to the target model in a second model display interface provided by the modeling software; An editing operation on the model to be edited is received, and an edited model matching the editing operation is displayed in the first model display interface.
2. The method according to claim 1, wherein The preset model editing conditions are met, including: The model editing component is triggered; or, within a preset time period, the number of editing operations on the target model reaches a preset threshold.
3. The method according to claim 1 or 2, wherein: The displaying of the model to be edited corresponding to the target model in the second model display interface provided by the modeling software includes: Jumping from the first model display interface to a second model display interface provided by the modeling software, and displaying the model to be edited corresponding to the target model in the second model display interface; The receiving an editing operation on the model to be edited, and displaying the edited model matching the editing operation in the first model display interface, includes: receiving an editing operation for the model to be edited, and displaying a transition model matching the editing operation in the second model display interface; An editing confirmation operation for the transition model is received, the interface switches from the second model display interface to the first model display interface, and the edited model corresponding to the transition model is displayed in the first model display interface.
4. The method according to claim 1 or 2, wherein: The displaying of the model to be edited corresponding to the target model in the second model display interface provided by the modeling software includes: Simultaneously displaying a first model display interface provided by the virtual rendering engine and a second model display interface provided by the modeling software; the second model display interface displays a model to be edited corresponding to the target model; The receiving an editing operation on the model to be edited, and displaying the edited model matching the editing operation in the first model display interface, includes: receiving a first editing operation on a target model in the first model display interface; receiving a second editing operation on the model to be edited in the second model display interface; An edited model that matches both the first editing operation and the second editing operation is displayed in the first model display interface.
5. The method according to claim 1 or 2, wherein: The displaying of the model to be edited corresponding to the target model in the second model display interface provided by the modeling software includes: Obtaining model metadata of the target model; Mapping the model metadata of the target model according to pre-configured model mapping information to obtain model metadata of the model to be edited corresponding to the target model in the modeling software; the model mapping information represents the corresponding relationship between the geometric elements and topological structures of the target model and the model to be edited; Based on the model metadata of the model to be edited, the model to be edited is displayed in a second model display interface provided by the modeling software.
6. The method according to claim 5, wherein: The receiving an editing operation on the model to be edited, and displaying the edited model matching the editing operation in the first model display interface, includes: Receiving, through the modeling software, an editing operation on the model to be edited, and generating model metadata of a transition model matching the editing operation; Based on the model mapping information, inverse mapping processing is performed on the model metadata of the transition model to obtain model metadata of the edited model in the virtual rendering engine that matches the editing operation; The edited model is displayed in the first model display interface based on the model metadata of the edited model through the virtual rendering engine.
7. The method according to claim 6, wherein: There are multiple target models, and the multiple target models have overlapping geometric elements; After obtaining model metadata of a plurality of models to be edited corresponding to each target model in the modeling software, the method further includes: Acquire merge mapping information; the merge mapping information represents the correspondence between overlapping geometric elements of each to-be-edited model; Performing metadata merging processing based on the merged mapping information and the model metadata of the multiple models to be edited to obtain model metadata of the merged model to be edited; After obtaining model metadata of the edited merged model that matches the editing operation in the virtual rendering engine, and before displaying the edited model in the first model display interface based on the model metadata of the edited model, the method further includes: The model metadata of the edited merged model is split using the merged mapping information to obtain the model metadata of the edited model corresponding to each target model.
8. The method according to claim 6, wherein: The step of displaying the edited model in the first model display interface based on the model metadata of the edited model includes: Comparing the model metadata of the target model with the model metadata of the edited model to generate model element displacements; Determining a weight value of the model element displacement, and performing data fusion on the model element displacement and the model metadata of the target model based on the weight value to obtain fused metadata; The model is rendered according to the fused metadata, and the model is displayed in the first model display interface based on the rendering result.
9. The method according to claim 8, wherein The model metadata of the target model is the model metadata obtained through the skeleton binding process; The comparing the model metadata of the target model with the model metadata of the edited model to generate the model element displacement includes: Based on the skeleton matrix, performing a skeleton binding process on the model metadata of the target model to obtain first processed metadata; Based on the bone matrix, performing a bone-binding process on the model metadata of the edited model to obtain second processed metadata; comparing the first processed metadata and the second processed metadata to generate a model element displacement; The performing data fusion on the model element displacement and the model metadata of the target model based on the weight value to obtain fused metadata includes: Performing data fusion on the model element displacement and the first processed metadata based on the weight value to obtain fused metadata; Rendering the model according to the fused metadata, and displaying the model in the first model display interface based on the rendering result, includes: Based on the bone matrix, performing bone binding processing on the fused metadata to obtain binding metadata; The model is rendered according to the binding metadata, and the model is displayed in the first model display interface based on the rendering result.
10. The method according to claim 8, wherein The number of editing operations performed on the model to be edited is multiple; Generate corresponding model element displacement for each editing operation; The determining of the weight value of the model element displacement, and performing data fusion on the model element displacement and the model metadata of the target model based on the weight value to obtain fused metadata, includes: The weight values of the model element displacements corresponding to the respective editing operations are determined respectively, and based on the respective weight values, data fusion is performed on the model element displacements corresponding to the respective editing operations and the model metadata of the target model to obtain fused metadata.
11. A model editing device, located on an electronic device equipped with a virtual rendering engine and modeling software, comprising: A display module, configured to display the target model in a first model display interface provided by the virtual rendering engine; An editing condition response module, configured to display a model to be edited corresponding to the target model in a second model display interface provided by the modeling software in response to a preset model editing condition being met; The editing module is used to receive an editing operation on the model to be edited, and display the edited model matching the editing operation in the first model display interface.
12. An electronic device comprising: A processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, where the executable instruction enables the processor to perform an operation corresponding to the method according to any one of claims 1 to 10.
13. A computer storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.
14. A computer program product comprising computer instructions, wherein the computer instructions instruct a computing device to perform operations corresponding to the method according to any one of claims 1 to 10.