Archived

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

ulbdir

matrix hierarchies

Recommended Posts

ulbdir    122
Hi, i''m having trouble limiting the rotation of joints in a skeletal animation system. If I just decompose the local joint matrix, I get the euler angles around the parent''s axis''. But rotation limits are given around the joint''s relaxed orientation (that is the initial pose). The final matrix of a joint is created as follows: this->matrix = (this->relaxed * this->offset) * parent->matrix; (this->offset is the matrix that is animated) So basically what i want is the euler angles that this->offset rotates about the axis'' of this->relaxed. As I said, just decomposing this->offset gives me the angles around parent->matrix... Can anybody help me here? Thanks, Dirk

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Hmm, I had a similar problem with my skeleton animator, but:

> this->matrix = (this->relaxed * this->offset) * parent->matrix

shouldn''t it be:

this->matrix = parent->matrix * this->offset

(in OpenGL order) ?

Transform a joint by it''s offset from the original relaxed pose and then apply the parent matrix. Why remultiply this->relaxed ? Your mesh that is to be deformed is already in the relaxed position (geometrically).

Share this post


Link to post
Share on other sites