3DS Max Exporter and Character Animation


I wrote an exporter for 3DS Max that exports it to my own file type. To test that it was working, I had to add character animating to my DirectX engine (aka skinning). Unfortunately, the actual exporting process is rather dull to look at, so I’ve instead posted a video showing the finished product of the character animation. Skinning is a pretty interesting process. Each vertex is affected by up to four bones, and is assigned a weight by how much they are affected by each of those bones. In a character animation shader, the vertex needs to move relative to its attached bone. This is accomplished by moving the vertex into world space, then using an inverse bone matrix to get the vertex in bone space, and finally multiplying by the bone matrix at a specific time t, to get where the vertex should be. After determining a vertex relative to a bone, you multiply that position times the weight of the vertex to that bone. Finally, add up all the positions, and you have skinning! It’s pretty cool to find as much complexity as there is in something so easy to take for granted.

This model was provided by my Professor Jani Kajala.

This entry was posted in Programming. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>