Archived

This topic is now archived and is closed to further replies.

skeletal animation and deformation

This topic is 5010 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all, Suppose i have an arm made up of 2 bones. I have a simple vertex weighting system; --| <- undeformed arm --| --| --| ---\ <- the vertex shown as '+' 'deforms' towards the arm. ----\ Problem : after several sequences, the point '+' tends --+-| to locate at just the joint of bones. It ----| does not go to the initial position when the arm is in its initial position after the sequence. The more you repeat the sequence, the more it goes nearer to the joint. Question : How can i make the point go back to initial position? At the start of the sequence by taking a copy of the arm, deforming it and when sequence finishes, replacing it with undeformed offe? Isnt it expensive? Thanks in advance Burak [edited by - holyburak on March 26, 2004 8:29:07 AM]

Share this post


Link to post
Share on other sites
Hey! i found the answer :

Assume that the vector from the vertex to bone origin is (5,0,0).
and the bone weight is 0.5 . Also assume i turn the bone 60 degrees.
The rotated vector is (2.5,4.33,0). Then i was subtracting it from the original vector to find the displacement. =>
(-2.5,4.33,0). Then i was multiplying this displacement vector with bone weight. So my weighted transformed vertex was; (3.75,2.16,0). As you can see you can not turn back to 5,0,0 from this point when you weighted turn -60 degrees.

Solution : I 'Slerp' ed the rotation matrix by weight. ..And now everything is okay.

Burak

[edited by - holyburak on March 27, 2004 9:12:20 AM]

Share this post


Link to post
Share on other sites