Wow, rigging a book turned out to be waaay harder than what I initially tought, by far the most challenging rig I’ve done to date. The most logical approach to rigging a book would probably be some sort of procedural setup where you have one box on each side, each box textured to represent a bulk of pages, thus being able to control all of the pages on each side just by deforming these two boxes. I thought it would be cooler to have control over every single page though 😛
What made this rig challenging is that each page has to deform differently, the first page will for example have a sharp bend if turned in one direction, but in the other direction it has to gradually increase the bend-area to compensate for the width of the other pages. Even though you get the basic page turning to work, you will still have to deal with the fact that each page is different when applying any other deformation to the pages. I’m calculating the factor of each page based on where it is in the stack, this data is used as a factor for all of the deformation on each page to “normalize” them.
Another challenge is that when you have so many pages, you have figure out a way to make it animation friendly. You have to be able to control a lot of pages at the same time, but you can’t define macros for a specific set of pages as the animator may want to have pagebreaks within a specified set of pages. It’s hard to figure out a way to let the animator control all of the pages at the same time, while still having the possibility to have pagebreaks anywhere (without running into a world of cycle errors). I’m using different techniques similar to the ones in the procedural ribbon to get this to work.
As usual, everything’s done with native Maya nodes.
Note: I was searching a lot for different book rigs before starting this project, without much luck. But a user named ignasi in the comment section mentioned a tutorial by David Moore which could be worth checking out. It’s a totally different setup, but it’s really cool 🙂
22,549 total views, no views today