Object processing method and device

By obtaining the current pose of the active object and updating the pose of the driven object using the preset mapping relationship, the problem of single animation mapping in the existing technology is solved, and the flexibility and richness of animation is realized, and the user experience is improved.

CN115115749BActive Publication Date: 2025-08-15ZHUHAI KINGSOFT ONLINE GAME TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210744379.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-28
Publication Date
2025-08-15
Estimated Expiration
2042-06-28

AI Technical Summary

Technical Problem

In the prior art, the mapping between the controller and the animation state machine is single, resulting in the animation in three-dimensional animation being stiff and affecting the user experience.

Method used

By obtaining the current pose of the active object, the target pose parameters of the driven object are determined using the preset mapping relationship, and the pose update is performed to achieve flexible mapping between the active object and the driven object.

Benefits of technology

It improves the pose update efficiency of driven objects, simplifies the pose update program, makes animation more flexible and rich, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115115749B_ABST
    Figure CN115115749B_ABST
Patent Text Reader

Abstract

The present application provides an object processing method and device, wherein the object processing method includes: obtaining a first current posture of an active object; determining target posture parameters of a slave object based on the first current posture and a preset mapping relationship, wherein the mapping relationship represents a change constraint relationship between the active object and the slave object; and updating the posture of the slave object based on the target posture parameters to obtain the target posture of the slave object. The object processing method provided by the present application can improve the posture update efficiency, simplify the posture update procedure for the slave object, and thus improve the object processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and more particularly to an object processing method, an object processing apparatus, a computing device, and a computer-readable storage medium. Background Art

[0002] With the development of computer technology, two-dimensional and three-dimensional images have emerged. Because three-dimensional images are more intuitive than two-dimensional images and can give viewers a more immersive feeling, three-dimensional graphics technology is becoming more and more popular.

[0003] In 3D animation, an animation state machine is typically used to control the animation states of animated objects. Common animations in each animation state can be reused for all animated objects in that state. In existing 3D games, to display specific animations based on the animation state of an object, a controller is often mapped to the animation state machine.

[0004] However, the mapping between the controller and the animation state machine in the above method is single, and only the same attributes can be animated, resulting in jerky animations and seriously affecting the user experience. Therefore, an effective solution is urgently needed to solve the above problems. Summary of the Invention

[0005] In view of this, the embodiments of the present application provide an object processing method to solve the technical defects existing in the prior art. The embodiments of the present application also provide an object processing apparatus, a computing device, and a computer-readable storage medium.

[0006] According to a first aspect of an embodiment of the present application, there is provided an object processing method, comprising:

[0007] Get the first current pose of the active object;

[0008] Determining target posture parameters of the slave object according to the first current posture and a preset mapping relationship, wherein the mapping relationship represents a change constraint relationship between the master object and the slave object;

[0009] The posture of the slave object is updated according to the target posture parameter to obtain the target posture of the slave object.

[0010] Optionally, determining the target posture parameter of the driven object according to the first current posture and a preset mapping relationship includes:

[0011] monitoring the first current posture;

[0012] When the first current posture changes, target posture parameters of the driven object are determined according to the first current posture and a preset mapping relationship.

[0013] Optionally, before monitoring the first current posture, the method further includes:

[0014] receiving a configuration instruction, wherein the configuration instruction carries a monitoring parameter;

[0015] According to the monitoring parameters, setting the monitoring axis;

[0016] Accordingly, monitoring the first current posture includes:

[0017] The first current posture is monitored in the axial direction of the monitoring axis.

[0018] Optionally, determining the target posture parameter of the driven object according to the first current posture and a preset mapping relationship includes:

[0019] Reading first current posture parameters corresponding to the first current posture;

[0020] Determining a posture change parameter of the active object according to the first current posture parameter and the historical posture parameter of the active object, wherein the historical posture parameter is the posture parameter before the first current posture changes;

[0021] The target posture parameters of the driven object are determined according to the posture change parameters and the preset mapping relationship.

[0022] Optionally, the mapping relationship includes a mapping mode and a parameter mapping relationship;

[0023] Accordingly, determining the target posture parameter of the driven object according to the posture change parameter and the preset mapping relationship includes:

[0024] Determining updated pose parameters of the driven object according to the pose change parameters and the parameter mapping relationship;

[0025] The target pose parameters of the driven object are determined according to the mapping mode and the updated pose parameters.

[0026] Optionally, determining the target pose parameters of the driven object according to the mapping mode and the updated pose parameters includes:

[0027] When the mapping mode is a replacement mode, determining the updated pose parameters as target pose parameters of the driven object;

[0028] When the mapping mode is the superposition mode, the updated pose parameters and the second current pose parameters of the slave object are superimposed to obtain the target pose parameters of the slave object.

[0029] Optionally, the posture change parameter includes an attribute change parameter and a position change parameter; the parameter mapping relationship includes an attribute mapping relationship and a position mapping relationship;

[0030] Accordingly, determining the updated pose parameters of the driven object according to the pose change parameters and the parameter mapping relationship includes:

[0031] Determining the updated attribute parameters of the slave object according to the attribute change parameters and the attribute mapping relationship, and determining the updated position parameters of the slave object according to the position change parameters and the position mapping relationship;

[0032] Determine updated pose parameters of the driven object according to the updated attribute parameters and the updated position parameters.

[0033] Optionally, the target pose parameter includes at least two sub-target pose parameters, and the update axes corresponding to the sub-target pose parameters are different;

[0034] Accordingly, updating the posture of the slave object according to the target posture parameter to obtain the target posture of the slave object includes:

[0035] For any sub-target posture parameter, according to the sub-target posture parameter, the posture of the slave object is updated along the update axis corresponding to the sub-target posture parameter, and each sub-target posture parameter is traversed to obtain the target posture of the slave object.

[0036] Optionally, for any sub-target pose parameter, updating the pose of the slave object along the update axis corresponding to the sub-target pose parameter according to the sub-target pose parameter, traversing each sub-target pose parameter to obtain the target pose of the slave object includes:

[0037] Get the update order of each update axis;

[0038] According to the update order, starting from the sub-target pose parameters corresponding to the first update axis, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameters, until the sub-target pose parameters corresponding to the last update axis are updated, so as to obtain the target pose of the driven object.

[0039] Optionally, determining the target posture parameter of the driven object according to the first current posture and a preset mapping relationship includes:

[0040] In a case where the first current posture changes, determining a predicted posture parameter of the slave object according to the first current posture of a first designated object and a preset mapping relationship, wherein the first designated object is any designated object of at least two designated objects, and the designated object is the active object whose first current posture changes;

[0041] The target pose parameters are determined based on the predicted pose parameters.

[0042] Optionally, updating the posture of the slave object according to the target posture parameter to obtain the target posture of the slave object includes:

[0043] Identify the attribute type corresponding to each sub-target pose parameter;

[0044] Determining the update priority of each sub-target pose parameter according to the attribute priority of the attribute type;

[0045] Starting from the sub-target pose parameter with the highest update priority, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameter until the sub-target pose parameter with the lowest update priority is reached, thereby obtaining the target pose of the driven object.

[0046] Optionally, determining the update priority of each sub-target pose parameter according to the attribute priority of the attribute type includes:

[0047] Determining the initial update priority of each sub-target pose parameter according to the attribute priority of the attribute type;

[0048] Identifying at least two rotation axes of designated pose parameters, wherein the designated pose parameters are pose parameters of a sub-target whose attribute information is rotation;

[0049] Determining the priority of each designated posture parameter according to the rotation priority of the rotation axis;

[0050] The target update priority of each sub-target pose parameter is determined according to the specified priority and the initial update priority.

[0051] According to a second aspect of an embodiment of the present application, there is provided an object processing apparatus, including:

[0052] an acquisition module configured to acquire a first current pose of the active object;

[0053] a determination module configured to determine a target pose parameter of the slave object based on the first current pose and a preset mapping relationship, wherein the mapping relationship represents a motion constraint relationship between the master object and the slave object;

[0054] The updating module is configured to update the posture of the slave object according to the target posture parameters to obtain the target posture of the slave object.

[0055] According to a third aspect of an embodiment of the present application, a computing device is provided, including:

[0056] memory and processor;

[0057] The memory is used to store computer-executable instructions, and the processor implements the steps of the object processing method when executing the computer-executable instructions.

[0058] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, which stores computer-executable instructions, and when the instructions are executed by a processor, the steps of the object processing method are implemented.

[0059] The object processing method provided by the present application obtains the first current posture of the active object; determines the target posture parameters of the slave object based on the first current posture and a preset mapping relationship, wherein the mapping relationship represents the change constraint relationship between the active object and the slave object; and updates the posture of the slave object based on the target posture parameters to obtain the target posture of the slave object. By presetting the mapping relationship, the changed first current posture can be mapped to the target posture parameters of the slave object. Since the first current posture mapping can have different attributes, the target posture parameters obtained through the mapping relationship can also have different attributes, making the mapping between the active object and the slave object single and rich in attributes, making the obtained slave object more flexible and diverse. Moreover, the posture of the slave object can be updated through the active object and the mapping relationship. It is only necessary to set and adjust the posture of the active object, and there is no need to manually adjust the posture of the slave object, which reduces the amount of data processing, improves the efficiency of posture update, simplifies the posture update procedure for the slave object, and also improves the efficiency of object processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 This is a flowchart of an object processing method provided by an embodiment of the present application;

[0061] Figure 2 This is a schematic structural diagram of an active object and a slave object in an object processing method provided by an embodiment of the present application;

[0062] Figure 3 This is a schematic diagram of an interface of a mapping relationship in an object processing method provided in one embodiment of the present application;

[0063] Figure 4 This is a processing diagram of an object processing method provided by an embodiment of the present application;

[0064] Figure 5 This is a processing flow chart of an object processing method applied to skeletal animation provided by an embodiment of the present application;

[0065] Figure 6 This is a schematic structural diagram of an object processing device provided in one embodiment of the present application;

[0066] Figure 7 This is a structural block diagram of a computing device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0067] The following description sets forth many specific details to facilitate a thorough understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of the present application. Therefore, the present application is not limited to the specific implementations disclosed below.

[0068] The terms used in one or more embodiments of the present application are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of the present application. The singular forms "a", "the" and "the" used in one or more embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of the present application refers to and includes any or all possible combinations of one or more associated listed items.

[0069] It should be understood that although the terms "first," "second," and the like may be used to describe various information in one or more embodiments of the present application, such information should not be limited to these terms. These terms are merely used to distinguish information of the same type from one another. For example, "first" may also be referred to as "second," and similarly, "second" may also be referred to as "first," without departing from the scope of one or more embodiments of the present application.

[0070] This application provides an object processing method, an object processing apparatus, a computing device, and a computer-readable storage medium, which are described in detail in the following embodiments.

[0071] Figure 1 A flowchart of an object processing method provided according to an embodiment of the present application is shown, which specifically includes the following steps:

[0072] Step 102: Obtain a first current pose of the active object.

[0073] The object processing method provided in this application can be applied to scenarios where the posture of a slave object is updated, scenarios where a slave object is updated, or scenarios where an overall object (such as animation, machine, software, etc.) consisting of an active object and a slave object is updated. This specification does not limit this.

[0074] The subject that implements the object processing method may be a computing device with object processing capabilities, such as a server or terminal with object processing capabilities. The core of the embodiments of the present application is to update the posture of the slave object. The posture update process is basically the same for different slave objects. The posture update process is described in detail below.

[0075] Specifically, an active object refers to an object that can change or transform its posture on its own, such as a robot, a person, an animal, an image in an animation, or some parts of these objects, such as a head, legs, or arms; the first current posture refers to the general term for the posture, position, size, etc. of the active object.

[0076] In actual applications, there are many ways to obtain the first current posture of the active object. For example, an operator can send an object processing instruction to the execution entity, or send an instruction to obtain the first current posture of the active object. Accordingly, after receiving the instruction, the execution entity begins to obtain the first current posture of the active object. Alternatively, the execution entity can automatically obtain the first current posture of the active object at preset intervals. For example, after a preset period of time, a server with an object processing function automatically obtains the first current posture of the active object; or after a preset period of time, a terminal with an object processing function automatically obtains the first current posture of the active object. This specification does not impose any restrictions on the method of obtaining the first current posture of the active object.

[0077] Step 104: Determine target posture parameters of the slave object according to the first current posture and a preset mapping relationship, wherein the mapping relationship represents a change constraint relationship between the active object and the slave object.

[0078] Specifically, the slave object refers to an object whose posture transformation can be controlled by the active object, or an object that follows the active object to transform its posture, that is, the active object can control the posture transformation of the slave object; the mapping relationship refers to the pre-set change constraint relationship between the active object and the slave object; the target posture parameter refers to the parameter corresponding to the posture that the slave object needs to transform into.

[0079] In practical applications, since the active object can control the posture transformation of the slave object, the target posture parameters of the slave object can be determined based on the first current posture of the active object according to a preset mapping relationship.

[0080] For example, the first current posture of the active object is moving 5 cm downward, and the preset mapping relationship is: the posture transformation of the slave object is opposite to that of the active object and the moving distance is the same; then according to the first current posture and the mapping relationship, the target posture parameter of the slave object can be determined to be "upward, 5 cm".

[0081] In one or more optional embodiments of the present specification, determining the target posture parameters of the slave object according to the first current posture and the preset mapping relationship can be: monitoring the first current posture; and when the first current posture is in a specified posture, determining the target posture parameters of the slave object according to the specified posture and the preset mapping relationship.

[0082] The designated pose is a pre-set pose, such as standing on one leg or spinning in a circle. This means that when the active object performs a certain designated action (designated pose), it can trigger the slave object to update its pose. At this point, the active object's first current pose is the designated pose, and the slave object's target pose parameters are then determined based on the designated pose and mapping relationship. This allows for richer pose transformations for the slave object, enriching the pose update effect.

[0083] For example, the specified posture is to reduce by 1 times and expand by 2 times; the preset mapping relationship is: the active object reduces by 1 times - the slave object translates upward by 5 cm, the active object expands by 2 times - the slave object rotates counterclockwise by 1 circle; then when the first current posture of the active object is reduced by 1 times, combined with the mapping relationship, the target posture parameter of the slave object can be determined to be "translation upward, 5 cm".

[0084] In one or more optional embodiments of the present specification, determining the target posture parameters of the slave object based on the first current posture and the preset mapping relationship can also be: monitoring the first current posture; and when the first current posture does not change within a preset time period, determining the target posture parameters of the slave object based on the first current posture and the preset mapping relationship.

[0085] In other words, if the active object maintains a certain posture for a preset duration, the slave object can be triggered to update its posture. The target posture parameters of the slave object are then determined based on the first current posture and the mapping relationship. In this way, controlling the posture transformation of the slave object based on the active object and the preset duration allows the active object to update its posture based on the preset duration even when the active object remains unchanged, increasing the diversity of changes in the slave object.

[0086] For example, the preset durations are 2 minutes and 4 minutes; the preset mapping relationship is: the active object maintains the first current state for 2 minutes - the slave object translates upward by 5 centimeters, the active object maintains the first current state for 4 minutes - the slave object rotates counterclockwise for 1 circle; then when the active object maintains the first current state for 4 minutes, combined with the mapping relationship, the target posture parameter of the slave object can be determined to be "translation upward, 5 centimeters".

[0087] In one or more optional embodiments of the present specification, the target posture parameters of the driven object are determined according to the first current posture and the preset mapping relationship. The specific implementation process may be as follows:

[0088] monitoring the first current posture;

[0089] When the first current posture changes, target posture parameters of the driven object are determined according to the first current posture and a preset mapping relationship.

[0090] In practical applications, the first current posture of the active object can be monitored. If the first current posture of the active object changes, the target posture parameters of the slave object can be determined and calculated based on the changed first current posture and the preset mapping relationship.

[0091] For example, the active object is currently standing, that is, the first current posture is standing, and the first current posture of the active object is monitored in real time. If the active object changes from standing to other postures, such as lying flat, then the first current posture of the active object is lying flat. Then, according to the mapping relationship between lying flat and the preset mapping relationship, the target posture parameters of the slave object are determined.

[0092] In this way, the first current posture is detected, and then when the first current posture changes, that is, when the active object changes, the target posture parameters of the slave object are determined in combination with the mapping relationship. This allows the slave object to change along with the posture transformation of the active object, without the need to perform posture transformation settings for the slave object separately, reducing manpower and material resources and improving the efficiency of posture update of the slave object.

[0093] It should be noted that when detecting the first current posture and determining whether the first current posture has changed, the current posture of the active object can be compared with the previous historical posture of the current posture. If they are the same, the first current posture has not changed; if they are different, the first current posture has changed. For example, if the detection interval is 1 second and the current time is 57 seconds, the posture of the active object at the 57th second can be compared with the posture at the 56th second to determine whether the first current posture has changed; for example, if the active object and the slave object are objects in a video frame, the posture of the active object in the current video frame can be compared with the posture of the active object in the previous video frame to determine whether the first current posture has changed.

[0094] In actual implementation, whether the first current posture changes can be monitored from various angles; or a monitoring axis can be pre-set to monitor whether the first current posture changes along the axis of the monitoring axis. That is, before monitoring the first current posture, the following steps are further included:

[0095] receiving a configuration instruction, wherein the configuration instruction carries a monitoring parameter;

[0096] According to the monitoring parameters, setting the monitoring axis;

[0097] Accordingly, monitoring the first current posture includes:

[0098] The first current posture is monitored in the axial direction of the monitoring axis.

[0099] Specifically, the monitoring axis refers to the axis used to monitor changes in the first current posture; the configuration instruction refers to the instruction used to set the monitoring axis; the monitoring parameter refers to the parameter set containing the monitoring axis parameters; the monitoring axis parameters can be the identification of the monitoring axis, such as name, code, etc.; the axial direction refers to the direction in which the monitoring axis points.

[0100] In actual applications, before monitoring the first current posture, you can first set the axis to be monitored, that is, the axial direction. The operator or user enters the monitoring parameters on the configuration page and clicks Confirm. The local computer receives the configuration instruction with the monitoring parameters and sets the monitoring axis according to the monitoring axis parameters in the monitoring parameters. Then, the first current posture is monitored along the axial direction of the monitoring axis.

[0101] For example, the operator enters "x" and "y" in the monitoring axis column on the configuration page, clicks confirm, and then receives the configuration instructions carrying "x" and "y" locally. Then, the x-axis corresponding to "x" and the y-axis corresponding to "y" are set as monitoring axes, and then the first current posture is monitored from the axial direction of the x-axis and the axial direction of the y-axis.

[0102] In this way, by setting the monitoring axis, the execution subject can monitor the first current posture in a direction instead of monitoring the first current posture from all directions. While ensuring the monitoring effect, the detection amount is greatly reduced, that is, the data processing amount is reduced, computing power is saved, monitoring efficiency is improved, and the efficiency of posture update is further improved.

[0103] It should be noted that the monitoring axis is related to the mapping relationship, that is, the mapping relationship pre-sets a transformation relationship in which the first current posture is mapped to the driven object after the change in the axial direction of one or more monitoring axes.

[0104] In one or more optional embodiments of the present specification, in order to improve the posture transformation effect of the slave object, the target posture parameters of the slave object can be determined based on the change amount of the first current posture of the master object and the mapping relationship. That is, the target posture parameters of the slave object are determined based on the first current posture and the preset mapping relationship. The specific implementation process can be as follows:

[0105] Reading first current posture parameters corresponding to the first current posture;

[0106] Determining a posture change parameter of the active object according to the first current posture parameter and the historical posture parameter of the active object, wherein the historical posture parameter is the posture parameter before the first current posture changes;

[0107] The target posture parameters of the driven object are determined according to the posture change parameters and the preset mapping relationship.

[0108] Specifically, the first current posture parameters refer to specific parameters of the first current posture, such as the coordinates, orientation, size, etc. of the active object; the historical posture parameters are the posture parameters of the first current posture before the change.

[0109] In practical applications, when determining that the first current posture has changed, the first current posture parameters of the first current posture after the change are first read, and then the first current posture parameters of the first current posture after the change are compared with the historical posture parameters of the first current posture before the change, thereby determining the posture change parameters of the active object. Furthermore, the target posture parameters of the slave object are determined by combining the posture change parameters and the mapping relationship. In this way, the posture of the slave object can be appropriately adjusted according to the change amount of the active object, rather than the slave object making the same posture change as soon as the active object changes, thereby improving the richness and flexibility of the posture transformation of the slave object.

[0110] For example, the active object and the slave object are things in a video frame. When the first current posture changes, the parameters of the posture of the active object in the current video frame are compared with the parameters of the posture of the active object in the previous video frame to determine the posture change parameters, and then based on the posture change parameters and the mapping relationship, the target posture parameters of the slave object in the current video frame are determined.

[0111] In one or more optional embodiments of the present disclosure, the mapping relationship may include a mapping mode and a parameter mapping relationship. In this case, the target posture parameter of the driven object is determined according to the posture change parameter and the preset mapping relationship. The specific implementation process may be as follows:

[0112] Determining updated pose parameters of the driven object according to the pose change parameters and the parameter mapping relationship;

[0113] The target pose parameters of the driven object are determined according to the mapping mode and the updated pose parameters.

[0114] Specifically, the updated posture parameters refer to the posture parameters that need to be changed by the slave object or the posture parameters of the change result object; the parameter mapping relationship refers to the mapping relationship between the active object and the corresponding parameters of the slave, the mapping relationship between the preset posture change parameters and the updated posture parameters, such as the active object moving 5 cm to the right corresponds to the slave object moving 10 cm upward, the active object rotating 50 degrees corresponds to the slave object shrinking 0.5 times, etc.; the mapping mode refers to the model of mapping the updated posture parameters to the target posture parameters, such as superposition, replacement, multiplication, etc.

[0115] In practical applications, the mapping relationship includes a mapping mode and a parameter mapping relationship. Based on the pose change parameters and the parameter mapping relationship, the pose change parameters are first mapped to the changes in the slave object, that is, the updated pose parameters. Then, based on the mapping mode and the updated pose parameters, the target pose parameters are determined. In this way, based on different mapping modes and updated pose parameters, the target pose parameters of the slave object can be more accurately determined. Based on different mapping modes, different target pose parameters can be determined for the same updated pose parameters, thereby generating different poses for the slave object, providing greater flexibility and richness, and increasing the diversity of pose updates.

[0116] Preferably, the mapping mode can be a replacement mode or an overlay mode. At this time, the target pose parameters of the driven object are determined according to the mapping mode and the updated pose parameters. The specific implementation process can be as follows:

[0117] When the mapping mode is a replacement mode, determining the updated pose parameters as target pose parameters of the driven object;

[0118] When the mapping mode is the superposition mode, the updated pose parameters and the second current pose parameters of the slave object are superimposed to obtain the target pose parameters of the slave object.

[0119] In actual applications, after obtaining the updated pose parameters, if the mapping mode is the replacement mode, the updated pose parameters can be used to replace the second current pose parameters of the slave object, that is, the updated pose parameters are determined as the target pose parameters; when the mapping mode is the superposition model, the superposition value of the updated pose parameters and the second current pose parameters can be used to replace the second current pose parameters of the slave object, that is, the superposition value of the updated pose parameters and the second current pose parameters is determined as the target pose parameters.

[0120] For example, the updated pose parameter is 5 and the second current pose parameter is 3. If the mapping mode is the replacement mode, the target pose parameter is 5; if the mapping mode is the overlay mode, the target pose parameter is 5+3=8.

[0121] In one or more optional embodiments of the present specification, the posture change parameters may include attribute change parameters and position change parameters; the parameter mapping relationship may include attribute mapping relationship and position mapping relationship; in this case, the updated posture parameters of the driven object are determined according to the posture change parameters and the parameter mapping relationship, and the specific implementation process may be as follows:

[0122] Determining the updated attribute parameters of the slave object according to the attribute change parameters and the attribute mapping relationship, and determining the updated position parameters of the slave object according to the position change parameters and the position mapping relationship;

[0123] Determine updated pose parameters of the driven object according to the updated attribute parameters and the updated position parameters.

[0124] Specifically, the attribute change parameter refers to the attribute corresponding to the change of the first current posture, such as translation, rotation, scaling, etc.; the position change parameter refers to the numerical value corresponding to the change of the first current posture under the attribute, such as 60 degrees in "rotate 60 degrees", 20 centimeters in "translate 20 centimeters", etc.; the update attribute parameter refers to the attribute that needs to be updated by the driven object; the update position parameter refers to the specific numerical value that needs to be updated under a certain attribute of the driven object.

[0125] In practical applications, the changing attributes of the active and passive objects may differ. Therefore, the attribute change parameters corresponding to the active object, also known as the updated attribute parameters, can be determined based on the attribute change parameters corresponding to the active object and a preset attribute mapping relationship. Furthermore, the updated position parameters of the passive object can be determined based on the position change parameters corresponding to the active object and a preset position mapping relationship. Furthermore, the updated pose parameters of the passive object are derived based on the updated attribute parameters and the updated position parameters. This more granular determination of the updated pose parameters can improve the accuracy of the updated pose parameters, and thus the accuracy of pose updates.

[0126] For example, the attribute mapping relationship is "rotate → translate", "reduce → rotate", and the position mapping relationship is "50-60", "100-30". If the attribute change parameter is reduction and the position change parameter is 50, the updated attribute parameter is rotation, and the updated position parameter is 60, then the updated pose parameter is rotation 60 (the default is 60 degrees).

[0127] It should be noted that there can be multiple active objects undergoing posture changes, that is, there are at least two designated objects; in this case, the target posture parameters can be determined based on the current posture of each designated object and the preset mapping relationship. That is, based on the first current posture and the preset mapping relationship, the target posture parameters of the slave object are determined. The specific implementation process can be as follows:

[0128] In a case where the first current posture changes, determining a predicted posture parameter of the slave object according to the first current posture of a first designated object and a preset mapping relationship, wherein the first designated object is any designated object of at least two designated objects, and the designated object is the active object whose first current posture changes;

[0129] The target pose parameters are determined based on the predicted pose parameters.

[0130] In practical applications, when there are multiple designated objects, for any of the multiple designated objects, the predicted pose parameters are determined based on the first current pose of the designated object and the mapping relationship. Each designated object is traversed to obtain multiple predicted pose parameters. Each predicted pose parameter is then processed according to a preset method, such as superposition or offset, to obtain the target pose parameters. In this way, the pose of the slave object is updated by multiple active objects (designated objects), which provides diversity and flexibility in the posture update of the slave object and also increases the diversity of the target pose.

[0131] See also Figure 2 , Figure 2 A schematic diagram of the structure of active and passive objects in an object processing method provided by one embodiment of the present application is shown: the horse's head (rotatable), legs (rotatable), and tail (movable up and down) are designated objects (active objects), and the horse's wings (movable up and down) are passive objects. The first predicted pose parameters of the wings can be determined based on the first current pose of the head and the mapping relationship; the second predicted pose parameters of the wings can be determined based on the first current pose of the legs and the mapping relationship; and the third predicted pose parameters of the wings can be determined based on the first current pose of the tail and the mapping relationship. The first predicted pose parameters, second predicted pose parameters, and third predicted pose parameters are superimposed to obtain the target pose parameters.

[0132] In addition, there can be multiple preset mapping relationships, and one of the mapping relationships is used as an example. Figure 3 As shown, Figure 3The following is a schematic diagram illustrating an interface for mapping relationships in an object processing method provided by one embodiment of the present application: a constraint list is a mapping relationship, a constraint name "#####" is the name of a mapping relationship, a target object "******" is the name of the object to which the mapping relationship is directed, an axis defines the axis to which the mapping relationship can be mapped, such as a coordinate system, that is, an axis in a coordinate system, and a weight defines the weight corresponding to the mapping relationship among multiple mapping relationships, which can be any number between 0 and 1, such as 1. In addition, a mapping relationship also includes two parts: a mapping source and a mapping value.

[0133] The mapping source refers to the posture change parameters of an active object, which can include displacement, rotation, and scaling. Taking displacement as an example, it can include the displacement range corresponding to the active object on each axis under the mapping relationship. For example, the displacement range on the x-axis is composed of "Position Source-x-Minimum" and "Position Source-x-Maximum", where "Position Source-x-Minimum" represents the lower limit of the displacement range on the x-axis, such as 0, and "Position Source-x-Maximum" represents the upper limit of the displacement range on the x-axis, such as 0. For example, the displacement range on the y-axis is "Position Source-y-Minimum" and "Position Source-y-Maximum", which are -3 and 0 respectively. For example, the displacement range on the z-axis is "Position Source-z-Minimum" and "Position Source-z-Maximum", which are 0 and 0 respectively.

[0134] The mapping value refers to the target pose parameter of the follower object, which also includes displacement, rotation, and scaling. Taking rotation as an example, the rotation axis order of the follower object is first defined, such as "yxz", which means that when the follower object rotates, the y axis is rotated first, then the x axis, and finally the z axis; then the rotation range of each rotation axis is defined separately. For example, the rotation range on the x-axis is composed of "Map to Rotation x-Minimum" and "Map to Rotation x-Maximum", where "Map to Rotation x-Minimum" represents the lower limit of the rotation range on the x-axis, such as 0, and "Map to Rotation x-Maximum" represents the upper limit of the rotation on the x-axis, such as 0. For example, the rotation range on the y-axis is "Map to Rotation y-Minimum" and "Map to Rotation y-Maximum", which are also 0 and 0. For example, the rotation range on the z-axis is "Map to Rotation z-Minimum" and "Map to Rotation z-Maximum", which are also 10 and 0; finally, the rotation mixing mode is defined, such as overlay, replace, etc.

[0135] Step 106: Update the posture of the slave object according to the target posture parameters to obtain the target posture of the slave object.

[0136] Specifically, the target posture is the updated posture of the slave object, that is, the posture of the slave object relative to the changed first current position.

[0137] In practical applications, based on the target posture parameters, the posture of the driven object is controlled to change and update according to the target posture parameters, so that the driven object is in the target posture.

[0138] See also Figure 4 , Figure 4 A processing diagram of an object processing method provided by an embodiment of the present application is shown: Skeleton A is the posture of the driven object before updating. Based on Skeleton A, a change value (target posture parameter) is input to control Skeleton A to perform displacement, rotation, scaling and other operations, and then output the effect, that is, the target posture - Skeleton B.

[0139] In one or more optional embodiments of the present specification, the target pose parameter may include at least two sub-target pose parameters, and each sub-target pose parameter corresponds to a different update axis; accordingly, the pose of the slave object is updated according to the target pose parameter to obtain the target pose of the slave object. The specific implementation process may be as follows:

[0140] For any sub-target posture parameter, according to the sub-target posture parameter, the posture of the slave object is updated along the update axis corresponding to the sub-target posture parameter, and each sub-target posture parameter is traversed to obtain the target posture of the slave object.

[0141] Specifically, the updated axial direction refers to the axial direction corresponding to the axis that needs to be updated.

[0142] In practical applications, the target pose parameters can be divided into two or more sub-target pose parameters. The pose of the follower object can be updated along the update axis corresponding to each sub-target pose parameter in a preset or random order, until the pose of the follower object is updated according to all sub-target pose parameters. This means that the pose parameters of each sub-target are traversed to obtain the target pose of the follower object. This makes pose updates more orderly and methodical, thereby improving pose update efficiency.

[0143] For example, the target pose parameters include three sub-target pose parameters: 5 cm translation, 20-degree rotation, and 0.5-fold reduction. First, based on the 5 cm translation, the pose of the driven object is updated along the update axis corresponding to the 5 cm translation to obtain the first intermediate pose. Then, based on the 20-degree rotation, the pose of the first intermediate pose is updated along the update axis corresponding to the 20-degree rotation to obtain the second intermediate pose. Finally, based on the 0.5-fold reduction, the pose of the second intermediate pose is updated along the update axis corresponding to the 0.5-fold reduction to obtain the target pose.

[0144] In practical applications, when there are multiple sub-target pose parameters, the target pose obtained may be different for different update orders. Therefore, the update order can be pre-defined and the pose update can be performed according to the update order to ensure that when the first current pose of the active object undergoes the same change, the target pose corresponding to the slave object is the same. That is, for any sub-target pose parameter, the pose of the slave object is updated along the update axis corresponding to the sub-target pose parameter according to the sub-target pose parameter, and the target pose of the slave object is obtained by traversing each sub-target pose parameter. The specific implementation process can be as follows:

[0145] Get the update order of each update axis;

[0146] According to the update order, starting from the sub-target pose parameters corresponding to the first update axis, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameters, until the sub-target pose parameters corresponding to the last update axis are updated, so as to obtain the target pose of the driven object.

[0147] Specifically, the update order is a preset order for updating the driven objects.

[0148] In practical applications, the update axes corresponding to different sub-target pose parameters have a set update order, and can be updated according to the update order of the update axes: first, the pose of the follower object is updated according to the sub-target pose parameters corresponding to the update axis with the first update order (the first update axis); then, the pose of the follower object is updated according to the sub-target pose parameters corresponding to the update axis with the second update order (the second update axis), and so on, until the pose of the follower object is updated according to the sub-target pose parameters corresponding to the update axis with the last update order (the last update axis) to obtain the target pose.

[0149] Continuing with the above example, the update axis corresponding to a translation of 5 cm is the x-axis, the update axis corresponding to a rotation of 20 degrees is the y-axis, and the update axis corresponding to a reduction of 0.5 times is the z-axis. The update order of each update axis is y→x→z. First, according to the rotation of 20 degrees, the posture of the driven object is updated along the y-axis to obtain the first intermediate posture; then, according to the translation of 5 cm, the posture of the first intermediate posture is updated along the x-axis to obtain the second intermediate posture; finally, according to the reduction of 0.5 times, the posture of the second intermediate posture is updated along the z-axis to obtain the target posture.

[0150] In one or more optional embodiments of this specification, in the case of multiple sub-target pose parameters, the update priority of the posture update of the slave object based on each sub-target pose parameter can also be determined according to the attribute type corresponding to each sub-target pose parameter. That is, based on the target pose parameters, the posture of the slave object is updated to obtain the target pose of the slave object. The specific implementation process can be as follows:

[0151] Identify the attribute type corresponding to each sub-target pose parameter;

[0152] Determining the update priority of each sub-target pose parameter according to the attribute priority of the attribute type;

[0153] Starting from the sub-target pose parameter with the highest update priority, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameter until the sub-target pose parameter with the lowest update priority is reached, thereby obtaining the target pose of the driven object.

[0154] Specifically, the attribute type refers to the attribute of the posture change corresponding to the sub-target posture parameter, such as translation, rotation, and scaling; the attribute priority refers to the priority of different attribute types, such as scaling takes precedence over rotation, and rotation takes precedence over translation; the update priority refers to the priority corresponding to the sub-target posture parameter when updating the follower object.

[0155] In practical applications, the attribute type of each sub-target pose parameter can be identified first. Since different attribute types have preset attribute priorities, the update priority of each sub-target pose parameter can be determined based on the attribute priority and the preset first priority mapping relationship, where the first priority mapping relationship is the mapping relationship between attribute priority and update priority. Then, the pose of the slave object is updated based on the sub-target pose parameter with the highest update priority; then, the pose of the slave object is updated based on the sub-target pose parameter with the second highest update priority, and so on, until the pose of the slave object is updated based on the sub-target pose parameter with the lowest update priority, thus obtaining the target pose.

[0156] It should be noted that the mapping relationship between attribute priority and update priority, that is, the first priority mapping relationship, can be a positive correlation mapping, that is, the higher the attribute priority, the higher the corresponding update priority, and the lower the attribute priority, the lower the corresponding update priority; the first priority mapping relationship can be a negative correlation mapping, that is, the higher the attribute priority, the lower the corresponding update priority, and the lower the attribute priority, the higher the corresponding update priority; the first priority mapping relationship can be other. This specification does not limit this.

[0157] For example, the target pose parameters include three sub-target pose parameters: move 10 cm to the left, rotate 11 degrees counterclockwise, and shrink by 2. The first-priority mapping relationship is a positive correlation mapping. The attribute types of these three sub-target pose parameters are identified: "move 10 cm to the left" is translation, "rotate 11 degrees counterclockwise" is rotation, and "shrink by 2" is scale. Assuming that scale has the first priority, rotation has the second, and translation has the third, then "shrink by 2" has the first priority, "rotate 11 degrees counterclockwise" has the second, and "move 10 cm to the left" has the third. In this case, the follower object's pose is first updated based on "shrink by 2" to obtain the first intermediate pose. Then, the first intermediate pose is updated based on "rotate 11 degrees counterclockwise" to obtain the second intermediate pose. Finally, the second intermediate pose is updated based on "move 10 cm to the left" to obtain the target pose.

[0158] In one or more optional embodiments of this specification, there may be one, two, or more sub-target pose parameters with an attribute type of rotation, such as "rotate 10 degrees counterclockwise along the x-axis" and "rotate 20 degrees clockwise along the z-axis." In this case, the pose of the driven object is updated based on multiple specified pose parameters in different orders, and the resulting target pose may also be different. Therefore, for sub-target pose parameters with an attribute type of rotation, it is necessary to further determine the sub-update priority. That is, based on the attribute priority of the attribute type, the update priority of each sub-target pose parameter is determined, including:

[0159] Determining the initial update priority of each sub-target pose parameter according to the attribute priority of the attribute type;

[0160] Identifying at least two rotation axes of designated pose parameters, wherein the designated pose parameters are pose parameters of a sub-target whose attribute information is rotation;

[0161] Determining the priority of each designated posture parameter according to the rotation priority of the rotation axis;

[0162] The target update priority of each sub-target pose parameter is determined according to the specified priority and the initial update priority.

[0163] Specifically, the rotation axis refers to the axis that needs to be rotated when the posture of the driven object is updated; the initial update priority refers to the update priority of the sub-target posture parameters directly determined based on the attribute priority; the rotation priority refers to the priority of different rotation axes, such as if there are three rotation axes of x, y, and z, the rotation priority of the x-axis is higher than the rotation priority of the y-axis, and the rotation priority of the y-axis is higher than the rotation priority of the z-axis; the specified priority refers to the priority of the sub-target posture parameters whose attribute type is rotation; the target update priority refers to the corresponding priority when the sub-target posture parameters update the driven object.

[0164] In practical applications, after identifying the attribute type of each sub-target pose parameter, the initial update priority of each sub-target pose parameter can be determined based on the attribute priority and the preset priority mapping relationship. Then, the priority between at least two specified pose parameters whose attribute type is rotation is determined: the rotation axis of each specified pose parameter is identified, and different axes have preset rotation priorities. The designated priority of each specified pose parameter can be determined based on the rotation priority and the preset second priority mapping relationship, where the second priority mapping relationship is the mapping relationship between the rotation priority and the designated priority. Furthermore, based on the designated priority and the initial update priority, the target update priority of each sub-target pose parameter is determined.

[0165] It should be noted that the mapping relationship between the rotation priority and the designated priority, i.e., the second priority mapping relationship, can be a positive correlation mapping, i.e., the higher the rotation priority, the higher the corresponding designated priority, and the lower the rotation priority, the lower the corresponding designated priority; the second priority mapping relationship can be a negative correlation mapping, i.e., the higher the rotation priority, the lower the corresponding designated priority, and the lower the rotation priority, the higher the corresponding designated priority; the second priority mapping relationship can be other. This specification does not limit this.

[0166] For example, the target pose parameters include five sub-target pose parameters: rotate 30 degrees counterclockwise along the z-axis, move 10 centimeters to the left, rotate 11 degrees counterclockwise along the x-axis, reduce by 2 times, and rotate 20 degrees clockwise along the y-axis. The first priority mapping relationship is a positive correlation mapping, and the second priority mapping relationship is a negative correlation mapping. Identify the attribute types of these five sub-target pose parameters. Among them, the attribute type of "rotate 30 degrees counterclockwise along the z-axis" is rotation, the attribute type of "move 10 centimeters to the left" is translation, the attribute type of "rotate 11 degrees counterclockwise along the x-axis" is rotation, the attribute type of "reduce by 2 times" is scaling, and the attribute type of "rotate 20 degrees clockwise along the y-axis" is rotation.

[0167] Assuming that the attribute priority of scaling is the first initial priority, the attribute priority of rotation is the second initial priority, and the attribute priority of translation is the third initial priority, it can be determined that the initial update priority of "reducing by 2 times" is the first initial priority, the initial update priority of "rotating 30 degrees counterclockwise along the z-axis", "rotating 11 degrees counterclockwise along the x-axis", and "rotating 20 degrees clockwise along the y-axis" are all the second initial priority, and the update priority of "moving 10 cm to the left" is the third initial priority.

[0168] Since there are three specified pose parameters: "30 degrees counterclockwise rotation along the z-axis," "11 degrees counterclockwise rotation along the x-axis," and "20 degrees clockwise rotation along the y-axis," it is necessary to identify the rotation axes for these three specified pose parameters: the z-axis for "30 degrees counterclockwise rotation along the z-axis," the x-axis for "11 degrees counterclockwise rotation along the x-axis," and the y-axis for "20 degrees clockwise rotation along the y-axis." Assuming the x-axis rotation priority is the first, the y-axis rotation priority is the second, and the translation attribute priority is the third, it can be determined that the specified priority for "30 degrees counterclockwise rotation along the z-axis" is the first, the specified priority for "20 degrees clockwise rotation along the y-axis" is the second, and the specified priority for "11 degrees counterclockwise rotation along the x-axis" is the third.

[0169] At this time, by specifying the priority and initial update priority, it can be determined that the target update priority of "reducing by 2 times" is the first target priority, the target update priority of "rotating 30 degrees counterclockwise along the z-axis" is the second target priority, the target update priority of "rotating 20 degrees clockwise along the y-axis" is the third target priority, the target update priority of "rotating 11 degrees counterclockwise along the x-axis" is the fourth target priority, and the target update priority of "moving 10 cm to the left" is the fifth target priority.

[0170] The object processing method provided by the present application obtains the first current posture of the active object; determines the target posture parameters of the slave object based on the first current posture and a preset mapping relationship, wherein the mapping relationship represents the change constraint relationship between the active object and the slave object; and updates the posture of the slave object based on the target posture parameters to obtain the target posture of the slave object. By presetting the mapping relationship, the changed first current posture can be mapped to the target posture parameters of the slave object. Since the first current posture mapping can have different attributes, the target posture parameters obtained through the mapping relationship can also have different attributes, making the mapping between the active object and the slave object single and rich in attributes, making the obtained slave object more flexible and diverse. Moreover, the posture of the slave object can be updated through the active object and the mapping relationship. It is only necessary to set and adjust the posture of the active object, and there is no need to manually adjust the posture of the slave object, which reduces the amount of data processing, improves the efficiency of posture update, simplifies the posture update procedure for the slave object, and also improves the efficiency of object processing.

[0171] The following combined Figure 5 Taking the object processing method provided in this application as an example for the application of skeletal animation, the object processing method is further explained. Figure 5 A processing flow chart of an object processing method applied to skeletal animation provided by an embodiment of the present application is shown, which specifically includes the following steps:

[0172] Step 502: Receive a configuration instruction carrying monitoring parameters, and set a monitoring axis according to the monitoring parameters.

[0173] Step 504: Acquire a first current posture of the control skeleton, and monitor the first current posture along the axial direction of the monitoring axis.

[0174] Step 506: When the first current posture changes, read the first current posture parameters corresponding to the first current posture.

[0175] Step 508: Determine the attribute change parameter and position change parameter of the control bone according to the first current posture parameter and the historical posture parameter of the control bone.

[0176] Step 510: Determine the updated attribute parameters of the constrained bone according to the attribute change parameters and the attribute mapping relationship, and determine the updated position parameters of the constrained bone according to the position change parameters and the position mapping relationship.

[0177] Step 512: Determine the updated pose parameters of the constrained bone based on the updated attribute parameters and the updated position parameters.

[0178] Step 514: When the mapping mode is the replacement mode, the updated pose parameters are determined as the target pose parameters of the constrained bones, wherein the target pose parameters include multiple sub-target pose parameters, and the update axes corresponding to the sub-target pose parameters are different.

[0179] Step 516: When the mapping mode is the overlay mode, the updated pose parameters and the second current pose parameters of the constrained bone are superimposed to obtain the target pose parameters of the constrained bone, wherein the target pose parameters include multiple sub-target pose parameters, and the update axes corresponding to the sub-target pose parameters are different.

[0180] Optionally, when the first current posture changes, the predicted posture parameters of the constrained bone are determined based on the first current posture of the first specified bone and a preset mapping relationship, wherein the first specified bone is any one of at least two specified bones, and the specified bone is the control bone of the change in the first current posture; and the target posture parameters are determined based on each predicted posture parameter.

[0181] Step 518: Obtain the update order of each update axis. According to the update order, starting from the sub-target pose parameters corresponding to the first update axis, update the pose of the constrained bone on the current update axis according to the current sub-target pose parameters, until the sub-target pose parameters corresponding to the last update axis are updated to obtain the target pose of the constrained bone.

[0182] Step 520: Identify the attribute type corresponding to each sub-target pose parameter, and determine the initial update priority of each sub-target pose parameter based on the attribute priority of the attribute type; identify at least two rotation axes of the specified pose parameters, wherein the specified pose parameters are sub-target pose parameters whose attribute information is rotation.

[0183] Step 522: Determine the designated priority of each designated pose parameter based on the rotation priority of the rotation axis; determine the target update priority of each sub-target pose parameter based on the designated priority and the initial update priority.

[0184] Step 524: Starting from the sub-target pose parameter with the highest target update priority, update the pose of the constrained bone along the current update axis according to the current sub-target pose parameter until the sub-target pose parameter with the lowest target update priority is reached, and obtain the target pose of the constrained bone.

[0185] The object processing method provided by the present application can map the changed first current posture to the target posture parameters of the constrained bone by presetting the mapping relationship. Since the first current posture mapping can have different attributes, the target posture parameters obtained through the mapping relationship can also have different attributes, making the mapping between the control bone and the constrained bone single and rich in attributes, making the obtained constrained bone more flexible and diverse. Moreover, the posture of the constrained bone can be updated by controlling the bone and the mapping relationship. It is only necessary to set and adjust the posture of the control bone, without manually adjusting the posture of the constrained bone, reducing the amount of data processing, improving the efficiency of posture update, simplifying the posture update procedure for the constrained bone, and thus improving the efficiency of object processing.

[0186] Corresponding to the above method embodiment, the present application also provides an object processing device embodiment, Figure 6 FIG. 1 shows a schematic diagram of the structure of an object processing device provided by an embodiment of the present application. Figure 6 As shown, the device includes:

[0187] An acquisition module 602 is configured to acquire a first current pose of the active object;

[0188] A determination module 604 is configured to determine a target pose parameter of the slave object based on the first current pose and a preset mapping relationship, wherein the mapping relationship represents a motion constraint relationship between the master object and the slave object;

[0189] The updating module 606 is configured to update the posture of the slave object according to the target posture parameters to obtain the target posture of the slave object.

[0190] In one or more optional embodiments of this specification, the determining module 604 is further configured to:

[0191] monitoring the first current posture;

[0192] When the first current posture changes, target posture parameters of the driven object are determined according to the first current posture and a preset mapping relationship.

[0193] In one or more optional embodiments of this specification, the apparatus further includes a setting module configured to:

[0194] receiving a configuration instruction, wherein the configuration instruction carries a monitoring parameter;

[0195] According to the monitoring parameters, setting the monitoring axis;

[0196] Accordingly, the determining module 604 is further configured to:

[0197] The first current posture is monitored in the axial direction of the monitoring axis.

[0198] In one or more optional embodiments of this specification, the determining module 604 is further configured to:

[0199] Reading first current posture parameters corresponding to the first current posture;

[0200] Determining a posture change parameter of the active object according to the first current posture parameter and the historical posture parameter of the active object, wherein the historical posture parameter is the posture parameter before the first current posture changes;

[0201] The target posture parameters of the driven object are determined according to the posture change parameters and the preset mapping relationship.

[0202] In one or more optional embodiments of this specification, the mapping relationship includes a mapping mode and a parameter mapping relationship;

[0203] Accordingly, the determining module 604 is further configured to:

[0204] Determining updated pose parameters of the driven object according to the pose change parameters and the parameter mapping relationship;

[0205] The target pose parameters of the driven object are determined according to the mapping mode and the updated pose parameters.

[0206] In one or more optional embodiments of this specification, the determining module 604 is further configured to:

[0207] When the mapping mode is a replacement mode, determining the updated pose parameters as target pose parameters of the driven object;

[0208] When the mapping mode is the superposition mode, the updated pose parameters and the second current pose parameters of the slave object are superimposed to obtain the target pose parameters of the slave object.

[0209] In one or more optional embodiments of this specification, the posture change parameter includes an attribute change parameter and a position change parameter; the parameter mapping relationship includes an attribute mapping relationship and a position mapping relationship;

[0210] Accordingly, the determining module 604 is further configured to:

[0211] Determining the updated attribute parameters of the slave object according to the attribute change parameters and the attribute mapping relationship, and determining the updated position parameters of the slave object according to the position change parameters and the position mapping relationship;

[0212] Determine updated pose parameters of the driven object according to the updated attribute parameters and the updated position parameters.

[0213] In one or more optional embodiments of the present specification, it is characterized in that the target pose parameter includes at least two sub-target pose parameters, and the update axes corresponding to the sub-target pose parameters are different;

[0214] Accordingly, the updating module 606 is further configured to:

[0215] For any sub-target posture parameter, according to the sub-target posture parameter, the posture of the slave object is updated along the update axis corresponding to the sub-target posture parameter, and each sub-target posture parameter is traversed to obtain the target posture of the slave object.

[0216] In one or more optional embodiments of this specification, the updating module 606 is further configured to:

[0217] Get the update order of each update axis;

[0218] According to the update order, starting from the sub-target pose parameters corresponding to the first update axis, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameters, until the sub-target pose parameters corresponding to the last update axis are updated, so as to obtain the target pose of the driven object.

[0219] In one or more optional embodiments of this specification, the determining module 604 is further configured to:

[0220] In a case where the first current posture changes, determining a predicted posture parameter of the slave object according to the first current posture of a first designated object and a preset mapping relationship, wherein the first designated object is any designated object of at least two designated objects, and the designated object is the active object whose first current posture changes;

[0221] The target pose parameters are determined based on the predicted pose parameters.

[0222] In one or more optional embodiments of this specification, the updating module 606 is further configured to:

[0223] Identify the attribute type corresponding to each sub-target pose parameter;

[0224] Determining the update priority of each sub-target pose parameter according to the attribute priority of the attribute type;

[0225] Starting from the sub-target pose parameter with the highest update priority, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameter until the sub-target pose parameter with the lowest update priority is reached, thereby obtaining the target pose of the driven object.

[0226] In one or more optional embodiments of this specification, the updating module 606 is further configured to:

[0227] Determining the initial update priority of each sub-target pose parameter according to the attribute priority of the attribute type;

[0228] Identifying at least two rotation axes of designated pose parameters, wherein the designated pose parameters are pose parameters of a sub-target whose attribute information is rotation;

[0229] Determining the priority of each designated posture parameter according to the rotation priority of the rotation axis;

[0230] The target update priority of each sub-target pose parameter is determined according to the specified priority and the initial update priority.

[0231] The object processing device provided by the present application obtains the first current posture of the active object; determines the target posture parameters of the slave object according to the first current posture and a preset mapping relationship, wherein the mapping relationship represents the change constraint relationship between the active object and the slave object; updates the posture of the slave object according to the target posture parameters to obtain the target posture of the slave object. By presetting the mapping relationship, the changed first current posture can be mapped to the target posture parameters of the slave object. Since the first current posture mapping can have different attributes, the target posture parameters obtained through the mapping relationship can also have different attributes, making the mapping between the active object and the slave object single and rich in attributes, making the obtained slave object more flexible and diverse. Moreover, the posture of the slave object can be updated through the active object and the mapping relationship. It is only necessary to set and adjust the posture of the active object, and there is no need to manually adjust the posture of the slave object, which reduces the amount of data processing, improves the efficiency of posture update, simplifies the posture update procedure for the slave object, and also improves the efficiency of object processing.

[0232] The above is a schematic scheme of an object processing device of this embodiment. It should be noted that the technical solution of the object processing device and the technical solution of the object processing method mentioned above belong to the same concept. For details not described in detail in the technical solution of the object processing device, please refer to the description of the technical solution of the object processing method mentioned above. In addition, the various components in the device embodiment should be understood as functional modules that must be established to implement each step of the program flow or each step of the method, and each functional module is not an actual functional division or separation definition. The device claim defined by such a group of functional modules should be understood as a functional module architecture that mainly implements the solution through the computer program recorded in the specification, and should not be understood as a physical device that mainly implements the solution through hardware.

[0233] Figure 7 7 shows a block diagram of a computing device 700 according to an embodiment of the present application. Components of the computing device 700 include, but are not limited to, a memory 710 and a processor 720. The processor 720 is connected to the memory 710 via a bus 730, and a database 750 is used to store data.

[0234] The computing device 700 also includes an access device 740 that enables the computing device 700 to communicate via one or more networks 760. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 740 may include one or more of any type of network interface (e.g., a network interface card (NIC)) whether wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.

[0235] In one embodiment of the present application, the above components of the computing device 700 and Figure 7Other components not shown in the figure may also be connected to each other, for example, via a bus. Figure 7 The computing device structure block diagram shown is for illustrative purposes only and is not intended to limit the scope of the present application. Those skilled in the art may add or replace other components as needed.

[0236] Computing device 700 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook computer, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or PC. Computing device 700 can also be a mobile or stationary server.

[0237] The processor 720 is configured to execute computer executable instructions of the object processing method.

[0238] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the object processing method described above are based on the same concept. For details not described in detail in the technical scheme of the computing device, please refer to the description of the technical scheme of the object processing method described above.

[0239] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions, which are used in an object processing method when executed by a processor.

[0240] The above is a schematic diagram of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of the storage medium and the technical solution of the object processing method described above are based on the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the object processing method described above.

[0241] The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium may include any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium.

[0242] It should be noted that for the aforementioned method embodiments, for ease of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.

[0243] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0244] The preferred embodiments of the present application disclosed above are intended only to help illustrate the present application. The optional embodiments do not describe all details in detail, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made based on the content of this application. This application selects and describes these embodiments in detail in order to better explain the principles and practical applications of this application, so that those skilled in the art can better understand and utilize this application. This application is limited only by the claims and their full scope and equivalents.

Claims

1. An object processing method, characterized in that: include: Get the first current pose of the active object; Determine the target pose parameters of the slave object according to the first current pose and a preset mapping relationship, wherein the mapping relationship represents a change constraint relationship between the active object and the slave object, wherein the mapping relationship includes a mapping mode and a parameter mapping relationship; accordingly, determining the target pose parameters of the slave object according to the first current pose and the preset mapping relationship includes: determining the updated pose parameters of the slave object according to the pose change parameters and the parameter mapping relationship; determining the target pose parameters of the slave object according to the mapping mode and the updated pose parameters, the pose change parameters are determined according to the first current pose parameters and the historical pose parameters of the active object, the mapping mode includes a replacement mode and an overlay mode, and the updated pose parameters are the pose parameters of the slave object that need to be changed or the pose parameters of the change result object; The posture of the slave object is updated according to the target posture parameter to obtain the target posture of the slave object.

2. The method according to claim 1, characterized in that Determining the target posture parameters of the driven object according to the first current posture and a preset mapping relationship includes: monitoring the first current posture; When the first current posture changes, target posture parameters of the driven object are determined according to the first current posture and a preset mapping relationship.

3. The method according to claim 2, characterized in that Before monitoring the first current posture, the method further includes: receiving a configuration instruction, wherein the configuration instruction carries a monitoring parameter; According to the monitoring parameters, setting the monitoring axis; Accordingly, monitoring the first current posture includes: The first current posture is monitored in the axial direction of the monitoring axis.

4. The method according to claim 2, characterized in that Determining the target posture parameters of the driven object according to the first current posture and a preset mapping relationship includes: Reading first current posture parameters corresponding to the first current posture; Determining a posture change parameter of the active object according to the first current posture parameter and the historical posture parameter of the active object, wherein the historical posture parameter is the posture parameter before the first current posture changes; The target posture parameters of the driven object are determined according to the posture change parameters and the preset mapping relationship.

5. The method according to claim 1, wherein Determining the target pose parameters of the driven object according to the mapping mode and the updated pose parameters includes: When the mapping mode is a replacement mode, determining the updated pose parameters as target pose parameters of the driven object; When the mapping mode is the superposition mode, the updated pose parameters and the second current pose parameters of the slave object are superimposed to obtain the target pose parameters of the slave object.

6. The method according to claim 1, characterized in that The posture change parameters include attribute change parameters and position change parameters; the parameter mapping relationship includes attribute mapping relationship and position mapping relationship; Accordingly, determining the updated pose parameters of the driven object according to the pose change parameters and the parameter mapping relationship includes: Determining the updated attribute parameters of the slave object according to the attribute change parameters and the attribute mapping relationship, and determining the updated position parameters of the slave object according to the position change parameters and the position mapping relationship; Determine updated pose parameters of the driven object according to the updated attribute parameters and the updated position parameters.

7. The method according to any one of claims 1 to 5, characterized in that The target pose parameter includes at least two sub-target pose parameters, and the update axes corresponding to the sub-target pose parameters are different; Accordingly, updating the posture of the slave object according to the target posture parameter to obtain the target posture of the slave object includes: For any sub-target posture parameter, according to the sub-target posture parameter, the posture of the slave object is updated along the update axis corresponding to the sub-target posture parameter, and each sub-target posture parameter is traversed to obtain the target posture of the slave object.

8. The method according to claim 7, characterized in that For any sub-target pose parameter, updating the pose of the slave object along the update axis corresponding to the sub-target pose parameter according to the sub-target pose parameter, traversing each sub-target pose parameter to obtain the target pose of the slave object, including: Get the update order of each update axis; According to the update order, starting from the sub-target pose parameters corresponding to the first update axis, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameters, until the sub-target pose parameters corresponding to the last update axis are updated, so as to obtain the target pose of the driven object.

9. The method according to any one of claims 1 to 5, characterized in that Determining the target posture parameters of the driven object according to the first current posture and a preset mapping relationship includes: In a case where the first current posture changes, determining a predicted posture parameter of the slave object according to the first current posture of a first designated object and a preset mapping relationship, wherein the first designated object is any designated object of at least two designated objects, and the designated object is the active object whose first current posture changes; The target pose parameters are determined based on the predicted pose parameters.

10. The method according to any one of claims 1 to 5, characterized in that The updating of the posture of the slave object according to the target posture parameter to obtain the target posture of the slave object includes: Identify the attribute type corresponding to each sub-target pose parameter; Determining the update priority of each sub-target pose parameter according to the attribute priority of the attribute type; Starting from the sub-target pose parameter with the highest update priority, the pose of the driven object is updated along the current update axis according to the current sub-target pose parameter until the sub-target pose parameter with the lowest update priority is reached, thereby obtaining the target pose of the driven object.

11. The method according to claim 10, characterized in that Determining the update priority of each sub-target pose parameter according to the attribute priority of the attribute type includes: Determining the initial update priority of each sub-target pose parameter according to the attribute priority of the attribute type; Identifying at least two rotation axes of designated pose parameters, wherein the designated pose parameters are pose parameters of a sub-target whose attribute information is rotation; Determining the priority of each designated posture parameter according to the rotation priority of the rotation axis; The target update priority of each sub-target pose parameter is determined according to the specified priority and the initial update priority.

12. An object processing device, characterized in that: include: an acquisition module configured to acquire a first current pose of the active object; a determination module configured to determine a target pose parameter of the slave object based on the first current pose and a preset mapping relationship, wherein the mapping relationship represents a motion constraint relationship between the master object and the slave object; The mapping relationship includes a mapping mode and a parameter mapping relationship. Accordingly, the determination module is further configured to determine the updated pose parameters of the slave object according to the pose change parameters and the parameter mapping relationship; determine the target pose parameters of the slave object according to the mapping mode and the updated pose parameters, wherein the pose change parameters are determined according to the first current pose parameters and the historical pose parameters of the active object, the mapping mode includes a replacement mode and an overlay mode, and the updated pose parameters are the pose parameters that need to be changed of the slave object or the pose parameters of the change result object; The updating module is configured to update the posture of the slave object according to the target posture parameters to obtain the target posture of the slave object.

13. A computing device, characterized in that include: memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of the object processing method according to any one of claims 1 to 11.

14. A computer-readable storage medium storing computer instructions, characterized in that: When the instruction is executed by a processor, the steps of the object processing method described in any one of claims 1 to 11 are implemented.

Citation Information

Patent Citations

  • Three-dimensional attitude adjustment method and device, electronic equipment and storage medium

    CN113610966A