How to rigg a folding piece of paper?

Hi,

I’m trying to setup a rigg to fold a piece of paper in a certain way. It should
be fairly easy and also my Blender skills are pretty good, my rigging skills are not.

Here is what I want to achieve:
I have arranged four planes next to each other and want the outer two planes to
push inwards and thereby fold the inner to pieces against each other. When it’s completely
open you have all four planes next to each other when it’s closed you can only see the
outer two. Important note: the outer two planes that do the pushing should always stay on
the same level (height/z)
I tried to experiment with drivers and constrains, the closet thing I got was with the “stretch to”
constraint, but I want all four planes to keep their original length all the time.
In the attached file I used the “stretch” on one side and the “track to” constrain on the other
side just to illustrate the problem.
I highly appreciate any kind of help, thanks.

Attachments

rig_test.blend (727 KB)

I wouldn’t bother with using ‘stretch’ and ‘track to’. I think you’re just over-thinking the problem. It sounds like a fairly simple thing to do.

No bones should have to stretch, since paper doesn’t usually stretch.

4 sheets in a line = 4 bones in a chain.

The outer bones should control the movement of the inner bones that will move the inner sheets. Constrain the bones so that they can only move in the desired directions.

I’d just use an IK constraint to accomplish this, see attached file.

I repositioned your control bone so it is where the two center bones meet. Put an IK constraint on the right center bone and set it’s chain length to be 3. Then I added in one more bone on the very right side and made it a parent of the right most bone you had. The real magic to how this works can be found in the bones properties, under the Inverse Kinematics panel (closed by default). This is where you can fine tune the IK constraint on a bone by bone basis.

For the center most bone, I didn’t make any changes. One the next bone to the right, I locked this bone’s rotation. Now this bone can’t rotate at all. On the right most bone, the one I added in, I locked the rotations and enabled scale, setting it to 1. Now, when the control bone is moved down, the first bone in the chain rotates, the second bone doesn’t, and the third bone stretches to allow the first two bones to move.

Simple and no messing around with drivers.

Randy

Attachments

rig_test.blend (646 KB)

Thanks for your quick reply. That’s what I first thought and tried but couldn’t really get to work, maybe I
try once more, but revolt_randy has already given me a very good solution.

Awesome, seems to work very good. I will try to set up the other side in the same way.

Let’s say I would like to bring this system to the next level and have a row of more planes (8 for example) next to each other which
can be folded at every seam (intersection). Do you have an idea how to accomplish this?

Not exactly sure what you mean. I think you mean like a folded paper doll chain, like the lower right image found here: http://www.auntannie.com/FridayFun/DollChain/HowToFoldPaperDollChainsLg.gif

Is that what you had in mind? Also, what kind of animation do you want? Do you want all the folds to happen at the same time, or do you want the first set of pages to fold, then the second set, then the third? I also would like to know what this will be used for…

You see, I actually was just helping someone else with a similar problem a week ago. I got to thinking about it a bit, and in their case, minimal amount of rigging work and some animation work would have been less work that a full 100% rigging job would be.

Randy