Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

RiggingProblems

On the left is a base mesh with armature in Blender. I imported this model and armature into Unity3d.

The result is on the right. The arms are clearly distorted, and I can't seem to fix it by rearranging the bone assignments.. It looks fine in Blender. Why is it doing this?

share|improve this question
    
When you say "rearranging bone assignments" you're talking about changing parent/child relationships? Because that's been the problem when this has happened on my models. –  Erik Jan 24 '13 at 10:08
    
Yes, but to no avail. As it turns out, using a relaxed armature (alt+r) seemed to fix the problem, per Shivan's suggeston. –  Sparkz63 Jan 24 '13 at 12:39
add comment

1 Answer

up vote 3 down vote accepted

Are you sure the Blender screenshot was taken with the armature relaxed (ALT-R to relax the armature). Also make sure you're not in pose mode but rather in object mode when looking at your mesh's position in Blender, to see how it will look when imported in Unity. Finally, apply all transforms to object before exporting to Unity (CTRL-A, then Aplpy Scale, Apply Translation, Apply Rotation).

==Update as per #1 comment:==

Ok, it's embarassing, but at the moment I'm having difficulties watching the YouTube video you link to. At any rate, here's how I've imported blender animations in Unity and it worked fine:

Create your animations in Blender. Do them at the bone level, don't do anything like "baking" bones animation into mesh. Just animate the bones, and then you have your mesh deformed by the bones. If you want to do "multiple animations" (i.e. have like a walk animation and a run animation for your character, which than later on you want to split inside Unity) make sure you leave at least 10 frames between each chunk. If you leave just one or two, due to Unity's way of importing your animations (I think Unity doesn't just import animations "as-is" but does some compression/interpolation on them as well) you'll have one animation "leaking" into the other. Example: You have a 40 frames walk animation and a 30 frames death animation. If, in Blender you make them at frames 1-40 and then 41-71, when you go in Unity and you tell it to split your animation into to, one from 1-40 and another one from 41 to 71, when you play your first animation, you'll notice that the walk end with the first frames of the second (death) animation. If, instead you make your animations in Blender at 1-40 and then 55-85, you'll be fine importing them in Unity.

Now export mesh and bones from Blender (make sure to have them all checked), preferably in fbx format. .blend file should work as well, but I honestly never tried it for animations. Then import your fbx into Unity, tell it you have x animations, and set the proper start and end frames for each one. Then you have the "Animation" view (I hope I'm not mistaking on the name, it's the one you access from the "Window" menu) where you can select each animation and hit play to see it run. You can then also chose to loop it, ping-pong loop it etc.

That's how I've done it, and I managed to create a biped which walks, shoots, etc, separate the animations, all worked fine. Hope it helps.

share|improve this answer
    
Yes! That fixed the rigging! But... Unity3d still won't let me preview animations using this character, and trying to animate her using animations from link leads to a very strange yoga session. :/ –  Sparkz63 Jan 24 '13 at 11:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.