This project is read-only.

Help with Rigging for Static Model

Dec 12, 2010 at 7:47 PM

Hi:

I am trying to use XNAnimation to handle both static models and those with keyframe animations (I was using my own .fx files but found the shaders provided with XNAnimation proved to be quite a time saver with animation being involved). In order to get around the No Input Skeleton error my modeler went ahead and added a parent bone and attached to it in MAX. According to him, all of the vertices are attached to the bone. However, when I try to compile the static model with the XNAnimation content processor I am getting:

 Error normalizing vertex bone weights. BoneWeightCollection does not contain any weighting values. 

I went into the Content\obj folder and see a number of "0 1 /" and a few "None" in the xml file output under the following xml node:

<VertexChannel Name="Weights0" ElementType="Graphics:BoneWeightCollection"><Weights>...

First of all, can someone tell me if the "None" values in there are causing my issue?
Secondly, can someone define for me the exactly what each delimited item in there is representative of?
Lastly, can someone tell me how I might be able to track that back to the vertices that aren't weighted or some other information that I could give my modeler to help troubleshoot the issue? Thank you!

 

 

Dec 12, 2010 at 8:43 PM

Tell your modeller to reset the weights of all the vertices to 1, since your model will have only one bone. Can't remember where could you do this in MAX though, maybe in the Skin modifier options.

Dec 14, 2010 at 4:49 PM

Thank you so far for your assistance:

I have my static mesh and a single bone in the scene. I add a Skin modifier to the mesh and under Bones: add the bone to it. I then select all the vertices on the mesh in the skin modifier, go to Weight Tool, and set the weight to 1.

When exported I get the same error. " Error normalizing vertex bone weights. BoneWeightCollection does not contain any weighting values. "

Here is the .x file. Would you be able to see if there is anything wrong with it? http://www.merg3d.com/resources/Factory_Bone_Skin.zip

 

Dec 14, 2010 at 4:57 PM

I'll add that I opened the .x file in notepad and matched up the DWORD columns for the vertices and the weights and they DO seem to all have a 1.0 in there. Thanks again.

Dec 14, 2010 at 6:50 PM

What X exporter are you using? Can you provide a MAX file for the model?

Dec 15, 2010 at 3:40 AM

r2d2rigo, I would be happy to provide the MAX file (I believe it is the latest version of MAX) if you would be willing to look at it! The URL is

http://www.merg3d.com/resources/factory_blockout_2mats_2.max

I noted that it has two meshes, one with 44241 vertices and the other 21880. Each has a defined SkinWeights template and that is where I matched up the vertice index counts, with the weights float array (I said DWORD above, which is wrong) of 1.0.

This was exported using the PANDASOFT exporter. The character model we are using, which has animation, exported using the same process okay.

Thanks!!

Dec 15, 2010 at 7:13 PM

Sorry, I have MAX 2010 and can't open the file (made with MAX 2011 maybe?).

Why don't you export the two meshes to two separated files, each with its own control bone? And Kilowatt's is a better exporter in case you are using X as your main format.

Dec 20, 2010 at 1:44 PM

Once the file was exported from MAX 2011 and re-imported to MAX 2009 the problem seemed to be corrected using KW-X. The one other thing I know the modeler is working through (with KW-X) is exporting multiple animation sequences per model (a standing still pose, running pose, etc.). If you have any final words of wisdom on this I appreciate it! I also appreciate your willingness to help out with both of my posts as, unfortunately, the XNA community boards don't seem to get too much action these days...Thanks!

Dec 20, 2010 at 5:09 PM

If you want a model with multiple animations, they must be in the same file, and then extracted via a XML file. Check the EnemyBeast model in the samples for some info on how is this achieved.

Support for standalone animations will come in future releases.

Dec 20, 2010 at 5:47 PM

When you say the "same file", you mean the same .x file, right? I was thinking that KW-X could export the multiple animations and then I could do something like (pseudo code)

OnKeyPressDown(Walk)

  • moveplayer
  • model.animationcontroller.playclip("walk");

else

  • model.animationcontroller.playclip("stand");

No? I suppose I can check the EnemyBeast example as you've stated. Thanks!

 

 

 

 

 
Dec 20, 2010 at 5:57 PM

Yes, all the sequences must be in the same X file, one after another. Then you can specify start and end times for each one and make the Content Processor split them.