Pose change state presentation method, device, medium, and program product
Patent Information
- Application Number
- CN202511500296.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-20
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2045-10-20
AI Technical Summary
这种虚拟角色或虚拟对象的动作设计方法,时间成本高且对动作流畅性不足
[0008] The pose change state presentation method provided in this application receives first dynamic data including forces and kinematic data applied to a specified part of a virtual object. Then, based on the initial pose of the virtual object and the first dynamic data, a first linkage system determines the pose change state of the target part of the virtual object. This establishes a correlation between the forces and kinematic data in the first dynamic data and the pose change state of the target part. Furthermore, the first linkage system includes a system for coordinated motion between the joints of the virtual object, and is associated with the skeletal model and IK algorithm of the virtual object. Thus, the first linkage system can comprehensively and accurately characterize changes in the pose of any joint and/or bone of the virtual object. The pose change process of other joints and/or bones; based on this, since the target part includes associated parts related to the specified part and the specified part, and the first dynamic data is related to the pose change state, the pose change state can be fully and finely, coherently and smoothly displayed to automatically change the pose of the target part over at least one time period; at the same time, through a time-related image set, the pose change state of the target part is presented sequentially, realizing an intuitive, automatic and efficient display of the pose change state of the target part, thereby reducing the professional requirements for professional technicians to design the pose change state of virtual objects, and also reducing the time and manpower costs of determining and generating the pose change state of the target part.
Smart Images

Figure CN121527181B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer graphics technology, and in particular to a method, device, medium and program product for presenting motion states. Background Technology
[0002] In the field of animation production technology, the motion design of virtual characters or objects requires professional technicians to repeatedly adjust the intermediate postures of multiple skeletal joints associated with the virtual character or object on the timeline, starting from the initial posture of the body part of the virtual character or object and using the final posture of the same part as the adjustment target. This method of motion design for virtual characters or objects is time-consuming and lacks smoothness of movement. Summary of the Invention
[0003] Based on the above technical problems, this application provides a method, device, medium and program product for presenting pose change states, which can reduce the time and manpower costs of animation image design, improve the efficiency of animation image generation, and improve the coherence and smoothness of pose changes in animation images.
[0004] The technical solution of this application embodiment is implemented as follows: This application first provides a method for presenting pose change states, the method including: Receive first dynamic data; wherein, the first dynamic data includes the force applied to a specified part of the virtual object and kinematic data; The first linkage system determines the pose change state of the target part of the virtual object based on the initial pose of the virtual object and the first dynamic data; wherein, the first linkage system includes a system for joint motion between the joints of the virtual object; the first linkage system is associated with the skeletal model of the virtual object and the inverse kinematics (IK) algorithm; the target part includes the associated part and the designated part. The pose changes of the target part are presented sequentially through a time-correlated set of images.
[0005] This application also provides an electronic device, which includes a processor and a memory; the memory stores a computer program; when the computer program is executed by the processor, it can implement the pose change state presentation method as described above.
[0006] This application also provides a computer-readable storage medium storing a computer program; when the computer program is executed by a processor of an electronic device, it can implement the pose change state presentation method as described above.
[0007] This application also provides a computer program product, which includes a computer program; when the computer program is executed by the processor of an electronic device, it can realize the pose change state presentation method as described above.
[0008] The pose change state presentation method provided in this application receives first dynamic data including forces and kinematic data applied to a specified part of a virtual object. Then, based on the initial pose of the virtual object and the first dynamic data, a first linkage system determines the pose change state of the target part of the virtual object. This establishes a correlation between the forces and kinematic data in the first dynamic data and the pose change state of the target part. Furthermore, the first linkage system includes a system for coordinated motion between the joints of the virtual object, and is associated with the skeletal model and IK algorithm of the virtual object. Thus, the first linkage system can comprehensively and accurately characterize changes in the pose of any joint and / or bone of the virtual object. The pose change process of other joints and / or bones; based on this, since the target part includes associated parts related to the specified part and the specified part, and the first dynamic data is related to the pose change state, the pose change state can be fully and finely, coherently and smoothly displayed to automatically change the pose of the target part over at least one time period; at the same time, through a time-related image set, the pose change state of the target part is presented sequentially, realizing an intuitive, automatic and efficient display of the pose change state of the target part, thereby reducing the professional requirements for professional technicians to design the pose change state of virtual objects, and also reducing the time and manpower costs of determining and generating the pose change state of the target part.
[0009] When the virtual object is an animated object or character in an animated video, the technical solution provided in this application can automatically and dynamically design the animated image of the animated object or character, thereby greatly reducing the technical requirements of animation designers, reducing the time and manpower costs of animation image design, improving the efficiency of animation image generation, and also improving the coherence and smoothness of pose changes in animation images. Attached Figure Description
[0010] Figure 1 A flowchart illustrating the pose change state presentation method provided in this application embodiment; Figure 2 This is a schematic diagram of the positional changes of joint linkage in the first linkage system provided in the embodiments of this application; Figure 3A A comparative schematic diagram of pose change states provided in the embodiments of this application; Figure 3B for Figure 3AThe diagram shows the hierarchical relationship of the target joints. Figure 4A This is a schematic diagram of the statistical results of location mutation points provided in the embodiments of this application; Figure 4B This is a schematic diagram of the statistical results of velocity mutation points provided in the embodiments of this application; Figure 4C This is a schematic diagram of the statistical results of acceleration mutation points provided in the embodiments of this application; Figure 5A This is a schematic diagram of the skeletal linkage effect before optimization, provided in an embodiment of this application. Figure 5B This is a schematic diagram of the optimized skeletal linkage effect provided in an embodiment of this application; Figure 6 This is a schematic diagram of the joint stress effect provided in the embodiments of this application; Figure 7 This is a schematic diagram of the virtual object pose generation process provided in the embodiments of this application; Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0011] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0012] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0013] In the field of motion graphics, the motion design of virtual characters or objects relies on keyframe animation. Specifically, designers need to repeatedly adjust the intermediate poses of the skeletal joints of the virtual character or object at midpoints of the timeline, using the initial and target poses as constraints, to reflect the dynamic effect of the joints over a period of time. Simultaneously, if higher requirements are placed on the naturalness and smoothness of the dynamic effects, the postures of joints or parts associated with the aforementioned skeletal joints also need to be adjusted synchronously. For example, to achieve a virtual object's breathing motion, designers need to have both kinematic theory and practical experience to simultaneously adjust the coordinated movement of the virtual object's sternum, spine, cervical vertebrae, skull, shoulder, and upper arm skeletal groups. This adjustment process is extremely labor-intensive, time-consuming, and demands a high level of professional technical expertise from the designers.
[0014] To address these technical challenges, related technologies have proposed methods that involve capturing the movements of humanoid creatures and then manually correcting them. However, these methods cannot handle extreme movements or the motion design of non-humanoid virtual objects. Therefore, in the field of animation design, including film and television animation and the game industry, high-quality animation production still relies on experienced animators, and the time and labor costs are enormous.
[0015] To address the above technical problems, embodiments of this application provide a method for presenting pose change states. Figure 1 This is a flowchart illustrating the pose change state presentation method provided in the embodiments of this application, as shown below. Figure 1 As shown, the method may include the following steps: Step 101: Receive the first power data.
[0016] The first dynamic data includes the forces acting on specific parts of the virtual object and kinematic data.
[0017] In one implementation, the virtual object may include a digital object or digital character to be added to the target video; for example, the virtual object may include a humanoid or non-humanoid animated object; for example, the target video may include an animated video.
[0018] In one implementation, the designated part may include the end limb of a virtual object; for example, the designated part may include parts such as fingers, feet, or head; for example, the number of parts included in the designated part may be at least one.
[0019] In one implementation, the force in the first dynamic data may include a force that resists or drives changes in position or velocity at a specified location; for example, the force may include a resistance or driving force.
[0020] In one implementation, kinematic data may include displacement distance, displacement velocity, and target position of a specified location.
[0021] In one implementation, the first dynamic data can be set and input by a professional technician, or it can be set and transmitted to the electronic device by the control device of the electronic device; wherein, the processor of the electronic device can implement the process of the pose change state presentation method provided in the embodiments of this application.
[0022] Step 102: Based on the initial pose of the virtual object and the first dynamic data, the first linkage system determines the pose change state of the target part of the virtual object.
[0023] The first linkage system includes a system for joint movement between joints of virtual objects; the linkage system is associated with the skeletal model of the virtual object and the IK algorithm; the target part includes the associated part and the specified part.
[0024] In one embodiment, the associated part may include a part that is directly or indirectly adjacent to the specified part, and when the pose of the specified part changes, the pose of the associated part may also change accordingly, or the associated part may directly or indirectly control the pose change of the specified part; for example, if the specified part is a finger, the associated part may include the palm that is directly adjacent to the finger, and upstream parts such as the wrist, upper limb and torso that are indirectly adjacent to the finger.
[0025] In one implementation, the skeletal model of the virtual object may include the hierarchical relationship between the bones and joints contained in at least a portion of the virtual object; for example, the skeletal model may represent the relationship of mutual influence between the bones and joints contained in at least a portion of the virtual object in the form of a hierarchical relationship framework; for example, the skeletal model may include the hierarchical relationship between the upper limb, the palm and the fingers, so that the movement of the virtual object's fingers can be determined by the skeletal model, which is controlled by the palm, and the movement of the palm is affected by the movement of the upper limb.
[0026] In one embodiment, the first linkage system can characterize the pattern that when the pose of at least one joint of a virtual object changes, the associated joints of at least one joint change accordingly; wherein, the associated joints may include joints that are directly or indirectly adjacent to at least one joint, and the pose change of the associated joints and the pose change of at least one joint influence each other, or, the pose change of the associated joints may act on at least one joint, thereby causing the pose of at least one joint to change accordingly.
[0027] In one implementation, the first linkage system can be determined in the following way: The skeletal model of the virtual object is analyzed to determine the hierarchical relationship between the bones and joints contained in the skeletal model. Under the action of multiple dynamic data, the end poses of multiple end parts of the virtual object are configured. The pose change trend of the associated parts of the multiple end parts with the multiple dynamic data is calculated in reverse using the IK algorithm. A correlation system between multiple dynamic data and pose change trend is established. Then, the above correlation system is determined as the first linkage system. The end parts may include the end joints or end bones located at the end of the virtual object's body.
[0028] The IK algorithm can infer the joint pose of the end effector and its associated joints from the target position of the end effector, thus providing natural translation and rotation between the end effector and its associated joints. When using the IK algorithm, technical professionals, including animators, only need to specify the target pose of the end effector (such as a hand or foot), and the IK algorithm can automatically calculate the pose that the associated joints should have when the end effector is in the target pose.
[0029] Figure 2 This is a schematic diagram of the positional changes of joint linkage in the first linkage system provided in the embodiments of this application. Figure 2 The coordinate system shown has x-coordinates (X) and y-coordinates (Y) forming a two-dimensional plane coordinate system. The two-dimensional plane coordinate system can include the following joints: Joint 1 to Joint 3. Joint 1 represents the starting joint, which is usually used to represent a fixed starting point. Joint 2 represents the intermediate joint, which needs to adjust its pose due to the influence of the IK algorithm calculation. Joint 3 is the end effector joint, which can be directly connected to the end effector. The end effector is used to represent the current position of the end effector, i.e., the initial position. The target is used to represent the target position of the end effector. The target path is used to represent the path from the end effector to the target position, indicating the direction in which the end effector needs to move.
[0030] pass Figure 2 The path shown can improve the naturalness and fluidity of joint movement while adhering to the laws of biodynamics.
[0031] In one embodiment, the pose change state may include multiple poses of the target part during the duration of the first dynamic data, and the multiple poses gradually change as the first dynamic data continues; for example, the pose change state may represent multiple poses in two-dimensional space, and may also include multiple poses in three-dimensional space.
[0032] In one implementation, the pose change state can be obtained in the following way: The target pose, velocity, and acceleration data of the specified part are obtained from the kinematic data of the first dynamic data. The above data and the initial pose are used as input data for the first linkage system. The first linkage system uses the target pose as a constraint, velocity, acceleration, and force as driving factors, and the initial pose as the starting condition to calculate the pose of the target part gradually changing during the duration of the first dynamic data. Then, the pose is tracked and statistically analyzed in the time dimension to obtain the pose change state.
[0033] Figure 3A This is a comparative diagram of pose change states provided in the embodiments of this application. Figure 3A In the three-dimensional space shown, the first curve 301 may include a set of initial poses of the target joints of the virtual object, and the target position 302 can be set by the first dynamic data; for example, by inputting the first dynamic data and the initial poses into the first linkage system, a second curve 303 can be obtained to characterize the pose change state of the virtual object.
[0034] Figure 3B for Figure 3A The hierarchical relationship diagram of the target joints shown is as follows: Figure 3B As shown, the target joints can include the wrist, elbow, shoulder, spine, and hip; where the wrist is the end effector, the elbow is the joint connecting the wrist and shoulder, the shoulder is the joint connecting the arm and spine, the spine is the main skeleton supporting the virtual object's torso, and the hip is the joint connecting the spine and lower limbs.
[0035] Step 103: Present the pose changes of the target part sequentially through a time-correlated set of images.
[0036] In one implementation, the time-related image set may include video data, and the images in the video data may have a sequential relationship in the time dimension. The video data may include animated videos.
[0037] In one implementation, the pose changes of the target part are presented sequentially, which can be achieved in the following way: The image size is determined based on the size of the virtual object, and an image set is created based on the image size. Then, based on the order of the pose change states, the target pose change states of the virtual object are rendered frame by frame in the image set.
[0038] For example, the background of the images in the image set can be preset or adjusted, and this application embodiment does not limit this.
[0039] As can be seen from the above, the pose change state presentation method provided in this application receives first dynamic data including forces and kinematic data applied to a specified part of a virtual object. Then, based on the initial pose of the virtual object and the first dynamic data, a first linkage system determines the pose change state of the target part of the virtual object. This achieves the interrelation between the forces and kinematic data in the first dynamic data and the pose change state of the target part. Furthermore, the first linkage system includes a system for coordinated motion between the joints of the virtual object, and is associated with the skeletal model of the virtual object and the IK algorithm. Thus, the first linkage system can comprehensively and accurately characterize the pose changes of any joint and / or bone of the virtual object. During the change, the pose changes of other joints and / or bones are observed. Based on this, since the target part includes associated parts related to the specified part and the specified part, and the first dynamic data is related to the pose change state, the pose change state can be comprehensively, precisely, coherently, and smoothly displayed to automatically change the pose of the target part over at least one time period. At the same time, through a time-related set of images, the pose change state of the target part is presented sequentially, realizing an intuitive, automatic, and efficient display of the pose change state of the target part. This reduces the professional requirements for technical personnel to design the pose change state of virtual objects, and also reduces the time and manpower costs of determining and generating the pose change state of the target part.
[0040] When the virtual object is an animated object or character in an animated video, the technical solution provided in this application can automatically and dynamically design the animated image of the animated object or character, thereby greatly reducing the technical requirements of animation designers, reducing the time and manpower costs of animation image design, improving the efficiency of animation image generation, and also improving the coherence and smoothness of pose changes in animation images.
[0041] Based on the foregoing embodiments, in the pose change state presentation method provided in this application embodiment, the pose change state corresponds to the first pose set of the target part.
[0042] In one implementation, the first pose set may include an initial pose and a target pose, and may also include multiple intermediate poses that have a spatiotemporal relationship with the initial pose and the target pose. Furthermore, the initial pose, the multiple intermediate poses, and the target pose may be in a state of gradual pose change in the time dimension.
[0043] Accordingly, the above method may also include the following steps: In the process of presenting the pose change state through the image set, the pose to be adjusted in the first pose set is adjusted to obtain the second pose set.
[0044] The pose to be adjusted includes poses in the image set whose pose change amplitude is greater than or equal to the amplitude threshold.
[0045] In one implementation, during the process of presenting pose changes through images in an image set, the poses presented by the images in the image set can be statistically analyzed to determine whether the change in pose presented by the images in the image set is greater than or equal to an amplitude threshold.
[0046] In one implementation, the second pose set can be obtained in the following way: Adjust the poses to be adjusted in the first pose set, while keeping the poses in the first pose set unchanged except for the poses to be adjusted, thus obtaining the second pose set.
[0047] The poses in the first pose set are statistically averaged to obtain the pose median. The poses to be adjusted in the first pose set are then adjusted to the pose median to obtain the second pose set.
[0048] In one implementation, the pose to be adjusted may include poses in the first pose set that do not conform to kinematic laws and the constraints of the skeletal model of the virtual object.
[0049] In one implementation, after obtaining the second pose set, the new pose change state represented by the second pose set can be presented sequentially through the images in the image set.
[0050] As can be seen from the above, in the pose change state presentation method provided in this application embodiment, the pose change state corresponds to the first pose set of the target part. During the process of presenting the pose change state through the image set, the poses in the first pose set whose change amplitude is greater than or equal to an amplitude threshold are adjusted. Thus, through the above operations, targeted adjustment of the poses in the first pose set is achieved, thereby increasing the probability that the poses in the second pose set conform to the dynamic laws represented by the first dynamic data.
[0051] Based on the foregoing embodiments, in the pose change state presentation method provided in this application embodiment, before adjusting the pose to be adjusted in the first pose set, the following operations may also be performed: Determine the positional deviation between the k-th position of the target part in the k-th image of the image set and the k+1-th position of the target part in the (k+1)-th image of the image set; determine the velocity deviation between the k-th velocity of the target part in the k-th image and the k+1-th velocity of the target part in the (k+1)-th image; determine the acceleration deviation between the k-th acceleration of the target part in the k-th image and the k+1-th acceleration of the target part in the (k+1)-th image; and determine the pose to be adjusted from the first pose set based on at least one of the positional deviation, velocity deviation, and acceleration deviation.
[0052] The first pose set includes the k-th position and the (k+1)-th position; the first pose set includes the k-th velocity and the (k+1)-th velocity; the first pose set includes the k-th acceleration and the (k+1)-th acceleration; k is an integer greater than or equal to 1.
[0053] In one implementation, the k-th position and the (k+1)-th position can be obtained by comparing the pixel positions of the target region in the k-th image and the (k+1)-th image; for example, the (k+1)-th position can be characterized by equation (1): (1) Here, t can be used for the time corresponding to the (k+1)th image. , as well as Coordinates used to represent the three dimensions in three-dimensional space.
[0054] Accordingly, the k-th velocity can be calculated from the k-th position and the (k+1)-th position. That is, the vector represented by the k-th velocity can be obtained from the difference between the positions of the target parts in adjacent images. For example, the k-th velocity can be calculated using equation (2): (2) Here, t-1 can represent the time corresponding to the k-th image, while Used to characterize the k-th position of the target region in the k-th image.
[0055] Accordingly, the k-th acceleration can be characterized by the acceleration vector, which can be determined by the difference in velocity of the target part in adjacent frames, as shown in equation (3): (3) Accordingly, the position deviation, velocity deviation, and acceleration deviation can be expressed by equations (4) to (6): (4) (5) (6) In one implementation, the pose to be adjusted can be determined in the following way: If the position deviation is greater than or equal to the first threshold, or the velocity deviation is greater than or equal to the second threshold, or the acceleration deviation is greater than or equal to the third threshold, the pose corresponding to the position deviation, or the pose corresponding to the velocity deviation, or the pose corresponding to the acceleration deviation is determined as the pose to be adjusted.
[0056] For example, a positional deviation greater than or equal to a first threshold may include A speed deviation greater than or equal to the second threshold may include Acceleration deviation greater than or greater than the third threshold may include .
[0057] For example, the first threshold to the third threshold can be set or adjusted based on the kinematic laws of motion, or determined by experimental data or empirical values; and by setting the first threshold to the third threshold to judge the position deviation, velocity deviation and acceleration deviation respectively, it is possible to identify unnatural, illogical and inconsistent poses in the animation video corresponding to the image set that need to be adjusted.
[0058] For example, since the pose to be adjusted corresponds to a pose where the position deviation, velocity deviation, and acceleration deviation are greater than or equal to the corresponding threshold, the pose to be adjusted can be determined as a sudden change point in the first pose set that does not conform to the laws of dynamics.
[0059] Figure 4A This is a schematic diagram of the statistical results of location mutation points provided in the embodiments of this application. Figure 4A The horizontal axis of the two-dimensional coordinate system shown represents the frame number, used to indicate the frame number of the image in the image set, while the vertical axis represents the positional difference. For example... Figure 4A The curve shown is a position difference statistical curve. The first threshold can be 1.50. The position change points with position differences greater than or equal to the first threshold are above the dashed line corresponding to the first threshold, and their position differences are distributed between 1.55 and 2.00.
[0060] Figure 4B This is a schematic diagram illustrating the statistical results of velocity mutation points provided in an embodiment of this application. Figure 4B The horizontal axis of the two-dimensional coordinate system shown represents the frame number, and the vertical axis represents the speed difference. Figure 4B The curve shown is a statistical curve of velocity difference. The second threshold can be 1.5, and the velocity mutation points are distributed between 1.50 and 2.00.
[0061] Figure 4C This is a schematic diagram of the statistical results of acceleration mutation points provided in the embodiments of this application, such as... Figure 4C In the two-dimensional coordinate system shown, the horizontal axis represents the frame number, and the vertical axis represents the acceleration difference. Figure 4C The curve shown is a statistical curve of acceleration difference. The third threshold can be 1.5, and the acceleration difference is distributed between 1.55 and 2.00.
[0062] from Figures 4A to 4C It can be seen that position change points, velocity change points, and acceleration change points are used to characterize the points in the first pose set where the pose changes abruptly. These points correspond to the points where the target part does not conform to the dynamic change law. Therefore, it is necessary to optimize this part of the pose to improve the continuity, smoothness, and realism of the target part's motion.
[0063] As can be seen from the above, in the pose change state presentation method provided in this application embodiment, by determining the k-th position, k-th velocity, and k-th acceleration of the target part in the k-th image, and determining the k+1-th position, k+1-th velocity, and k+1-th acceleration of the target part in the k+1-th image, the tracking and detection of the position, velocity, and acceleration of the target part in the image set is realized; and, based on at least one of the position deviation, velocity deviation, and acceleration deviation of the target part in the adjacent images in the image set, the pose to be adjusted is determined from the first pose set. In this way, the pose to be adjusted can be associated with the change state of the position, velocity, and acceleration of the target part in the adjacent images of the image set, so that the pose to be adjusted can be determined from the kinematic perspective, and the pose to be adjusted can more accurately reflect the abrupt change state of the pose change state of the target part in the image set, thereby improving the accuracy of the pose to be adjusted.
[0064] Based on the foregoing embodiments, the pose change state presentation method provided in this application, which adjusts the pose to be adjusted in the first pose set to obtain the second pose set, can be implemented in the following way: Identify the associated poses adjacent to the pose to be adjusted in the first pose set; based on the associated poses, smooth the pose to be adjusted to obtain the second pose set.
[0065] In one implementation, the associated pose may include poses that are directly adjacent or indirectly adjacent to the pose to be adjusted; for example, if the pose to be adjusted is the m-th pose, the associated pose may be the (m-1)-th pose, the (m+1)-th pose, and may also include n poses before the m-th pose and n poses after the m-th pose, where m and n can both be integers greater than 1.
[0066] In a real-time mode, the number of poses in the associated pose can be set or adjusted by a professional technician, and this application embodiment does not limit this.
[0067] In one implementation, smoothing the pose to be adjusted can be achieved in the following way: The smoothing algorithm is used to dynamically smooth the pose to be adjusted based on the associated pose, and the result is used to replace the pose to be adjusted in the first pose set to obtain the second pose set.
[0068] For example, smoothing algorithms may include linear interpolation, Bezier curve interpolation, and physics-based smoothing.
[0069] For example, linear interpolation can be achieved using equation (7): (7) in, This refers to the position of the target region in the previous frame of the image corresponding to the pose to be adjusted in the image set. Let i be the position of the target part in the next frame of the image corresponding to the pose to be adjusted in the image set, and let i be the frame index of the image corresponding to the pose to be adjusted in the image set. Its value range can be from 1 to N-1, where N is an integer greater than 1 and is used to represent the total number of smooth interpolation frames.
[0070] For example, Bézier curve interpolation can be achieved using equation (8): (8) in, This refers to the position of the target region in the previous frame of the image corresponding to the pose to be adjusted within the image set. This refers to the position of the target region in the next frame of the image corresponding to the pose to be adjusted within the image set. and is a control point used to adjust the shape of the curve, and t is a parameter on the curve with a value range of [0,1].
[0071] For example, the physical smoothing method requires adding two factors, acceleration and velocity, and draws on physical principles to smooth the motion. This method is suitable for smoothing motion continuity and inertia. Specifically, it can be achieved through the dynamic equations shown in equations (9) to (10): (9) (10) in, This refers to the velocity of the target region in the frame preceding the image corresponding to the velocity abrupt change point in the image set. Let the velocity of the target region be the velocity of the i-th frame in the image set. For acceleration, The time interval between adjacent images in the image set. Let be the location of the target part in the i-th frame of the image set.
[0072] Specifically, the second pose set can be obtained through the following steps: Step A1: Determine the frame range of the image frames in the image set that are associated with the pose change point.
[0073] For example, the frame range may include a set of image frames in the image set that are adjacent to the image corresponding to the change point to be adjusted; wherein, the pose to be adjusted may include the pose change point.
[0074] Step A2: Select a suitable smoothing method.
[0075] For example, one or more of the above three methods can be selected and used in combination based on the characteristics of pose change and smoothing requirements; specifically, if Bézier curve interpolation is used, it is necessary to select appropriate control points, while for physics-based smoothing, acceleration and initial velocity can be calculated.
[0076] Step A3: Apply interpolation or smoothing.
[0077] For example, within the frame range of the image frames associated with the pose change point, the selected method is applied to each frame to recalculate the position and velocity.
[0078] Step A4: Adjust and verify.
[0079] For example, after the interpolation or smoothing process is completed, the naturalness and coherence of the target part's movement can be verified, and adjustments can be made if necessary.
[0080] Through the above steps, the action abrupt points corresponding to unnatural pose abrupt points in the image set can be specifically corrected, thereby improving the coherence and naturalness between poses in the second pose set.
[0081] As can be seen from the above, in the pose change state presentation method provided in this application embodiment, after determining the associated poses adjacent to the pose to be adjusted in the first pose set, the pose to be adjusted is smoothed based on the associated poses to obtain the second pose set, thereby realizing the targeted adjustment of the pose to be adjusted and improving the coherence and smoothness between poses in the second pose set.
[0082] Based on the foregoing embodiments, in the pose change state presentation method provided in this application, the first linkage system is constructed in the following manner: Step C1: Construct the skeletal model of the virtual object.
[0083] The skeletal model includes the hierarchical relationships between the joint nodes of the virtual object.
[0084] Step C2: Determine the associated motion state between joint nodes in the skeletal model using the IK algorithm to obtain the second linkage system.
[0085] In one implementation, the second linkage system can calculate the pose of the associated joints of any joint in reverse tracking based on the set position of any joint of the virtual object. In other words, the second linkage system can determine the motion response of each part of the virtual object as any joint moves in three-dimensional space. For example, if any joint is a wrist joint, the second linkage system can determine the position and / or posture changes of the bones such as the elbow, shoulder, back, and hip of the virtual object during the process of the wrist joint reaching the set position.
[0086] Specifically, the second linkage system can be constructed through the following steps: First, set the target actuator position of the virtual object. For example, taking the wrist joint, a professional technician can select the wrist joint and set the starting position and target position of the wrist joint, and calculate the translation and / or rotation operations required for the wrist joint to reach the target position, that is, the pose change process.
[0087] Secondly, the IK algorithm is used to calculate the rotation angle and / or position changes of the associated joints of the wrist joint, so that the rotation and / or translation of the associated joints can drive the change in the posture of the wrist joint.
[0088] By iterating the above process repeatedly, the pose of the bones in the skeletal architecture of the virtual object can be determined as the pose of any bone changes, thus obtaining the second linkage system, as shown below: For example, any joint in the skeletal model can be represented by a two-dimensional vector. For the i-th joint, its position vector is... It can be expressed by equation (11): (11) in, and Let x and y be the x and y coordinates of the i-th joint in two-dimensional space.
[0089] For the target position that an end effector, such as a wrist, needs to reach, its target position vector can be characterized by equation (12): (12) in, and These are used to represent the x-coordinate and y-coordinate of the target position of the end effector in two-dimensional space, respectively.
[0090] The purpose of the IK algorithm is to find a set of joint angles. This is done so that the end effector's position can be as close as possible to the target position. Specifically, the angle of each joint can be calculated backward using the IK algorithm to ensure the end effector reaches the target position. Among them, joint angles The solution can be expressed as the objective function. As shown in equation (13): (13) For example, starting with the joint closest to the target actuator, the rotation matrix corresponding to the rotation angle of each associated joint can be iteratively updated. After each joint rotation update, the rotation matrix from the associated actuator to the target position can be recalculated. After the iteration is complete, a second linkage system can be constructed based on the rotation matrices of each joint.
[0091] Step C3: Configure the second power data for the joint nodes in the second linkage system to obtain the first linkage system.
[0092] The second dynamic data includes forces acting on at least one part of the virtual object and kinematic data.
[0093] In one embodiment, the force in the second dynamic data may include resistance or driving force against at least one part; the kinematic data in the second dynamic data may include the position, velocity, and acceleration of at least one part, and may also include the rotation angle of at least one part.
[0094] In one implementation, the second dynamic data may include different forces acting on multiple parts of the virtual object, as well as kinematic data.
[0095] In one implementation, the first linkage system can be obtained in the following way: Based on the forces and kinematic data in the second dynamic data, the kinematic state is configured for the x-th joint node in the second linkage system. Then, the IK algorithm is used to calculate the pose change of the bones and / or joints in the second linkage system under the action of the above kinematic state. The influence of the kinematic state on the pose change is configured in the second linkage system to obtain the first linkage system.
[0096] As can be seen from the above, in the pose change state presentation method provided in this application embodiment, the associated motion state between joint nodes in the skeletal model of the virtual object is determined by the IK algorithm to obtain a second linkage system. In this way, the associated motion state between joint nodes of the virtual object can be reflected through the second linkage system without adding force or kinematic factors. Furthermore, by configuring force and kinematic data for at least one part of the virtual object for the joint nodes in the second linkage system, a first linkage system is obtained. This adds the influencing factors of force and kinematic data to the second linkage system, enabling the first linkage system to reflect the associated motion state of the joint parts of the virtual object more coherently, smoothly and naturally from a kinematic perspective.
[0097] Based on the foregoing embodiments, the pose change state presentation method provided in this application determines the associated motion state between joint nodes in the skeletal model using the IK algorithm to obtain the second linkage system, which can be achieved through the following steps: Step SE1: Determine the pose samples of the end nodes in the skeletal model.
[0098] In one implementation, the pose sample may include the target position and target orientation of the end node; for example, the pose sample may be preset by a professional technician, and the target position and target orientation may be different for different end nodes.
[0099] In one implementation, the end node may include the end bone or end joint in the skeletal model. For example, the end bone may include the bone corresponding to the end limb of the virtual object, such as fingers or toes.
[0100] Step SE2: Based on the pose samples, the poses of the associated nodes of the end node are predicted for the jth time using the IK algorithm to obtain the jth predicted pose.
[0101] Where j is an integer greater than or equal to 1.
[0102] In one implementation, the k-th predicted pose may include the pose prediction result obtained by predicting the pose of the associated node in the j-th iteration.
[0103] In one implementation, the j-th predicted pose can be obtained in the following way: Using the target position of the end node indicated by the pose sample as the target and the starting position of the end node as the condition, in the j-th iteration, the pose of the associated node of the end node is estimated by reverse calculation using the IK algorithm to obtain the j-th predicted pose.
[0104] Step SE3: Determine the j-th end pose of the end node based on the j-th predicted pose.
[0105] In one implementation, the j-th end-effector pose can characterize the position and / or orientation that the end-effector node should be in, calculated based on the j-th predicted pose; correspondingly, the j-th end-effector pose can be determined in the following way: The j-th end pose is calculated based on the relative positional relationship and interaction between the k-th predicted pose and the associated nodes of the end node; where the interaction may include control action, driving action, etc.
[0106] Step SE4: Based on the difference between the j-th end pose and the pose sample, perform global optimization on the j-th predicted pose to obtain the j-th optimized result.
[0107] In one implementation, the difference between the k-th end pose and the pose sample may include the difference in distance and / or orientation between the k-th end pose and the target pose in the pose sample.
[0108] In one implementation, global optimization of the j-th predicted pose can be obtained in the following way: First, define the error function and calculate the gradient of the error function relative to each joint of the associated node of the end node. Then, perform global optimization of the pose in the j-th predicted pose according to the gradient descent update method.
[0109] For example, the error function can be used to describe the distance between the position represented by the k-th predicted pose of the end node and the target position in the pose sample, as shown in Equation (14): (14) in, Represents the error function. The set of angles corresponding to the joints of all associated nodes of the terminal node; Indicates according to The calculated position of the end node, Indicates the target location of the end node. It represents the square of the Euclidean norm of a vector, used to quantify the square of the distance between two points.
[0110] For example, the gradient of the error function with respect to the angle of each joint corresponding to the associated node can be calculated using equation (15) to characterize the influence of each joint on the error, as follows: (15) in, Representing the error function The gradient vector with respect to the joint angle.
[0111] For example, gradient descent updates the joint angle in the opposite direction of the gradient to reduce the value of the error function, thereby finding the global optimum; specifically, the gradient descent update rule can be shown in equation (16): (16) in, This represents the angle of the i-th joint in the (j+1)-th iteration. A positive number represents the learning rate, which controls the size of the step size in each iteration. It is the partial derivative of the error function with respect to the i-th joint angle, representing the magnitude and direction of the angle's contribution to the error.
[0112] For example, the j-th optimization result may include a set of joint angles calculated by equation (16).
[0113] Step SE5: Based on the optimization result of the j-th step, construct the second linkage system.
[0114] In one implementation, the second linkage system can be obtained in the following way: After obtaining the j-th optimization result, the difference between the end pose and the pose sample is iteratively calculated based on the j-th optimization result until the difference is less than or equal to the difference threshold, or the maximum number of iterations is reached. At this time, the poses of all the joints corresponding to the bones are determined as the second linkage system.
[0115] After constructing the second linkage system based on the skeletal model using the IK algorithm, the following problems may arise: First, local optima may exist. The IK algorithm may get stuck in local optima instead of the global optimum, which means that the calculated joint angle combinations may lead to unnatural movements and inefficient motion control.
[0116] Secondly, it increases computational complexity. The skeletal pose transformation of virtual objects involves multiple degrees of freedom and constraints, which can make the IK algorithm very complex during the calculation process, resulting in significant computation time and resource consumption.
[0117] Third, the problem of multiple solutions. For certain end effector positions, the results calculated by the IK algorithm may show multiple combinations of joint angles that can make the end effector reach the same target position.
[0118] Fourth, the issue of continuity. In practical applications, changes in joint angles should be smooth and continuous, but the results calculated by the IK algorithm may include abrupt changes in angles, resulting in unnatural or disjointed movements.
[0119] The technical solution provided in this application, through the above-mentioned global optimization, can reduce the probability of local optimal solutions, thereby improving the coherence and naturalness between bones and joints; and, through global optimization, mathematical optimization techniques can be used to reduce pose calculation time and resource consumption, thereby improving pose calculation efficiency; at the same time, through global optimization, the optimal solution can be determined, which can improve the rationality of the action, as well as the smoothness and continuity of the action, thereby achieving a natural and smooth action transition.
[0120] Figure 5A This is a schematic diagram of the skeletal linkage effect before optimization, provided in an embodiment of this application. Figure 5B This is a schematic diagram illustrating the optimized skeletal linkage effect provided in an embodiment of this application. Figures 5A to 5BAs can be seen, the joint positions in the skeletal linkage curve before optimization are relatively scattered, while the joint positions in the optimized skeletal linkage curve are more reasonably distributed.
[0121] Based on the foregoing embodiments, in the pose change state presentation method provided in this application embodiment, the second dynamic data includes mass data of at least one part.
[0122] In one embodiment, the mass data may include the mass of at least one part, and may also include the mass of an article held by at least one part; for example, at least one part may include joints and bones.
[0123] Accordingly, configuring the second power data for the joint nodes in the second linkage system to obtain the first linkage system can be achieved through the following steps: Step SG1: Determine the centroid data for at least one location.
[0124] In one implementation, centroid data is used to represent the position of the centroid of at least one part; wherein the centroid data may vary depending on the at least one part.
[0125] Step SG2: Based on the center of mass data and mass data, determine the inertia data of at least one part.
[0126] In one implementation, the inertial data may include the strength or magnitude of the inertia at at least one location, and may also include the duration of the inertia, etc.; wherein, inertia is used to characterize the tendency of an object to maintain its velocity state.
[0127] In one implementation, inertial data can be calculated using the mass and shape of the joint and the objects it connects to; for example, inertial data can be calculated using equation (17): (17) Where m is the mass and r is the distance from the center of mass of at least one part to the axis of rotation of at least one part.
[0128] Step SG3: Based on the inertial data of at least one part, configure the inertial state of the joint nodes in the second linkage system to obtain the first linkage system.
[0129] In one implementation, the first linkage system can be obtained in the following way: Based on the magnitude represented by the inertial data of at least one part, the magnitude of the inertia of the joint nodes in the second linkage system is configured to obtain the first linkage system.
[0130] As can be seen from the above, in the pose change state presentation method provided in this application embodiment, after determining the centroid data of at least one part, the inertial data of at least one part is determined based on the centroid data and the mass data of at least one part. In this way, the inertial state of at least one part in the physical world can be accurately simulated through the inertial data. Furthermore, the inertial state of the joint nodes in the first linkage system is configured based on the inertial data of at least one part to obtain the first linkage system. This allows the associated motion state between the joint nodes in the first linkage system to carry the inertial state of the joint nodes, thereby improving the pose accuracy of the first linkage system.
[0131] Based on the foregoing embodiments, the pose change state presentation method provided in this application, which configures second dynamic data for the joint nodes in the second linkage system to obtain the first linkage system, can be achieved through the following steps: Step SI1: Determine the gravity data for at least one location.
[0132] For example, gravity data can be determined by the mass of at least one part and the gravitational acceleration, specifically used to characterize the constant downward force applied to at least one part; as shown in Equation (18): (18) Step SI2: Based on the force and gravity data in the second dynamic data, determine the velocity data of at least one part.
[0133] In one embodiment, the velocity data may include the state of velocity change of at least one part under the action of the force in the second dynamic data and the gravity data; for example, the velocity data may include the acceleration of at least one part.
[0134] In one implementation, the velocity data can be calculated in the following way: The direction and magnitude of the force in the second dynamic data are determined. Combined with the direction and magnitude of the gravity data, the force in the second dynamic data and the gravity data are calculated to obtain the resultant force for at least one part. Then, based on the resultant force and the mass of at least one part, combined with the inertial state of at least one part, the velocity change state of at least one part is determined, and the velocity change state is defined as velocity data.
[0135] Specifically, the resultant force for at least one location can be calculated using equation (19): (19) Where F represents the force applied to at least one part of the body in the second dynamic data; for example, F could include the force of a virtual object throwing something with its hand. The resistance applied to at least one part in the second dynamic data is specifically used to characterize the force that hinders the movement of at least one part, and may include air resistance or other frictional forces; specifically, the resistance can be calculated using equation (20): (20) Where c is the damping coefficient and v is the velocity of at least one part.
[0136] Accordingly, the acceleration in the velocity data can be calculated using equation (21): (twenty one) At the same time, the velocity in the velocity data and the position corresponding to the above velocity can also be calculated, as shown in equation (22): (twenty two) in, for The speed of time, for The position at any given moment.
[0137] For example, after determining the force and gravity data in the second dynamic data, the interaction between joints, between joints and bones, and between joints and external forces can be continuously monitored through the above method to comprehensively simulate the elastic response of bones and / or joints after collision in the skeletal system, and provide an adjustment interface for the second dynamic data for the second linkage system, thereby providing conditions for the input and adjustment of physical quantities such as force, velocity, mass and inertia contained in the second dynamic data.
[0138] Step SI3: Based at least on velocity data, simulate the collision response state of the joint nodes in the second linkage system to obtain the first linkage system.
[0139] In one implementation, the collision response state can be achieved by performing collision detection on the skeletal joints.
[0140] In one implementation, the first linkage system can be obtained in the following way: By adjusting the amplitude and inertia of the collision response of the joint nodes in the second linkage system under the action of external forces based on velocity data and the resultant force corresponding to the velocity data, the collision response state of the joint nodes and / or skeletal nodes in the second linkage system is simulated, thus obtaining the first linkage system.
[0141] For example, after obtaining the first linkage system, an action implementation process of a virtual object can be generated through the first linkage system to verify the accuracy of the first linkage system. Specifically, if the above action implementation process includes a throwing action, the first linkage system can be verified through the following steps: Step 1: Joint parameter initialization For example, initialize the initial position, velocity, and acceleration of the wrist joint, as well as the initial state of related bones such as the shoulder, elbow, and torso.
[0142] For example, data such as the inertia, mass, throwing force, and acceleration of the wrist joint can be set; wherein, the mass can include the mass of the wrist joint and the mass of the object held in the hand, and the inertia and acceleration data can be calculated by the method provided in the foregoing embodiments.
[0143] The second step is to determine the skeletal linkage state.
[0144] Specifically, the posture of the entire skeleton can be adjusted through the first linkage system so that the change in acceleration of the wrist during throwing can be transmitted to the bones and joints of the whole body. At the same time, the smoothness and coherence of the posture changes of joints such as the shoulder and elbow can be improved through the transformation matrix and IK algorithm in the first linkage system.
[0145] Step 3: Adjust the amplitude.
[0146] For example, inertia and throwing force can be adjusted, and changes in the range of motion of the whole skeleton and joints can be tracked and detected; specifically, increasing the throwing force while keeping the inertia constant can enhance the sense of power in the throwing motion and accelerate the rate of change in wrist and arm posture.
[0147] Step 4: Optimize the completeness and naturalness of the movements. For example, after generating the movements of each bone and joint through the first linkage system, the generated movements can be optimized in detail to improve the coherence and naturalness of each movement process.
[0148] Figure 6 This is a schematic diagram illustrating the force effects on a joint as provided in an embodiment of this application. Figure 6 As shown, the movement trajectory of Joint 0 (shoulder) is shorter and the force is smaller. The force transmission of Joint 1 (elbow) leads to a certain change in movement. Joint 2 (wrist) is most affected by the initial force, therefore its movement trajectory is the longest. This demonstrates that... Figure 6 The motion trajectories of the three joints shown in the diagram after being subjected to force conform to the laws of physics.
[0149] It should be noted that the first linkage system in this application embodiment may be the result of configuring the inertial state and simulating the collision response state of the second linkage system respectively.
[0150] As can be seen from the above, the pose change state presentation method provided in this application, after determining the gravity data of at least one part, determines the velocity data of at least one part based on the force and gravity data in the second dynamic data, thereby realizing the interrelation between the velocity data and the force and gravity data in the second dynamic data; and, based at least on the velocity data, simulates and configures the collision response state of the joint nodes in the second linkage system to obtain the first linkage system, thereby improving the accuracy of the pose change of the joint nodes in the first linkage system when subjected to external force or object collision.
[0151] In related technologies, for animation production scenarios involving high-precision control, non-humanoid creatures, highly complex special movements, specific artistic styles, or complex multi-person interactions, manually created keyframe animation has become the only solution. The specific production process is as follows: First, after completing modeling and rigging, prepare the character model and configure the skeletal system. Then, create a new animation file using animation software, ensuring the timeline is long enough to accommodate the required number of animation frames. Next, select a bone from the character model, such as an arm bone, and adjust the timeline to the starting position. Set the initial pose of this bone and add keyframes to the timeline. Then, move the timeline to the ending position, adjust the target pose of the bone, and add keyframes again to determine the pose change between the starting and ending positions. Based on this, select a frame in the middle of the timeline and fine-tune the bone's pose, adding keyframes. Gradually adjust the pose of each frame to make the character's movements smoother. Repeat these steps for other related parts to gradually build the character's movements for that entire time period. After all parts have finished their movements, preview the animation using playback software to check the smoothness and continuity of the movements. During the preview, simultaneously correct the pose and movement rhythm of some bones to ensure that changes in certain bones conform to biological effects and physical characteristics.
[0152] Figure 7 This is a schematic diagram of the virtual object pose generation process provided in the embodiments of this application, such as... Figure 7 As shown, the process may include the following steps: Step 701: Skeletal system integration.
[0153] For example, the skeletal system may be the skeletal model in the foregoing embodiments.
[0154] Step 702: Set up the skeletal linkage function.
[0155] For example, the combined motion state between bones and / or joints in a skeletal model can be determined based on the IK algorithm to obtain a second linkage system that is not globally optimized, thereby setting up the skeletal linkage function.
[0156] Step 703: Optimize the entire linkage system.
[0157] For example, the linkage system may include a second linkage system that has not been globally optimized. The second linkage system can be globally optimized by the global optimization method provided in the foregoing embodiments to obtain the second linkage system.
[0158] Step 704: Configure physical properties.
[0159] For example, physical attributes may include second power data, inertial data, and gravity data, etc. By configuring physical attributes for the second linkage system, the first linkage system can be obtained.
[0160] Step 705: Generate actions based on physical attributes.
[0161] For example, the target position of a specified part can be calculated by the first linkage system to obtain the action set represented by the first posture set.
[0162] Step 706: Analysis and identification of unnatural movements.
[0163] For example, the first pose set can be analyzed using the method provided in the foregoing embodiments to determine the pose to be adjusted in the first pose set; for example, the pose to be adjusted may correspond to an unnatural movement.
[0164] Step 707: Dynamic smoothing and motion correction.
[0165] Through the above process, physical properties such as inertia, velocity, and gravity are meticulously simulated, thus fully integrating these complex physical motion effects. Furthermore, unlike related technologies that rely on manual identification to detect unnatural movements, this solution achieves automated identification and detection of unnatural movements. It also employs dynamic smoothing and motion correction to ensure the physical accuracy and fluidity of the poses of virtual objects in animated videos. Simultaneously, this solution provides simplified, automated, and easy-to-use error identification and correction functions, thereby improving animation production efficiency, enhancing the naturalness and smoothness of animation quality, and reducing the professional requirements for skilled technicians. This allows for the creation of physically logical animations without requiring in-depth knowledge of complex physics, and can be applied to multiple fields such as film, games, virtual reality, and education.
[0166] Based on the foregoing embodiments, this application also provides a pose change state presentation device, which may include the following modules: The processing module is used to receive first dynamic data; and determine the pose change state of the target part of the virtual object based on the initial pose of the virtual object and the first dynamic data through the first linkage system; wherein, the first dynamic data includes the force and kinematic data applied to the specified part of the virtual object; the first linkage system includes a system for coordinated movement between the joints of the virtual object; the first linkage system is associated with the skeletal model of the virtual object and the inverse motion IK algorithm; the target part includes the associated part and the specified part. The presentation module is used to sequentially present the pose changes of the target part through a time-correlated set of images.
[0167] In some embodiments, the pose change state corresponds to the first pose set of the target part; The processing module is used to adjust the poses to be adjusted in the first pose set to obtain the second pose set during the process of presenting the pose change state through the image set; wherein, the poses to be adjusted include poses in the image set whose pose change amplitude is greater than or equal to the amplitude threshold.
[0168] In some embodiments, the processing module is configured to determine the positional deviation between the k-th position of the target region in the k-th image of the image set and the (k+1)-th position of the target region in the (k+1)-th image of the image set; wherein, the first pose set includes the k-th position and the (k+1)-th position; and k is an integer greater than or equal to 1. The processing module is used to determine the velocity deviation between the k-th velocity of the target part in the k-th image and the k+1-th velocity of the target part in the (k+1)-th image; wherein, the first pose set includes the k-th velocity and the (k+1)-th velocity; The processing module is used to determine the acceleration deviation between the k-th acceleration of the target part in the k-th image and the (k+1)-th acceleration of the target part in the (k+1)-th image; wherein, the first pose set includes the k-th acceleration and the (k+1)-th acceleration; The processing module is used to determine the pose to be adjusted from the first pose set based on at least one of position deviation, velocity deviation, and acceleration deviation.
[0169] In some embodiments, the processing module is used to determine the associated poses adjacent to the pose to be adjusted in the first pose set; and to perform smoothing processing on the pose to be adjusted based on the associated poses to obtain the second pose set.
[0170] In some embodiments, the processing module is used to construct a skeletal model of a virtual object; wherein the skeletal model includes the hierarchical relationships between the joint nodes of the virtual object; The processing module is used to determine the associated motion state between joint nodes in the skeletal model through the IK algorithm to obtain a second linkage system; and to configure second dynamic data for the joint nodes in the second linkage system to obtain a first linkage system; wherein, the second dynamic data includes the force applied to at least one part of the virtual object and kinematic data.
[0171] In some embodiments, the processing module is configured to: determine the pose sample of the end node in the skeletal model; perform the j-th prediction of the pose of the associated node of the end node based on the pose sample using the IK algorithm to obtain the j-th predicted pose; determine the j-th end pose of the end node based on the j-th predicted pose; perform global optimization of the j-th predicted pose based on the difference between the j-th end pose and the pose sample to obtain the j-th optimized result; and construct a second linkage system based on the j-th optimization result; wherein, j is an integer greater than or equal to 1.
[0172] In some embodiments, the second dynamic data includes mass data of at least one part; a processing module is used to determine the center of mass data of at least one part; determine the inertial data of at least one part based on the center of mass data and the mass data; configure the inertial state of the joint nodes in the second linkage system based on the inertial data of at least one part to obtain the first linkage system.
[0173] In some embodiments, the processing module is configured to determine gravity data of at least one part; determine velocity data of at least one part based on the force in the second dynamic data and the gravity data; and simulate the collision response state of the joint nodes in the second linkage system based at least on the velocity data to obtain the first linkage system.
[0174] This application also provides an electronic device. Figure 8 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application, such as... Figure 8 As shown, the electronic device 8 includes a processor 801 and a memory 802; the memory stores a computer program; when the computer program is executed by the processor, it can implement the pose change state presentation method as described above.
[0175] This application also provides a computer-readable storage medium storing a computer program; when the computer program is executed by the processor of an electronic device, it can implement the pose change state presentation method as described above.
[0176] This application also provides a computer program product, which includes a computer program; when executed by a processor of an electronic device, the computer program is capable of implementing the pose change state presentation method as described above. The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0177] The methods disclosed in the various method embodiments provided in this application can be arbitrarily combined to obtain new method embodiments without conflict.
[0178] The features disclosed in the various product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0179] The features disclosed in the various method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0180] It should be noted that the aforementioned computer-readable storage media can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM), etc.; or it can be various electronic devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0181] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0182] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0183] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware nodes. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0184] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0185] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0186] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0187] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A method for presenting pose change states, characterized in that, The method includes: Receive first dynamic data; wherein, the first dynamic data includes forces acting on a specified part of the virtual object and kinematic data; Construct a skeletal model of the virtual object; wherein, the skeletal model includes the hierarchical relationships between the joint nodes of the virtual object; Determine the pose samples of the end nodes in the skeletal model; use the IK algorithm to predict the poses of the associated nodes of the end nodes for the jth time based on the pose samples, and obtain the jth predicted pose; determine the jth end pose of the end node based on the jth predicted pose; perform global optimization on the jth predicted pose based on the difference between the jth end pose and the pose samples, and obtain the jth optimized result; construct a second linkage system based on the jth optimized result. Configure second dynamic data for the joint nodes in the second linkage system to obtain a first linkage system; wherein, the second dynamic data includes forces and kinematic data acting on at least one part of the virtual object; configuring the second dynamic data for the joint nodes in the second linkage system to obtain the first linkage system includes determining gravity data for at least one part; determining velocity data for the at least one part based on the forces in the second dynamic data and the gravity data; simulating and configuring the collision response state of the joint nodes in the second linkage system based at least on the velocity data to obtain the first linkage system; The first linkage system determines the pose change state of the target part of the virtual object based on the initial pose of the virtual object and the first dynamic data; wherein, the first linkage system includes a system for joint motion between the joints of the virtual object; the first linkage system is associated with the skeletal model of the virtual object and the inverse motion IK algorithm; the target part includes the associated part and the designated part; The pose changes of the target part are presented sequentially through a time-correlated set of images.
2. The method according to claim 1, characterized in that, The pose change state corresponds to the first pose set of the target part; the method further includes: During the process of presenting the pose change state through the image set, the pose to be adjusted in the first pose set is adjusted to obtain the second pose set; wherein, the pose to be adjusted includes poses in the image set whose pose change amplitude is greater than or equal to an amplitude threshold.
3. The method according to claim 2, characterized in that, Before adjusting the pose to be adjusted in the first pose set, the method further includes: Determine the positional deviation between the k-th position of the target part in the k-th image of the image set and the (k+1)-th position of the target part in the (k+1)-th image of the image set; wherein, the first pose set includes the k-th position and the (k+1)-th position; k is an integer greater than or equal to 1; Determine the velocity deviation between the k-th velocity of the target part in the k-th image and the k+1-th velocity of the target part in the (k+1)-th image; wherein, the first pose set includes the k-th velocity and the (k+1)-th velocity; Determine the acceleration deviation between the k-th acceleration of the target region in the k-th image and the (k+1)-th acceleration of the target region in the (k+1)-th image; wherein, the first pose set includes the k-th acceleration and the (k+1)-th acceleration; The pose to be adjusted is determined from the first pose set based on at least one of the position deviation, the velocity deviation, and the acceleration deviation.
4. The method according to claim 2, characterized in that, The step of adjusting the poses to be adjusted in the first pose set to obtain the second pose set includes: Determine the associated poses in the first pose set that are adjacent to the pose to be adjusted; Based on the associated pose, the pose to be adjusted is smoothed to obtain the second pose set.
5. The method according to claim 1, characterized in that, The second power data includes mass data of at least one part; configuring the second power data for the joint nodes in the second linkage system to obtain the first linkage system includes: Determine the centroid data of at least one of the locations; Based on the centroid data and the mass data, the inertia data of the at least one part is determined; Based on the inertial data of at least one part, configure the inertial state of the joint nodes in the second linkage system to obtain the first linkage system.
6. An electronic device, characterized in that, The electronic device includes a processor and a memory; the memory stores a computer program; when the computer program is executed by the processor, it can implement the pose change state presentation method as described in any one of claims 1 to 5.
7. A computer-readable storage medium, characterized in that, The storage medium stores a computer program; when the computer program is executed by the processor of the electronic device, it can implement the pose change state presentation method as described in any one of claims 1 to 5.
8. A computer program product, characterized in that, The program product includes a computer program; when the computer program is executed by the processor of an electronic device, it is able to implement the pose change state presentation method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Animation implementation method and device, electronic equipment and storage medium
CN111260762A
Animation generation method and device, storage medium and electronic equipment
CN115690266A
Auxiliary rehabilitation teaching system and method based on somatosensory interaction
CN120126677A