1
\$\begingroup\$

So, I am trying to connect bones with vertex groups in blender, but I keep failing. if I move a bone in XNA, it doesnt also move those vertecis that are connected to this bone(vertex groups). What I have done is following:

-I made a model made up of four cuboids(seperate meshes).

-then I have created vertex groups for each of the mesh and assign vertecis to those groups.

-now I have added two bones(armatures).

-I renamed some of the vertex groups to the name of the first bone(not armature): "Bone".

-for the second bone "Bone2" I have made a vertex groups in all of the meshes, this vertex group contains all of the vertecis of that mesh.(because, if not all the vertecis are connected to at least one bone, XNA throws an error)

-then I exported if to .fbx format, checking: XNA Strict Options, XNA Rotation Animation Hack.

Thank you in advance!

EDIT: Ok, I have fixed the boneWeightCollection problem by unchecking Apply Modifiers in export menu. In blender now everything works great, if I move the bones in their POSE mode they deform the mesh. But they do not work in xna(if I move them, they do not deform the mesh)

\$\endgroup\$
1
  • \$\begingroup\$ bumping... Help someone. \$\endgroup\$ Commented Feb 1, 2013 at 16:40

1 Answer 1

1
\$\begingroup\$

Well, firstly, are you sure that your bones are correctly connected to your mesh(es)? If you move the bones around in Blender, do they deform the mesh as expected?

2nd: I'm no expert in XNA, but if it doesn't manage to import skinned meshes properly (i.e. take into account bones deformations), what you can do is make your animations in Blender (using bones, with IK or whatever), then bake those deformations into the mesh using the script: select armature (in object mode), open the scripts window and run Bake Constrains script from Animation directory.

\$\endgroup\$
5
  • \$\begingroup\$ 1. As a matter of fact, no they do not deform the mesh. What do you think is wrong? If you want I can upload the blender file. 2. I need to move these bones in XNA programmaticly. \$\endgroup\$ Commented Jan 29, 2013 at 14:35
  • \$\begingroup\$ Well ok, one of the rules to linking bones to vertex groups is that they both have to have the same name (i.e. if bone named "humerus" needs to deform grups g1, g2 and g3 in meshes m1, m2 and m3, then groups g1, g2, and g3 (in each of their meshes) must have the name "humerus" as well. \$\endgroup\$ Commented Jan 29, 2013 at 15:04
  • \$\begingroup\$ When you say bone's name you mean the actual bone's name or armature's name? Because the name of the vertex groups are the same as the name of the bones. \$\endgroup\$ Commented Jan 29, 2013 at 18:12
  • \$\begingroup\$ Yep that's what I mean, but there's also other stuff related to this. Here, check out this tutorial. It's truly great and it explains rigging in great detail: vimeo.com/30073532#at=0 \$\endgroup\$ Commented Jan 29, 2013 at 19:51
  • \$\begingroup\$ If I use Armature Modifiers on meshes then bones do deform the mesh in POSE mdoe. But then if I press Apply and apply those modifiers then the bones stop working(they dont deform the mesh as I move them). And if I import the model in XNA which hasnt had the modifiers applied then the XNA throws BoneWeightCollection error. Help please... \$\endgroup\$ Commented Jan 30, 2013 at 15:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .