Topics: Project Management Forum
Nov 14, 2006 at 6:54 AM
Hello! XNA has been out for around 2 months now, and although many components and other utilities have been created, progress has been slow on the animation front. The purpose of this CodePlex project is to change that, and to create a mature library of animation components and tools.

If you are interested in joining the project, please post here.
Nov 14, 2006 at 12:38 PM
So, how's about telling me how to actually associate with the project. There seems to be no button for joining up.
Nov 14, 2006 at 3:37 PM
I added you to the project as a developer. Glad to have you on board!

If time permits, I'll upload a working animation component today and update the home page info.
Nov 14, 2006 at 4:01 PM
Yikes! I can't seem to find an edit button for posts. I have to be careful about what I say! Anyways, anyone who joins can check the issue tracker for possible assignments and the developer forum for discussions.
Nov 16, 2006 at 10:30 PM
Just wanted to say that I'm very impressed that you are taking the bull by the horns in this area. I've been searching for any kind of guidance in this area as it seems to be the biggest miss from the XNA framework.
Just wanted to offer a few words of support. Keep up the good work
Nov 16, 2006 at 10:58 PM
Thanks. Have you tested out the code? I could really use some help in the debugging area - making models, even very simple shapes with simple animations, is time consuming.
Nov 17, 2006 at 11:32 PM
I'm in the process of moving house at the moment so will be without my desktop computer for another week. The laptop I'm currently using doesn't have a graphics card that is upto the job. However I will be getting stuck in as soon as I have my gear again.
I also have a friend who's great with models and animation so he's putting together some stuff as we speak. I should be ok to help with some debugging, I'm a bit light on 3D knowledge but I'm a quick learner and I'm a C# MCP with 10 years I.T. experience so if you want me to help in any specific ways just let me know.
Nov 21, 2006 at 3:44 AM

I'd like to join the project as a developer.

I am interested in extending the library to support Acclaim ASF/AMC animation format.
I could work on it. Maybe on other tasks too, as time allows.

Nov 21, 2006 at 4:07 AM
That is good news indeed. I've added you as a developer. It would be interesting to here what sort of background you have :)

I looked over the ASF/AMC format, and it seems similar in basic structure to the .X format, except it appears to use inverse kinematics.

Now, inverse kinematics is something I was planning on implementing in the eventual future, but it's considerably more complicated than forward kinematics. How comfortable are you with 3D math?

Starting wednesday, for one week, I won't have access to a computer that can run XNA - just as a heads up.
Nov 21, 2006 at 8:06 AM
I have MS degree in Computer Engineering.
So I hope I qualify. :)

I feel so much at home with 3D and shaders so please don't worry about that.

My first name is Michael.

Actually I suggested Acclaim ASF/AMC as next feature because it is a compact and simple format.
It should be easy to parse and to import into XNA. It enables storing animations in separate files.
And there is a good library of free AMC files at CMU site.

I was considering possibility of importing anymations from FBX - it is a format well-documented by official creators (Autodesk) and there is an SDK. But the format itself (even the ASCII version) seems to be too complex and bloated.

Nov 21, 2006 at 10:40 AM
Ok - sounds good. In case you didn't know, I currently go to CMU school of CS, which is why I am up at 5:26 :-/

Feel free to start on the importer and upload/checkout the source as necessary. The importer shouldn't affect any other files that are in the project, so there shouldn't be any issues in terms of source control.

There are two things you should know before you begin:
1. Short explanation: Dont use AnimationContentDictionary to store animation data; it is imperfect and I am making another class.

Long explanation:
Right now I use the provided AnimationContentDictionary object for storing animation data, but it is really a poor choice for a final animation data structure storage. First, it maps bone names to their transforms, which is less efficient than mapping bone indices to their transforms. Second, it only lets you store matrix keys, so right now my spherical linear interpolation code decomposes the matrices. Third, it is part of the content pipeline, so it shouldn't be used during runtime.

What I'm currently working on is a better data structure for animation storage, my idea is to make a class that can store matrices and vectors/quaternions depending on the situation. So, don't worry about reading animation data into an AnimationContentDictionary just now

2. for skinned animations, the importer stores the matrices for each bone that transforms vertices to the local space of the bone. So, you'll need to somehow pass this data to the processor
Nov 22, 2006 at 10:20 AM
Yeah, I already know you are from CMU. Your Live Space has a statement about it. Nice to meet you!

And I am located in Moscow, Russia.

I was about to write a post (in Issue Tracker) about runtime structures but I see you are already working on it. It is amasing how quickly you are moving forward :)

Let's move the technical discussion to the developers part of forum.
Dec 13, 2006 at 12:28 AM

I graduated from CMU a few years back (1987). I now work as a Code Monkey writing firmware for modems/routers.

I'm a hardcore C programmer, and just learning C#.

I'd like to get involved in something, since I just joined the Creators Club.

Saw this project and would like to learn/help.

Gamertag: BoomerET
Dec 13, 2006 at 4:53 AM
Great! I try to keep my code well commented, but there are a few spots that are lacking right now, so if you have a question feel free to ask.

The codebase is finally starting to emerge as something more than alpha quality; it now supports more than just the .X format, and seems to correctly animate all nearly all .X models.

The next steps will be listed in the issue tracker. If you want to do something, feel free to just work on an issue and post a comment that you are working on it (or assign it to yourself).

The general goal right now is to get the next stable release out, which will hopefully be the last alpha quality release. Before then, I want to remove the dependence on AnimationContentDictionary, attempt to make the animator work for exporters that don't exporter SkinInfo transforms, add an animation factory that allows for users to create animations during run time, and make animation interpolations be computed in the content pipeline rather than in game.

I've added you as a developer. Welcome and thanks!
Dec 13, 2006 at 5:38 PM
Can you recommend any websites/books that I should become familiar with?

I have two DirectX books, one by LaMothe or something like that.

Bought them shortly after first XBox came out, did a very minute amount of dev on that unit.

Dr. Dave Royal
Dec 13, 2006 at 7:38 PM
XNA resembles managed directx a lot more closely than it resembles directx. I'd first look at the large variety of basic and 2D XNA tutorials out there, which can be found via google.