PDA

View Full Version : Skeletal Animation Anyone?



sysrpl
06-25-2007, 08:44 AM
I've never gotten very far with skeletal animation because i don't have the patience to find the tools for creating (or documents for loading) a bone structure and it's associated animations/poses.

Everything I have looked at so far doesn't seem to work the way I would expect. I know I could write my own bone creator and poser, but that seems like such a waste of time ...

The question is, for those of you with familiarity about the subject, what tools would you recommend for setting up skeletons and skeletal poses?

If it helps any, I typically use Lightwave for modeling.

Thanks!

Vexator
06-25-2007, 08:59 AM
you could take a look at d3's md5mesh/md5anim file formats. google for sample code :)

Jeff Russell
06-26-2007, 02:43 PM
Don't use Maya. I have.

O_o

Jan
06-26-2007, 03:34 PM
You mean the FBX file format? Yeah, that's the most terrible file-format / SDK i have ever worked with. Tried to do skeletal animation with it, too. I have never gotten all the bone data out of it, so i gave up. FBX might be well structured, but a structure without _helpful_ documentation is worth ****.

The Doom 3 stuff is certainly a good starting point. Maybe you could also try Collada. It's a bit complicated, but ok. If you try it, i advise you to do use Feeling Software's importer. Parsing the files on your own is much work.

Jan.

namespace
06-27-2007, 09:31 AM
I use collada as the main fileformat for geometry and animation.
Works fairly well, the amount of freedom this format supports is a bit confusing at first, but as soon as you understand the basic design-ideas it gets much more transparent.

I used the "official" low-level API for collada because the libraries from feelingsoftware don't compile on Linux.

I used maya for bones too, their solver seems to be horribly unprecise when it comes to IK. Sometimes my bones started to "swim" or "float" in a range of [-0.3, 0.3] around the position where they were supposed to be.

tamlin
06-27-2007, 07:22 PM
Originally posted by namespace:
I used maya for bones too, their solver seems to be horribly unprecise when it comes to IK. Sometimes my bones started to "swim" or "float" in a range of [-0.3, 0.3] around the position where they were supposed to be. For real?! 8-O That's insane (unless you were 2^23, take or leave a few orders, units from 0.0, which I dubt)! I thought Maya was supposed to be very solid!

Was this a version pre or post Adobe?

Toni
06-28-2007, 01:24 AM
I suppose you mean pre or post autodesk :)

namespace
06-28-2007, 09:18 AM
It was Maya 8, dunno if thats pre or post.

tfpsly
06-29-2007, 01:54 AM
Originally posted by namespace:
I used the "official" low-level API for collada because the libraries from feelingsoftware don't compile on Linux.What :eek:
You need to write a single Makefile and the FCollada just compiles fine under Linux. Still that's a shame they do not provide it, I do agree.

I think the following one should do the trick:
CC=g++
CXXFLAGS=-DLINUX -MD -fPIC -I. -I/usr/include/libxml2
LDFLAFS=-lxml2

all: listcpp
make -j 8 FCollada

FCollada: OBJS
ar -cq libFCollada.a $(OBJS)

listcpp:
printf "OBJS=" > listcpp.inc
for i in `find . -name "*.cpp"`; do printf " $$i" ; done | sed -e 's/\.cpp/\.o/g' -e "s/\.\/FColladaTest[A-Za-z\.\/]*//g" >> listcpp.inc

-include listcpp.inc
-include *d */*d

OBJS: $(OBJS)

clean:
find . -type f -name '*.o' -exec rm {} \;

namespace
06-29-2007, 09:31 AM
Originally posted by tfpsly:
You need to write a single Makefile and the FCollada just compiles fine under Linux.Maybe it does so now, I made the switch to collada over a year
ago and back then it was a mess. I used a auto-generated sconsfile for compilation which does exactly the same as your makefile.

147-2
06-29-2007, 09:46 AM
Funny nobody mentions Cal3d... although it is old, it is open source, the programming is rather friendly and it comes with a decent demo app to show how to use the lib. Unfortunately, it does all the bone animation on the CPU, so the exercise to the reader is to convert it to some form of efficient vertex/fragment program running renderer.

tfpsly
07-01-2007, 11:42 PM
Originally posted by namespace:

Originally posted by tfpsly:
You need to write a single Makefile and the FCollada just compiles fine under Linux.Maybe it does so now, I made the switch to collada over a year
ago and back then it was a mess. I used a auto-generated sconsfile for compilation which does exactly the same as your makefile. I haven't tried compiling Collada under Linux before the latest version, and I've read some stl stuff used in Collada would not compile under Linux, (which sounds weird as stl is supposed to be quite portable). Maybe the Linux support is quite recent. Still I had a pleasant surprise having no bad surprise :)