Crazy deformation when trying to rig a robotic character

Using Blender 2.76b on Linux Mint 18.3 Cinnamon 64-bit.

Hello! I’m new here, and I’ve been using Blender for a month or two. This project is a bit of a mess.
The character is supposed to be a robotic endoskeleton, and I tried rigging it appropriately. Unfortunately, when posed, it did this:


I unchecked the deform boxes on all of the bones, but as I expected, the mesh was completely unaffected by the armature as a result.
I toggled “Manipulate Center Points,” but that seemed to do nothing.
Here’s my blender file if you guys want to take a crack at it.
Google Drive Link

I haven’t rigged a model in a good while, so I’m probably doing something really obvious :sweat_smile:
If anyone can give me some advice as to what I’m doing wrong, that would be greatly appreciated. Cheers!

It’s just that your weights don’t make any kind of sense.

First: re-enable deform on your bones. Next: turn manipulate center points back off.

Now pose your arm and enter weight paint mode. ‘v’ to change to vertex mode. Select a vert. Open the properties shelf (n key) and look for the Vertex Weights section. Take a note of what you see. Compare the weights for something that deformed roughly correctly with something that didn’t seem to deform at all, or that deformed improperly.

When I do that, I see that the parts that aren’t deforming right aren’t even weighted to the arm-- they’re weighted to the head. So when the arm rotates, those verts aren’t going to move at all. But when the head rotates, they’ll move even though they shouldn’t.

It looks like you’ve been doing some kind of manual weight painting (because the weights are unnormalized.) A model like this, composed of disconnected meshes, doesn’t do well with autoweights, so doing it manually is the right move.

In this case, the mesh itself is a bit of a mess. For example, the forearm extends all the way to the shoulder, without any cuts, and the upper part of the forearm is separated from the lower part. You’ll need to do some mesh fixup before getting proper weights.

But here’s how I’d handle weighting this model, once the mesh was all fixed up. I’d do it in edit mode. I would select a vert, select linked, and assign all selected to a particular vertex group (at weight 1.0) in properties/data/vertex groups. Then repeat. Mechanical models like this don’t usually need smooth deformation, they need “chunked” deformation, so smooth weight painting isn’t really appropriate for them.

1 Like

Oh YES I agree with @bandages the mesh is just not going to work…you have split areas on the forearm as well as the left leg… There are holes and misaligned geometry all over. I would Honestly start from scratch. The mesh is not complicated at all… but make sure this time you mirror correctly…like the head, front vertices are not vertical and bend to the side… teeth?.. ok if you want them floating.