Home Website Youtube GitHub

Rigging a scroll for a game engine

Hi, I wonder if someone could give some insights on the best technique to create a rigged scroll item for a game engine that can be extended and retracted - see the video bellow for reference - using mGear components and with a data centric rigging process in mind, preferably.

if someone could share a rig/asset that I can use as reference that would be great too. (like a gumrod rig, or personal project)

I can think of two ways I might approach this.

  1. There is a trick you can you use with lattices. If you scale some segments to zero, and set the FFD to “All”, you can make a lattice that “eats” geometry as you move it through it. You could set this up before the bending deformation as a way to fake scroll it away.

And to be game-engine friendly, you could add this effect to a ribbon IK, which carries some follicles and bones, which then deforms a polygon asset. The lattice would just scale the ribbon, and you could bake down the bone results.

scroll_retract

  1. And I think this would be an easier approach, where the ribbon always stays extended, so it is intuitive and easy to animate:

Again, using follicles, you could set up a driven key (or whatever) that animates some follicles sliding along the surface, scaling it to zero. The ribbon IK itself wouldn’t scale at all, but the geometry would slide along it. Again, bake out the joints, and it is game-engine ready.

In this gif, it looks like it is scaling instead of sliding, but I think that is because I had some distortion on my nurbs plane.
scroll_scale2

(Edit: Nope, it’s just the way I set keys on the follicles. They have to be animated with the same keyframe slope, then they slide.)
scroll_scale3

5 Likes

And then, you could also constrain your character’s hands to the first and last follicle in that chain, so the hands animate smoothly along that arc.

You’ll also want to be able to slide in the opposite direction. I’ll show you one more gif to show one more idea. For this, you’ll need two inputs driving the follicle. In my first gif, you just animate the keys like this:

In the opposite direction, you would animate follicle 0 at a constant slope, and when it reaches 1, 0 and 1 continue. When they reach 2, all three continue.

And the effect (on a cylinder from another project) would look like so you can go in either direction:
sweeping_effect

And here I just quickly faked it with keyframes just to show what I mean:
scroll_scale4

8 Likes

Sorry for the delay on the reply!

Thank for sending all this over, this looks liek exactly what I need (the option 2) and I’ve been trying to replicate it but I just can’t understand what you mean by “Follicles”, do you mean from the Maya hair system ? or are they just normal bones? are you using any mGear components for this?

Would be awesome if you could send me the maya file you used to create the examples in the gifs.
Then I would just have a look at it and replicate it

Yes follicles from the hair system.

You can create a single follicle without the hair system, and use it to pin objects directly to the UV space of a nurbs surface. And animate the UV parameters. This pinning technique is used enormously in rigging to make Ribbon IK and other surface sliding/following effects.

But I don’t use “follicles” anymore. You can set them up with other nodes. I wrote a blog post and included a script. (And Maya 2020 has some new UV pin nodes that are even better and faster. But I don’t use 2020 yet.)

I can’t send you the file. I didn’t even bother saving it. But I’m planning a blog post about this scroll idea, and “follicle” sliding in the near future.

3 Likes

Thanks @chrislesage! I’ll have a look at your blogpost and look forward for your new post :smiley: