Skeletal Animation

Member
Posts: 277
Joined: 2004.10
Post: #1
I have been looking for around a week for a skeletal animation library that will import directly 3DS or some other standard format that supports skeletons.

Problem is I can't find one that does that specific requirement, that is free. I found Cal3D which has a blender exporter but when my friend tried to export the python gave him and error and then disappeared from his menu.

I then found Animadead, I found it had one more nice feature but doesn't support Blender, it only has Maya, 3DS Max, and Lightwave plugins.

I am sure about the maya but the website was contradictory about 3DS and lightwave.


I then found Granny 3D, although has a ton of features it costs like $1,500 Ninja


I was just wondering if any of you know about something or have code, because I don't have enough experience in several areas to program it myself.

The things I wanted but don't absolutely need is, Direct loading from a format like 3DS, blending/mixing of multiple animations like walking and waving, exchanging mesh objects (like hair), exchanging materials per-face.


Cal3D has all this except direct loading and exchanging mesh objects.
(Idk if I have to exchange the entire mesh or can load a bald person and hair and when I want to change the hair just switch)


Again, I don't have the knowledge to build one myself. So do you guys know of any libraries that suit my needs or have your own?

-BinarySpike

Global warming is caused by hobos and mooses
Quote this message in a reply
Member
Posts: 446
Joined: 2002.09
Post: #2
AFAIK, 3DS format does not support skeletons. Max format does, but nothing but 3D Studio reads Max files...

You might want to look at the MD3 (Quake3) format. The later revisions include support for bones with animation blending (not sure how robust it is though), and retain the old tag joints for attaching other meshes/models. I honestly don't know how good the available tools are, but it's all open source and there are a lot of examples out there. IIRC, there are also a few Blender import/export plugins but I haven't seen one that's actually complete/working.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #3
MD5 (Doom III's format) might be a good one -- you can find plenty of source out there on the web to load & animate them, and there's a decent blender exporter.
Quote this message in a reply
Member
Posts: 204
Joined: 2002.09
Post: #4
BinarySpike Wrote:Again, I don't have the knowledge to build one myself. So do you guys know of any libraries that suit my needs or have your own?

I came to this point a few months ago, and I decided to incorporate portions of dim3 into my projects. The advantage of this is that the code is right there (and nicely modulated), and it includes an animation program as well (or you can use Inspire if you want).
Quote this message in a reply
Sage
Posts: 1,403
Joined: 2005.07
Post: #5
go with inspire and the FBX API.

Sir, e^iπ + 1 = 0, hence God exists; reply!
Quote this message in a reply
Member
Posts: 277
Joined: 2004.10
Post: #6
Frank C. Wrote:AFAIK, 3DS format does not support skeletons. Max format does, but nothing but 3D Studio reads Max files...

You sure? Huh

That stinks because I found a cal3d_max_importer in the SVN of Cal3D.
I also found a cal3d_blender_importer.

So I'm pretty sure I'm gonna go with Cal3D.

Sad thing is, the xcode project wasn't saved so that it could open in PB.

Just get'n the miniviewer and maybe cally compiled so I can have some example code. *wonders if he should make a mac demo with his horrible box man or the blender gingerbread man*

Global warming is caused by hobos and mooses
Quote this message in a reply
Member
Posts: 144
Joined: 2004.07
Post: #7
BinarySpike Wrote:Sad thing is, the xcode project wasn't saved so that it could open in PB.

Most people don't use PB, and actually most people use the current version of Xcode, hence I only made a project for the current version.

It's pretty easy to whip together a project for Cal3D though.
Quote this message in a reply
Moderator
Posts: 1,140
Joined: 2005.07
Post: #8
If you're serious about programming, you really should upgrade. Most things are starting to require Panther at the minimum, and even Tiger oftentimes. If you have a student discount, it's only something like $70 for Tiger.
Quote this message in a reply
Member
Posts: 446
Joined: 2002.09
Post: #9
BinarySpike Wrote:You sure? Huh
That stinks because I found a cal3d_max_importer in the SVN of Cal3D.
I'm 99.9% sure 3DS doesn't support skeletons, but if that Max importer works then I'm not so sure about my second point! Though you'd still need a PC + 3D Studio Max to create the Max files in the first place - or are they calling it 3ds Max now? I could never get that straight...
Quote this message in a reply
Moderator
Posts: 522
Joined: 2002.04
Post: #10
3DS != 3D Studio Max

The old .3ds format is from pre 3D Studio Max (before they added the word Max) and isn't anything close to ideal anymore. Y'all are right, no skeles.

Oh, and Unity could maybe be construed to be a library, so... check out Unity... it's got some excellent animation support. Hopefully soon Blender skele support, too. Wink

-Jon
Quote this message in a reply
Moderator
Posts: 3,577
Joined: 2003.06
Post: #11
The Unity suggestion is a pretty good one here IMHO -- Dim3 and Torque are valid in that category as well. Doing indie skeletal animation purely on the Mac is a bit of a trick in practice. I still haven't found any easy combination of 3D editor along with API after a few years of searching. There are a couple of narrow paths to follow that I've found. The one I settled on was Maya editing and outputting through its MEL scripting environment using my own format which is inspired by what I learned from reading about MD5. The concept is pretty simple but the information on how to do it is sparse (you're pretty much on yer own on the Mac). The only tricky skill past working with OpenGL is having a basic understanding of quaternions. If you think you could tackle that then go for it... Otherwise Unity is a good idea if you know what I mean Wink
Quote this message in a reply
Member
Posts: 144
Joined: 2004.07
Post: #12
I've been heavily invested in skeletal animation over the past few months (working with the author of Animadead and with the developers and plugin developers for Cal3D) on a project that maybe I'll be showing off soon (I'm debating using my blog for publicity rather then springing this stuff into the minds of everyone weeks before release).

Here's what my pipeline looks like and what I'd recommend to everyone:

Blender - it has fairly nice animation tools
Cal3D - it's fast, it's pretty easy, and it's free (Animadead 3 looks like it'll be a nice library, but it could be at least a few months before we see a recent release)
Cal3DBlender - a great plugin to bridge the two. I've followed some excellent google's summer of code guys to hammer this out http://svn.pysoy.org/branches/cal3d-new

My advice being use that combination if you want to do skeletal animation, but beware, this stuff can be tough (unless your name is David Rosen).

Maybe I'll host a seminar on the subject or something (in my head...).
Quote this message in a reply
Member
Posts: 446
Joined: 2002.09
Post: #13
For anyone interested in MD5, there's an article on Intel's site by Id software's J.M.P. Van Waveren that describes their animation techniques. It's mostly covers SIMD extensions but there's a lot of general info in there as well.
Quote this message in a reply
Member
Posts: 277
Joined: 2004.10
Post: #14
Little update here, I got the miniviewer working and all the models that move have horrible artifacts in them *wonders about it*
I have a localhost image... I'm to lazy to put it on the real internet though Bored

My friend can't get blender to see the blender2cal3d.py that comes with blender... or the one off the oomadness site. (same thing, different versions)

and I can get it to see but it gives me errors (something about split[1] in posixpath.py in the Python.framework)

Mad

lightbringer Wrote:Here's what my pipeline looks like and what I'd recommend to everyone:

Blender - it has fairly nice animation tools
Cal3D - it's fast, it's pretty easy, and it's free (Animadead 3 looks like it'll be a nice library, but it could be at least a few months before we see a recent release)
Cal3DBlender - a great plugin to bridge the two. I've followed some excellent google's summer of code guys to hammer this out http://svn.pysoy.org/branches/cal3d-new

I'm checking this Cal3DBlender out. *wonders if it's the answer to my prays*
Shock
also what version of python does that use?

Quote:My advice being use that combination if you want to do skeletal animation, but beware, this stuff can be tough (unless your name is David Rosen).

I thought the bones were there to make it easier?

*counts off in head* that would equal five years of 3D Modeling *with* bones for me... it's not something new to me... I've just never heard/seen a program that will put it in a program until recently.

I'm not doing anything in-game except trigger the animations + blender/mixing. And, for me, some very advanced mesh and material interchanging.

And I have two very competent modelers helping me. I'm not worried about how hard it will be, I just need a freaking blender converter that works Rasp

Global warming is caused by hobos and mooses
Quote this message in a reply
Sage
Posts: 1,403
Joined: 2005.07
Post: #15
It took me one night to get the FBX SDK working and to make a character walk around a chess board.
I would definitly recommend trying modelling in whatever program of your choice, then using Inspire to bone and animate and the FBX SDK to load and draw in your program.

Sir, e^iπ + 1 = 0, hence God exists; reply!
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  NuiCapture for Windows Kinect Depth and Skeletal and Facial recording software mrbones 0 3,179 Sep 16, 2012 09:07 AM
Last Post: mrbones
  Free (LGPL) Skeletal Animation lib - Animadead kelvin 2 4,322 Feb 14, 2005 04:31 PM
Last Post: johnb003