PDA

View Full Version : Skeletal Animation



maedhros777
04-25-2010, 07:11 AM
Hello, I'm fairly new to OpenGL and I'm trying to learn how to do skeletal animation. I haven't been able to find any good tutorials online on how to implement a skeletal system so far. I use Blender to create my models (well, I'm still learning that too =D), so I'm wondering if there might be a way to export to a file and load the animation in OpenGL. Can somebody please explain how that might work, or link to a book or tutorial? Thank you for your help.

Y-tension
04-25-2010, 11:53 AM
Hey, another Blender user there! There is a way actually, but skeletal animation is too complex, you need to write your own animation algorithms, most probably using quaternions and do some skinning too(Using defined Vertex Groups in Blender). That is a lot of work! Especially if you want to export to your own format, you must also write an importer/exporter in C/python as well.

A good book is 3D Game Engine Design(with lots of math algorithms), and of course any paper on skinning, blender python and OpenGL. Haven't seen any good tutorials yet unfortunately(Actually, I found this http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System by googling which shows the extent of the subject).

Fugitive
04-25-2010, 02:16 PM
As Y-tension pointed out, skeletal animation doesnt exactly fall under the 'basic opengl' category. You need to solidify your Graphics Programming skill in opengl before you move on to skeletal animation. I doubt you will find a simple tutorial that can help explain it.

On the other hand, if you really want to get skeletal animation done without necessarily learning much about it, try finding a high-level (even open-source) library that will do it for you. I'm sure there are many of them, though I have not needed one. Perhaps some other member can point one out.

maedhros777
04-25-2010, 02:56 PM
Okay, I guess I might not do this now, if it's so difficult; as Fugitive said, perhaps I should keep learning OpenGL before doing that. Thanks for the link and book recommendation, although I checked out a preview on Google books and the extent of the math just scared me. :) While browsing, though, I found this book: http://www.amazon.com/gp/product/0201609215/ which sounds pretty good, I think I'll buy it, based on the reviews.

Oh, by the way, Y-tension, nice signature :)

Y-tension
04-26-2010, 10:12 AM
Thanks! :)
My personal opinion is that learning openGL well, will, in itself, teach you a lot on how graphics work in general. A good, but rapidly becoming outdated, resource is the red book(OpenGL programming guide), which was my own method of self-teaching, but I wouldn't recommend it anymore since most of the stuff is deprecated. Anyway you can find early editions on the net for free, and it explains some of the maths behind graphics. Plus articles and techniques from any source you can get your eyes on. Try NVIDIA's and ATI's developer site, they have a lot of excellent articles on graphics for free because they want developers to be able to use their latest hardware well. I
Most mathematics are linear algebra actually, but there are a few fancy stuff that require more advanced stuff, so in the end it's unavoidable. Animation uses quarternions which is something like a higher dimension imaginary number, but you need not become a math wizard to use those, really. Just learn their basic properties.