Image data control method, device, electronic device and storage medium

By creating temporary bones and reverse kinematics controllers on the motion capture data, the data conversion misalignment and frame skipping problems between different software are solved, and seamless data transmission from MotionBuilder to Maya is achieved, improving the accuracy and efficiency of animation production.

CN114419209BActive Publication Date: 2025-08-22NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111615540.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2025-08-22
Estimated Expiration
2041-12-27

AI Technical Summary

Technical Problem

When different software is interoperable, motion capture technology can easily lead to problems such as image, model misalignment, flip and frame skipping, especially in the data conversion process from MotionBuilder to Maya, due to differences in frame rate, unit of measurement and world coordinate system.

Method used

By creating temporary bones on the motion capture data, establishing a reverse kinetic controller, generating reverse kinetics and forward kinetics constraint data, and achieving seamless switching, ensuring that the IK data corresponds accurately to the FK data.

Benefits of technology

It solves the problems of misalignment and frame skipping when converting between different data, realizes seamless switching between data, and improves the accuracy and efficiency of animation production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114419209B_ABST
    Figure CN114419209B_ABST
Patent Text Reader

Abstract

The present application provides an image data control method, device, electronic device and storage medium, including: acquiring motion capture data, temporarily resetting the motion capture data to zero, matching the temporarily zeroed motion capture data to the basic posture, establishing a control file and generating a temporary skeleton; creating an inverse kinematics controller on the temporary skeleton, and controlling the inverse kinematics controller through the temporary skeleton to generate inverse dynamics constraint data and forward dynamics constraint data; outputting the inverse dynamics constraint data and forward dynamics constraint data to the control file. The present application creates a temporary inverse kinematics controller system on the motion capture data by creating a temporary skeleton after acquiring the motion capture data. The inverse kinematics controller system can achieve seamless switching between inverse kinematics and forward kinematics, thereby avoiding problems such as dislocation and frame skipping during data conversion by generating forward kinematics through inverse kinematics conversion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of image production technology, and in particular to an image data control method, device, electronic device and storage medium. Background Art

[0002] Motion capture technology is a common process in film, television, and game production. Its application in animation production can significantly elevate production quality. It significantly increases efficiency, reduces costs, and makes the animation process more intuitive and the results more vivid. As the technology matures, performance animation technology is gaining wider application, and motion capture, as a key and indispensable component of performance animation systems, is becoming increasingly important. Currently, the most commonly used motion capture solutions involve extensive cross-software collaboration.

[0003] However, the problem with software interoperability is that different software often has subtle differences. This is especially true when different software uses different parameters, such as initial frame rates, measurement units, and world coordinate systems. This can easily lead to image and model misalignment, flipping, and frame skipping when converting and switching between different data. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide an image data control method, device, electronic device and storage medium.

[0005] Based on the above objectives, the present application provides an image data control method, comprising:

[0006] Acquiring motion capture data, temporarily resetting the motion capture data to zero, matching the temporarily resetting motion capture data to a base pose, establishing a control file, and generating a temporary skeleton;

[0007] Creating an inverse kinematics controller on the temporary skeleton, and controlling the inverse kinematics controller through the temporary skeleton to generate inverse dynamics constraint data and forward dynamics constraint data;

[0008] The inverse dynamics constraint data and the forward dynamics constraint data are output to the control file, so as to achieve seamless switching between inverse dynamics and forward dynamics through the control file.

[0009] In some embodiments, before creating an inverse kinematics controller on the temporary skeleton, the method further includes:

[0010] A corresponding relationship between the trunk portion of the temporary skeleton and the control file is established, so that the trunk portion can constrain the forward kinematics controller corresponding to the trunk portion in the control file.

[0011] In some embodiments, creating an inverse kinematics controller on the temporary skeleton is specifically:

[0012] The inverse kinematics controller is created for the limb portion of the temporary skeleton.

[0013] In some embodiments, matching the temporarily zeroed motion capture data to a base pose to generate a temporary skeleton includes:

[0014] The parts of the temporary skeleton are grouped and named according to preset rules, so that the parts of the temporary skeleton can be consistent with the transformation properties of the control file.

[0015] In some embodiments, after outputting the inverse dynamics constraint data and the forward dynamics constraint data to the control file, the method further includes:

[0016] Acquiring the motion capture data frame by frame, so that the control file obtains motion capture control information of each frame according to the inverse dynamics constraint data and the forward dynamics constraint data;

[0017] The inverse dynamics constraint data and the forward dynamics constraint data are deleted.

[0018] In some implementations, acquiring the motion capture data frame by frame includes:

[0019] The motion capture data is acquired frame by frame using a rounding function to adjust the time axis of the motion capture data to an integer.

[0020] In some embodiments, after generating a temporary skeleton, the method further includes:

[0021] The naming of the temporary bones is modified according to the set rules.

[0022] Based on the same concept, the present application also provides an image data control device, including:

[0023] An acquisition module is used to acquire motion capture data, temporarily reset the motion capture data to zero, match the temporarily reset motion capture data to a basic posture, establish a control file, and generate a temporary skeleton;

[0024] A creation module, configured to create an inverse kinematics controller on the temporary skeleton, and control the inverse kinematics controller to generate inverse dynamics constraint data and forward dynamics constraint data through the temporary skeleton;

[0025] An output module is used to output the inverse dynamics constraint data and the forward dynamics constraint data to the control file, so as to achieve seamless switching between inverse dynamics and forward dynamics through the control file.

[0026] Based on the same concept, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements any of the above methods when executing the program.

[0027] Based on the same concept, the present application also provides a non-transitory computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable the computer to implement any of the methods described above.

[0028] As can be seen from the above, the present application provides an image data control method, device, electronic device and storage medium, including: acquiring motion capture data, temporarily resetting the motion capture data to zero, matching the temporarily reset motion capture data to the basic posture, establishing a control file and generating a temporary skeleton; creating an inverse kinematics controller on the temporary skeleton, and generating inverse dynamics constraint data and forward dynamics constraint data by controlling the inverse kinematics controller through the temporary skeleton; outputting the inverse dynamics constraint data and the forward dynamics constraint data to the control file. After acquiring the motion capture data, the present application creates a temporary inverse kinematics controller system on the motion capture data by creating a temporary skeleton. The inverse kinematics controller system can achieve seamless switching between inverse dynamics and forward dynamics, thereby avoiding problems such as dislocation and frame skipping when converting between different data by converting forward kinematics through inverse kinematics control. That is, in this solution, IK is converted to FK, and the IK data can accurately correspond to the FK data, thereby solving problems such as dislocation and frame skipping when converting between different data. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0030] Figure 1 A flowchart of an image data control method proposed in an embodiment of the present application;

[0031] Figure 2 A schematic diagram of motion capture data and control files proposed in an embodiment of the present application;

[0032] Figure 3 A flowchart of an image data control method in a specific application scenario proposed in an embodiment of the present application;

[0033] Figure 4 A schematic diagram of the structure of an image data control device proposed in an embodiment of the present application;

[0034] Figure 5 This is a schematic diagram of the electronic device structure proposed in an embodiment of the present application. DETAILED DESCRIPTION

[0035] In order to make the purpose, technical solutions and advantages of this specification more clear, this specification is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0036] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should have the usual meanings understood by people with ordinary skills in the field to which this application belongs. The "first", "second" and similar words used in the embodiments of the present application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements, objects or method steps that appear before the word cover the elements, objects or method steps listed after the word and their equivalents, without excluding other elements, objects or method steps. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0037] As described in the background technology section, the most commonly used motion capture solution at present. Motion capture is generally completed through professional motion capture software MotionBuilder motion capture, and then the motion capture data is passed to third-party professional 3D production software such as Maya to fix errors or enhance the captured motion effects for detailed production processing. Among the existing traditional motion capture processes, the most common and popular is the HIK (HumanIK) process. HumanIK is provided as an automatically loaded plug-in in Maya. It can communicate with the HumanIK plug-in of MotionBuilder. The image is sent to MotionBuilder for motion capture data, and then passed through HumanIK, and finally the layers in Maya are used to continue to refine the animation.

[0038] However, although HumanIK has its own inverse kinematics (IK) motion solving function, it has significant shortcomings compared to Maya production. Currently, all motion capture processes go to third-party DCC software (Digital Content Create) such as 3DMax or Maya to further refine the animation. The problem with software interoperability conversion lies in the interoperability of different software. Although the plug-ins used are the same, there are still subtle differences. In particular, the initial frame rate, measurement units, world coordinate system and other measurements of different software are different. It is easy to cause the model to display normally in MotionBuilder motion capture software, but flip the value by 90° in Maya; or the data display in MotionBuilder is fine, but after being transferred to Maya, frame skipping occurs. These are all problems caused by the different measurement unit values ​​of the interoperable software. In traditional motion capture to DCC software workflows, the conversion to IK is done seamlessly on a single frame or based on FK (forward kinematics). However, in this process, since FK data cannot be fully mapped to IK data, it is easy to cause problems such as misalignment, flipping, and frame skipping in images and models when converting and switching between different data.

[0039] In light of the above-mentioned practical situation, the embodiments of the present application propose an image data control scheme. After acquiring the motion capture data, a temporary inverse kinematics controller system is created on the motion capture data by creating a temporary skeleton. This inverse kinematics controller system enables seamless switching between inverse dynamics and forward dynamics, thereby avoiding problems such as misalignment and frame skipping when converting between different data by converting from inverse kinematics control to forward kinematics. In other words, in this scheme, the IK is converted to FK, and the IK data can be accurately mapped to the FK data, thereby solving problems such as misalignment and frame skipping when converting between different data.

[0040] like Figure 1 FIG. 1 is a flow chart of an image data control method proposed in this application, which specifically includes:

[0041] Step 101: Acquire motion capture data, temporarily reset the motion capture data to zero, match the temporarily reset motion capture data to a basic posture, create a control file, and generate a temporary skeleton.

[0042] In this step, if Figure 2Figure 1 shows a schematic diagram of motion capture data and control files. Motion capture data involves placing trackers on key parts of a moving object. The motion capture system captures the tracker positions, which are then processed by a computer to generate three-dimensional coordinate data. After acquiring the motion capture data, the model corresponding to the motion capture data is currently performing the corresponding motion, and the corresponding controller control file typically displays it using a standard pose (TPose). However, during the control process, using other poses can result in motion distortion or significant differences in amplitude. Therefore, the motion capture data needs to be temporarily reset to zero, restoring the corresponding model pose to the Tpose consistent with the control file to ensure error-free data transmission. The control file, also known as the controller file, typically sets different controllers on the model's standard pose. These controllers are used to acquire and modify the corresponding positional motion. This controller file can control the positional relationships of two or more joints or skeletal components. For example, when controlling a humanoid character, a basic controller controls the character's torso and limbs to move according to certain biological laws. The skeleton then consists of a hierarchical series of joints (bones) and joint chains, forming a tree structure. One joint is chosen as the root joint, and the other joints are descendants of the root joint. Translation and rotation of the root joint can be used to move and determine the position and orientation of the entire skeleton in world space. The skeleton is the most important object in skeletal animation, as the creation of any complex character requires three components: the skin, the skeleton, and the controller. The controller controls the skeleton, which in turn controls the skin's movements. Therefore, the skeleton is the foundation of character movement.

[0043] In some embodiments, since the motion capture data only contains skeletal data, the motion capture data needs to be given to a control file that can be adjusted later by a controller. Before the data is transferred, the motion capture data needs to be temporarily restored. Use the code to temporarily reset the motion capture data to zero. The restored and produced control files are consistent with Tpose, so as to ensure that the data transfer will not go wrong. In a specific application scenario, the code corresponding to this step will execute the code at the -1 frame that is irrelevant to the motion capture data, so that there will be no errors in the motion capture data. Furthermore, according to this step, the motion capture data will be temporarily matched to the same position as the production file, whether it is Tpose, Apose or other required pose, it can be matched to a consistent position.

[0044] Step 102: Create an inverse kinematics controller on the temporary skeleton, and control the inverse kinematics controller through the temporary skeleton to generate inverse dynamics constraint data and forward dynamics constraint data.

[0045] In this step, an inverse kinematics controller, or IK controller system, is created on the temporary skeleton. Inverse kinematics (IK) and forward kinematics (FK) are fundamental concepts in 3D graphics. IK (Inverse Kinematics) refers to a process used in 3D computer graphics animation. In this process, the parameters of each node in a connected object (kinetic chain) are automatically calculated to achieve the desired position, especially when the last node moves. Basically, IK refers to how the parent node is affected by its displacement and rotation when the child node moves. FK (Forward Kinematics) refers to how the joints of a part of the model produce displacement and rotation at a specified time. In other words, FK means how the child node is affected by the movement or rotation of the parent node. In some embodiments, the IK controller system for the temporary skeleton can be generated using third-party DCC software such as Maya or 3DMax. Since the temporary skeleton is generated based on the same base pose as the control file, it is equivalent to copying the temporary skeleton from the control file, and the corresponding poses are exactly the same. The two can naturally have a corresponding relationship. Therefore, when the motion capture data is loaded onto the temporary skeleton, the temporary skeleton can be controlled by the IK controller system, and the inverse dynamics (IK) constraints and forward dynamics (FK) constraints of each part of the temporary skeleton can be determined. Among them, the constraint is the follow-up motion relationship. For example, after a and b establish a constraint relationship, when a moves 2 cm to the left, the constrained object b will also move 2 cm to the left. That is, after the constraint relationship is established, it will follow the constraint to perform exactly the same action.

[0046] Step 103: Output the inverse dynamics constraint data and the forward dynamics constraint data to the control file, so as to achieve seamless switching between inverse dynamics and forward dynamics through the control file.

[0047] In this step, the inverse kinematics constraint data and the forward kinematics constraint data are output to the control file, so that the generated constraint data can be passed to the IK inverse kinematics and FK forward kinematics of the control file through the created inverse kinematics controller. In addition, the IK data and FK data can be obtained simultaneously through the IK controller system, so that no matter which action is performed, the IK and FK are in the same position, that is, the seamless connection of the IK and FK animation data is achieved. Since in this solution, the IK constraint data is obtained directly from the IK controller system, there is no conversion problem, and the FK constraint data is converted from IK. However, when IK is converted to FK, the IK data can be accurately mapped to the FK data, thereby solving the problems of misalignment and frame skipping when converting between different data.

[0048] Afterward, the completed control file can be further output. This can involve displaying the control file or corresponding model for engineers to make further adjustments or add attachments, or perform other drawing operations. Alternatively, the completed control file can be inspected and sent to downstream terminals for further animation production. In this step, the control file is output. This can be used for storage, display, use, or further processing. The specific output method for the control file can be flexibly selected based on different application scenarios and implementation needs.

[0049] For example, for an application scenario where the method of this embodiment is executed on a single device, the control file can be output directly in a displayed manner on the display component (display, projector, etc.) of the current device, so that the operator of the current device can directly see the content of the control file from the display component.

[0050] For another example, in an application scenario where the method of this embodiment is executed on a system composed of multiple devices, the control file can be sent to other preset devices serving as recipients within the system, i.e., synchronization terminals, through any data communication method (wired connection, NFC, Bluetooth, wifi, cellular mobile network, etc.), so that the synchronization terminals can perform subsequent processing on them. Optionally, the synchronization terminal can be a preset server, which is generally set up in the cloud and serves as a data processing and storage center, capable of storing and distributing control files; wherein the recipients of the distribution are terminal devices, and the holders or operators of these terminal devices can be drawing engineers, downstream animation production engineers, public databases of animation production companies to record the work results of each engineer, and so on.

[0051] For another example, in an application scenario where the method of this embodiment is executed on a system composed of multiple devices, the control file can be sent directly to a preset terminal device through any data communication method. The terminal device can be one or more of the devices listed in the preceding paragraphs.

[0052] From the above description, it can be seen that an image data control method of an embodiment of the present application includes: acquiring motion capture data, temporarily resetting the motion capture data to zero, matching the temporarily reset motion capture data to the basic posture, establishing a control file and generating a temporary skeleton; creating an inverse kinematics controller on the temporary skeleton, and generating inverse dynamics constraint data and forward dynamics constraint data by controlling the inverse kinematics controller through the temporary skeleton; outputting the inverse dynamics constraint data and the forward dynamics constraint data to the control file. After acquiring the motion capture data, the present application creates a temporary inverse kinematics controller system on the motion capture data by creating a temporary skeleton. The inverse kinematics controller system can achieve seamless switching between inverse dynamics and forward dynamics, thereby avoiding problems such as dislocation and frame skipping when converting between different data by converting forward kinematics through inverse kinematics control. That is, in this solution, IK is converted to FK, and the IK data can accurately correspond to the FK data, thereby solving problems such as dislocation and frame skipping when converting between different data.

[0053] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of the embodiment of the present application can also be applied in a distributed scenario and completed by multiple devices working together. In the case of such a distributed scenario, one of the multiple devices may only perform one or more steps of the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the method described.

[0054] It should be noted that the above description is of specific embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0055] In an optional exemplary embodiment, before creating the inverse kinematics controller on the temporary skeleton, the method further includes: establishing a correspondence between the trunk portion of the temporary skeleton and the control file, so that the trunk portion can constrain the forward kinematics controller corresponding to the trunk portion in the control file. This completes the acquisition of the forward dynamics constraints on the trunk portion of the temporary skeleton.

[0056] In some embodiments, since the movement or deformation of the torso of the model is relatively small compared to the limbs, tools such as HumanIK can be directly used to redirect to the FK controller, which is easier to operate and produces more accurate results, thereby reducing the processing time of the present application and improving processing efficiency. In specific application scenarios, temporary bone constraints can be used to control the FK forward dynamics controllers of all torso parts in the file except the limbs, thereby automatically associating all FK controllers outside the limbs with constraints.

[0057] In an optional exemplary embodiment, creating an inverse kinematics controller on the temporary skeleton specifically involves creating the inverse kinematics controller for the limbs of the temporary skeleton. This creates the inverse kinematics controller only for the limbs of the temporary skeleton, saving processing time for creating other parts and improving processing efficiency. Since the torso changes relatively little, other tools such as HumanIK can also be used to obtain FK and other constraint data, resulting in relatively accurate results.

[0058] In an optional exemplary embodiment, the motion capture data after temporary zeroing is matched to the basic posture to generate a temporary skeleton, including: grouping and naming the various parts of the temporary skeleton according to preset rules, so that the various parts of the temporary skeleton can be consistent with the transformation properties of the control file. It can be that in the process of generating the temporary skeleton, the various parts of the temporary skeleton are grouped and named according to preset rules, so that the various parts of the temporary skeleton can be quickly and accurately matched with the control file through standardized naming and grouping methods. This prevents problems such as corresponding errors and no search results that may be caused by naming problems.

[0059] In some embodiments, by standardizing the naming of temporary bones, they can be consistent or correspond to the naming rules of related files such as controller files of various parts in the control file, so that the corresponding files or parts can be found quickly and accurately when establishing a correspondence between the two or transferring constraints.

[0060] In an optional exemplary embodiment, after outputting the inverse dynamics constraint data and the forward dynamics constraint data to the control file, it also includes: acquiring the motion capture data frame by frame, so that the control file obtains the motion capture control information of each frame according to the inverse dynamics constraint data and the forward dynamics constraint data; and deleting the inverse dynamics constraint data and the forward dynamics constraint data.

[0061] In some embodiments, although the constraint transfer of the IK controller is completed, the current control file is still affected by the temporarily created temporary skeleton and the IK controller on it. Therefore, the IK and FK of the control file at this time are completely controlled by the temporary skeleton and the virtual IK controller. Based on this, the current control file can only produce virtual skeleton keyframes (K virtual skeleton), which is not conducive to subsequent animation production. Therefore, it is necessary to use the concept of baking to bake the controller. The bake controller runs the animation information frame by frame along the timeline to fix the information. When the bake controller is completed, the associated temporary skeleton and the constraint information corresponding to the control file controller can be deleted. Only the motion capture information passed through the temporary skeleton needs to be retained. By deleting the temporary skeleton, the plug-in can be run repeatedly, allowing the same control file to capture different motion capture data without increasing the software burden. Failure to delete these nodes will cause errors or the file will be run multiple times using the plug-in. The accumulation of too many nodes will cause problems such as bloated files and lag.

[0062] In an optional exemplary embodiment, acquiring the motion capture data frame by frame includes: acquiring the motion capture data frame by frame using a rounding function to adjust the time axis of the motion capture data to an integer, thereby avoiding motion frame skipping caused by an initial fractional frame rate.

[0063] In some embodiments, the rounding function is an arithmetic function such as ceil, floor or round. After baking is completed, the ceil and floor arithmetic functions are added and associated with the timeline during operation. The timeline is automatically repaired and adjusted during operation, and the timeline is automatically adjusted to an integer. In specific application scenarios, decimals may appear on the timeline due to interoperability between software, and these decimals may cause certain parts of the model's limbs to jump at unspecified frames, causing frame skipping. Then, arithmetic functions such as ceil and floor can be associated with the timeline, and automatically converted to integer data during operation. When it is an integer, it is consistent with the time number of other software, and the movement will be completely consistent, so there will be no problems such as frame skipping. Make the local movement of the limbs completely consistent with that reflected by the motion capture data.

[0064] In an optional exemplary embodiment, after generating the temporary skeleton, the method further includes: modifying the name of the temporary skeleton according to a set rule, so as to prevent matching errors, invalidity, etc. caused by duplicate names, etc.

[0065] In some specific application scenarios, such as Figure 3The figure shows a flowchart of an image data control method for a specific application scenario of the present embodiment. Step 301: Determine the pose and obtain motion capture data. Before creating a temporary skeleton, the motion capture TPose resource automatically identifies the different poses set by the matching model. Since the motion capture data only has skeletons, the motion capture data needs to be provided to a control file that can be adjusted later by the controller. Step 302: Temporarily reset the motion capture data to zero. Before data transmission, the motion capture data needs to be temporarily restored. Use the setting code to temporarily reset the motion capture data to zero. Restore the pose that is consistent with the controller file, namely Tpose. This ensures that data transmission is error-free. The code will be executed at the -1 frame that is unrelated to the motion capture data to ensure that the motion capture data is not out of sync. Through the setting code, the motion capture resource will be temporarily matched to the same position as the production file, regardless of Tpose, Apose, or other required poses. It can match the same position at will. Step 303: Create a temporary skeleton, which is automatically grouped and named in a standardized manner during generation. After the motion capture data is matched to the default pose, a set of temporary skeletons is created. This temporary skeleton will be used to build the IK controller system in the future. Use the corresponding code to create the limb skeletons in Maya. During generation, the skeletons are automatically grouped and named in a standardized manner, ensuring consistent transformation properties and rotation order with the control file, preventing gimbal issues. A temporary skeleton is then automatically generated by copying. Its name is automatically modified to the third-party name (to prevent errors caused by duplicate file names). This skeleton is copied from the control file, ensuring that the positional relationship between the two is completely consistent. Step 304: Associate constraints with the skeletons outside the limbs using FK controllers. The temporary skeleton generated after step 303 constrains all FK forward kinematics controllers in the control file, except for the limbs. Step 305: Establish an IK controller system for the limb skeletons. After automatically associating all FK controllers outside the limbs with constraints, an IK controller system is automatically created based on the names of the limb skeletons automatically generated by the code. This IK controller system is controlled by the temporary skeleton. Step 306: Pass the constraint data to the IK and FK of the control file. This means that the constraint data is passed to the IK inverse kinematics and FK forward kinematics of the control file. Finally, all motion capture data is sent to the temporary skeleton so that all constraint data can be obtained through the temporary skeleton. At this point, the transfer effect of the IK controller has been completed, and the effect also seamlessly connects the IK and FK conversions. However, although the constraint transfer of the IK controller has been completed at this time, the current control file is still affected by the temporarily created temporary skeleton and the IK controller on it, so that the control file IK and FK at this time are completely controlled by the temporary skeleton and the virtual IK controller. Based on this, the current control file can only be used to produce virtual skeleton key frames (K virtual skeleton), which is not conducive to subsequent animation production. Therefore, step 307 needs to be performed to bake the controller.That is, the control file needs to be liberated from the virtual IK controller to the production file type, and the controller needs to be baked to liberate the link relationship. At this time, the current controller type is obtained by identifying the current controller's overall layer. After obtaining the controller type, the overall layer and the controllers of the same type below are automatically identified. The specific types of IK and FK controllers for all selected parts are obtained. After that, the controller can be baked. At the same time, by adding arithmetic functions such as ceil and floor, it is associated with the timeline during operation. As a result, the timeline is automatically repaired and adjusted during operation, and the timeline is automatically adjusted to an integer. Avoid motion frame skipping problems caused by the initial decimal frame rate. Finally, the engineer can decide whether to directly remove the motion capture file referenced by the reference plug-in (Reference), eliminating the need for downstream production personnel to manually remove the Reference reference.

[0066] Based on the same concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides an image data control device.

[0067] refer to Figure 4 , the image data control device comprises:

[0068] An acquisition module 410 is configured to acquire motion capture data, temporarily reset the motion capture data to zero, match the temporarily reset motion capture data to a base pose, create a control file, and generate a temporary skeleton.

[0069] A creation module 420 is configured to create an inverse kinematics controller on the temporary skeleton, and to control the inverse kinematics controller to generate inverse dynamics constraint data and forward dynamics constraint data through the temporary skeleton;

[0070] The output module 430 is used to output the inverse dynamics constraint data and the forward dynamics constraint data to the control file, so as to achieve seamless switching between inverse dynamics and forward dynamics through the control file.

[0071] For the convenience of description, the above devices are described as being divided into various modules according to their functions. Of course, when implementing the embodiments of the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0072] The devices in the above embodiments are used to implement the corresponding image data control methods in the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be described in detail here.

[0073] In an optional exemplary embodiment, the creation module 420 is further configured to:

[0074] A corresponding relationship between the trunk portion of the temporary skeleton and the control file is established, so that the trunk portion can constrain the forward kinematics controller corresponding to the trunk portion in the control file.

[0075] In an optional exemplary embodiment, the creation module 420 is further configured to:

[0076] The inverse kinematics controller is created for the limb portion of the temporary skeleton.

[0077] In an optional exemplary embodiment, the acquisition module 410 is further configured to:

[0078] The parts of the temporary skeleton are grouped and named according to preset rules, so that the parts of the temporary skeleton can be consistent with the transformation properties of the control file.

[0079] In an optional exemplary embodiment, the output module 430 is further configured to:

[0080] Acquiring the motion capture data frame by frame, so that the control file obtains motion capture control information of each frame according to the inverse dynamics constraint data and the forward dynamics constraint data;

[0081] The inverse dynamics constraint data and the forward dynamics constraint data are deleted.

[0082] In an optional exemplary embodiment, the output module 430 is further configured to:

[0083] The motion capture data is acquired frame by frame using a rounding function to adjust the time axis of the motion capture data to an integer.

[0084] In an optional exemplary embodiment, the acquisition module 410 is further configured to:

[0085] The naming of the temporary bones is modified according to the set rules.

[0086] Based on the same concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and runnable on the processor, wherein when the processor executes the program, the image data control method described in any of the above embodiments is implemented.

[0087] Figure 510 is a schematic diagram showing a more specific hardware structure of an electronic device provided in this embodiment. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are communicatively connected to each other within the device via the bus 1050.

[0088] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0089] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage devices, dynamic storage devices, etc. The memory 1020 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0090] The input / output interface 1030 is used to connect input / output modules to implement information input and output. The input / output modules can be configured as components within the device (not shown in the figure) or can be externally connected to the device to provide corresponding functions. Input devices may include a keyboard, mouse, touch screen, microphone, various sensors, etc., and output devices may include a display, speaker, vibrator, indicator light, etc.

[0091] The communication interface 1040 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via a wired method (such as USB, network cable, etc.) or a wireless method (such as mobile network, WiFi, Bluetooth, etc.).

[0092] The bus 1050 comprises a path for transmitting information between the various components of the device (eg, the processor 1010 , the memory 1020 , the input / output interface 1030 , and the communication interface 1040 ).

[0093] It should be noted that although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050, in a specific implementation, the device may also include other components necessary for normal operation. In addition, it will be understood by those skilled in the art that the above device may only include the components necessary to implement the embodiments of this specification, and does not necessarily include all the components shown in the figure.

[0094] The electronic device of the above embodiment is used to implement the corresponding image data control method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be described in detail here.

[0095] Based on the same concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable the computer to execute the image data control method described in any of the above embodiments.

[0096] The computer-readable media of this embodiment include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0097] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the image data control method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0098] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. Within the scope of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0099] In addition, for simplicity of description and discussion, and in order not to make the embodiment of the application difficult to understand, the known power supply / ground connection with integrated circuit (IC) chip and other components may or may not be shown in the accompanying drawings provided. In addition, the device can be shown in the form of a block diagram to avoid making the embodiment of the application difficult to understand, and this also takes into account the following fact, that is, the details of the embodiment of these block diagram devices are highly dependent on the platform to be implemented in the embodiment of the application (that is, these details should be fully within the scope of understanding of those skilled in the art). When specific details (for example, circuit) are set forth to describe exemplary embodiments of the application, it will be apparent to those skilled in the art that the embodiment of the application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0100] Although the present invention has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those skilled in the art based on the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may utilize the embodiments discussed.

[0101] The embodiments of the present application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of this application.

Claims

1. An image data control method, characterized in that: include: Acquiring motion capture data, temporarily resetting the motion capture data to zero, matching the temporarily resetting motion capture data to a base pose, establishing a control file, and generating a temporary skeleton; Creating an inverse kinematics controller on the temporary skeleton, and controlling the inverse kinematics controller through the temporary skeleton to generate inverse dynamics constraint data and forward dynamics constraint data; Outputting the inverse dynamics constraint data and the forward dynamics constraint data to the control file, so as to achieve seamless switching between inverse dynamics and forward dynamics through the control file; Acquiring the motion capture data frame by frame, so that the control file obtains motion capture control information of each frame according to the inverse dynamics constraint data and the forward dynamics constraint data; The inverse dynamics constraint data and the forward dynamics constraint data are deleted.

2. The method according to claim 1, characterized in that Before creating the inverse kinematics controller on the temporary skeleton, the method further includes: A corresponding relationship between the trunk portion of the temporary skeleton and the control file is established, so that the trunk portion can constrain the forward kinematics controller corresponding to the trunk portion in the control file.

3. The method according to claim 2, characterized in that The inverse kinematics controller is created on the temporary skeleton, specifically: The inverse kinematics controller is created for the limb portion of the temporary skeleton.

4. The method according to claim 1, wherein The step of matching the temporarily zeroed motion capture data to the base posture to generate a temporary skeleton includes: The parts of the temporary skeleton are grouped and named according to preset rules, so that the parts of the temporary skeleton can be consistent with the transformation properties of the control file.

5. The method according to claim 1, characterized in that The step of acquiring the motion capture data frame by frame includes: The motion capture data is acquired frame by frame using a rounding function to adjust the time axis of the motion capture data to an integer.

6. The method according to claim 1, characterized in that After generating the temporary skeleton, the following steps are further included: The naming of the temporary bones is modified according to the set rules.

7. An image data control device, characterized in that: include: An acquisition module is used to acquire motion capture data, temporarily reset the motion capture data to zero, match the temporarily reset motion capture data to a basic posture, establish a control file, and generate a temporary skeleton; A creation module, configured to create an inverse kinematics controller on the temporary skeleton, and control the inverse kinematics controller to generate inverse dynamics constraint data and forward dynamics constraint data through the temporary skeleton; An output module is used to output the inverse dynamics constraint data and the forward dynamics constraint data to the control file to achieve seamless switching between inverse dynamics and forward dynamics through the control file; and to obtain the motion capture data frame by frame so that the control file obtains the motion capture control information of each frame according to the inverse dynamics constraint data and the forward dynamics constraint data; and to delete the inverse dynamics constraint data and the forward dynamics constraint data.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method according to any one of claims 1 to 6 is implemented.

9. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to enable the computer to implement the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Animation data processing method and device

    CN112184863A