Is this rig set up correctly?

Hello there! I am extremely new to weight painting and I’d like to know if this rig is correct, and if so, how do I weight-paint it:



It’s supposed to be a sectional overhead door, the one with the soft material-kind. At best it should rotate at the squished parts, just like in the image:

Any help?

I also want specifically with bones so I could later animate it in a game-engine, not planning to do renders with this using physics

After a bit of retopology I changed the side faces so it’s not ngons:


But I still can’t figure out if it’s right

If it’s going to curl as it moves upwards, you might have a better time if the bones are pointing in the other direction. That way the rotation will let things bend in the direction of travel.

When it comes to actually adding controls, you could use bones that the deformation bone will point towards. A Locked Track constraint would let them target another bone, while only rotating on a single axis.

Alright I rotated the armature, but how would the weight painting on this mesh even look like?


Don’t weight paint. Parent to bones. Select a panel. Select a bone. Parent to bone, rinse, repeat.

1 Like

You probably want the head/tail point of the bones to align more directly with the joints between the panels. If they are separate objects, then you can parent them directly to the bones as @joseph says. But weight painting would also work fine, if it’s all one object.

1 Like

I was about to mention that the whole door is one single mesh, so that’s why I’m asking about weightpainting it. How would separated panels work? Would the mesh still deform so there’s no gap?

Either way, the things that are following the bones will follow them directly.
If the bone pivots are in the right place, then it should move without gaps.

Oh I didn’t notice the spheres weren’t centered after rotating the armature. I fixed it now:


So I just need to separate the panels (+ the squished part until the center) and then parent them to the bones right?
image
I’m trying to give as much visual detail as I can

Yep. That would do it.
Depending how the mesh parts are connected, you can go into edit mode and preas P, then pick By Loose Parts. Otherwise, you can select each part, and press P, then separate by Selection.

Alright I separated them all, how would I go with selecting each bone and parenting the panel to it?


There also seems to be 6 panels and only 5 bones… Should I add another one for the thinner panel?

You can go into Pose Mode on the armature, and select a bone.
Then go back into Object Mode. Select the panel, then Shift-Select the armature again. Press Ctrl-P to parent, and pick the Bone option.
Do that for each bone/panel combination.

For that last panel, you could parent it to the last bone, or give it a bone of it’s own, if you want to have independant control over hit.

Alright I added one more bone and manually parented each panel to their bone, it looks like this:


How would I go about checking if the rigging is done right?

In pose mode on the armature, you can rotate the bones on the axis that they should rotate on. Do the panels move along with them.

As you get to the bones at the bottom (vertically), the bones beneath them (in the bone heirachy) will also move. So, starting with the lowest bone, and moving upwards, test them one by one, and make sure that the panels are moving as you’d expect.

Thinking about it. As you said that you will want to export this for a game engine, you will probably need to weight paint the panels to follow the bones. Otherwise things will all need to be reparented properly in-engine.
It will simplfy things when you import it into an engine if you have it all in a single mesh, with weights to link it to the bones

Alright, the rig seems to be set up correctly, but here’s the deform issue I mentioned a bit earlier:


Gap

That’s not technically a gap. With the panels being separate meshes, the ends of them are empty, and don’t have a face on them. You can add a face to seal them up in edit mode.

However, as I mentoned in an edit to my previous post. You may be better off having a single weight-painted mesh, if you plan to import it into a game engine. That would also help here. You can assign 100% weight to the main panel verts for each bone, and 50% weight to the bones on either side, for the verts where the panels join.

To join it all back together, reset the rotations on the armature, so it all lines back up. Then select all the panel parts, and press Ctrl-J. Then in edit mode, you’ll need to merge the verts back together on the joins. Press M, and pick By Distance. Use a very small value for the distance.

Seems like it’s doing just great! Thank you for the help!

1 Like