2
$\begingroup$

Newbie here. This is my first time on 3D modeling, rigging, and Blender. I followed an old tutorial on how to make a simple mech and make it move. Because of it being old and lots of things already changed on v2.7, I resolved on following other tutorials.

So this is what's happening - the whole mech/mesh is just only one entity, I joined multiple parts of it using the shortcut CtrlJ before I added armature. Then used CtrlP > Armature Deform with Automatic Weights.

On Pose Mode, few bones works properly, but most are not. Based on the image I attached below, some parts were left out or others are getting stuck/stretched.

My test model mech

$\endgroup$
4
$\begingroup$

The automatic weights calculation takes normals into consideration. Since you joined multiple meshes together, typically the normals become inconsistent.

What you need to do is go into edit mode, hit Mesh - Normals - Recalculate Outside. Then unparent the mesh (Alt+p), remove the armature modifier, and do it again (select mesh, select armature, Ctrl+P with automatic weights).

Also another method is leave all meshes separate, and parent each piece to a bone (select mesh, select bone in pose mode, ctrl+p and select bone), which is good for mechanical type armature deform. The downside to this is I find this method VERY slow in game engine if you are using that.

|improve this answer|||||
$\endgroup$
  • $\begingroup$ I tried the first method but the result is still the same. The second one might be a good choice but it may become a performance issue on the game I'm trying to develop. Anyway, instead of joining them, is it fine if I attach each part as parent-child? $\endgroup$ – eSPiYa Sep 4 '14 at 2:39
  • 1
    $\begingroup$ The best method for you, doing game engine style, is to join all as 1 mesh. Then do the assign with empty vertex groups option. Next you manually assign vertices to the vertex groups (Use the "L" key to selected linked mesh parts, and assign them 1.0 weight to one of each of the vertex groups / bones (the vertex group has the same name as the bone) $\endgroup$ – beiller Sep 5 '14 at 13:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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