Hello,
I'm developing a program at a university.
We employed XNA and C# for 2D and 3D graphics.
For 3D animation, I tried to use XNAnimation. But after a while I figured out there is no support from its author anymore. So, when I face a problem I can barely find the solution from the old forums. My problem is that my fbx skinned model plays well in MotionBuilder but when I import it to XNAnimation it is distorted.
The same model without animation clip looks fine in XNAnimation.
Meanwhile I found that Kilowatt is another option. The most important thing about it is that it seems it's supported by the author yet.
I need to justify to my advisor that Kilowatt is a good decision to work on . So, I was wondering if you could give me a software specification, such as
1. What formats are supported (it seems 3dsmax and .x)?
2. How many bones are supported? Evey thing should be skinned? Even for facial gesture or blinking?
3. Is it possible to do morphing for facial expression?
4. Which one supported: rigid or soft body?
5. Blending supported?
6. additive animation blending supported?
7. Is it possible to have several takes in one model and blend between them based on user interaction? For instance, running in one take and shooting in another and then user can shoot while running? Or is there a better solution for doing so (switching between clips)?
8. Is it possible to use kilowatt without XNA Game class and pipeline? (I use Winforms and I draw the XNA 3D model on a Winform panel control and I update the game manually with a TimeSpan).
7. What are the constraints for skinning a model? In other words, if the skinned model plays correctly in 3dsmax, will it work in kilowatt properly or there are some distortion experience reported?
8. Is there some supports from the author anymore?
Thanks.
Many questions! First, I'd
Many questions!
First, I'd like to make clear that kW Animation is a source code library for those users who are comfortable with source code. It is not a tutorial library, and it is not a commercially supported library -- but it does work pretty well!
1) kW Animation uses the XNA content pipeline importer, so anything you have an XNA importer for, it will animate.
2) Currently, the limit is around 78-80 bones, somewhat depending on how many vertex shader constants you need for the rest of your shader. It uses 3 constants per bone, and there are 256 constants total for vertex shaders in shader models 2 and 3.
3) Neither the XNA Model content format nor the .X file format support morphing, so there is no way to support it in kW Animation without significant custom programming.
4) kW Animation animates both rigid and skinned meshes. The sample "archer" that comes with the library contains some rigid parts (bow, arrows) and some skinned parts (the character). "body" doesn't make sense in an animation context; it's a term used for physics simulation.
5) What kind of blending? kW Animation supports vertex blending (skinning), and animation blending.
6) I don't remember off-hand if it comes with an additive animation blender. If it does not, it would be easy to add yourself through the animation composition interface, because keyframes are scale-rotation-translation using quaternions, not matrices.
7) kW Animation uses whatever clips/takes you import through the XNA content pipeline. It can blend between any or all animations with weights that you want. kW X-port supports exporting several clips out of the same model file from 3ds Max, and thus would be a good match for kW Animation.
8) kW Animation requires the XNA content pipeline. I have used the XNA content pipeline in WinForms, and it works pretty well; there are tutorials on creators.xna.com for how to do that.
9) In general, if the 3ds Max exporter, and the XNA importer, are bug free, then a properly animating character in 3ds Max should animate properly in kW Animation. However, certain advanced skinning features (bulges, tendons, deformers) are not supported by shader hardware or the exporter formats, so they will not transfer over. Also, neither the FBX exporter nor the XNA content importers are bug-free, so some animations may not work right. I've had the best results with the kW X-port exporter, but some experimentation is necessary.
10) Supported? I answer questions when I have time. I'm unlikely to read your code and tell you what to do about it, though. I also use kW Animation in my own code, so if there's some bug I run into, I'm likely to fix it.