Tutorial 67: Procedural Scrambled Text Template Setup

Another text tutorial, another setup, another way to approach a animation problem. This one is an interesting setup as it allows us to create a letter scramble, without overlapping shapes. Then put all the letters back together, machine-like, in correct order. Whole thing is driven by 4 keyframes, 6 if you include animation out.

Apply Distribution

First part of the setup is to scramble text. And it’s done with Apply Distribution behaviour. This behaviour allows us to apply Duplicator’s Distribution to a Text or a Shape with Meshes (SVG etc). And best part is that we are not only “cloning” a distribution style – it’s like using a mini-duplicator inside a Text layer.

Main benefit that I see from this approach is one less “layer” of complexity to deal with. Text > Custom Shape > Apply Distribution and we have a text scramble effect done. If we tried to do the same thing with a Duplicator instead, we would need to create a String Array to feed Duplicator individual meshes. Harder to update or change.

Just a heads up – this is an Experimental Feature at the moment, so you may have to enable “Show Experimental Features” in Settings. Otherwise it may not show up in Behaviour list.

Blend Sub-Mesh Positions

Second “heavy lifter” of this setup is Blend Sub-Mesh Positions. Logic goes as follows:

  • Scramble Text
  • Bring it back to Original Position

By using a Custom Shape, we have essentially 2x sets of the “mesh data” – individual meshes that make up words, lines, paragraphs. This way we can scramble the letters, and use Text layer to “bring them back into original position”. Whole thing is driven from the same Text layer, so it is super easy to update. This includes font and font size, alignment, line gaps and more.

String Length as a Seed Generator

When I make templates, I like them to have a different seed values. For example, if I’m doing a random text scramble, I want random position of each character. This way I can create 20x words, and each one of them will look slightly different. A little bit more chaotic. A little bit delayed than the previous one and so on.

This adds complexity to the design, interests, prevents looking “cheap” and it is more flexible. Using String Length as a Seed generator is a great solution to this problem. In the tutorial, I used multiple Random properties that accept Seed input. This helps me make a complex template with fewer layers or inputs needed to randomise each copy.

Next Steps

This tutorial was done with a Random Distribution in mind. You can easily change it to scramble whole words, or use different distribution, change keyframe easing, colours and more. It is really easy to make this template unique and robust at the same time.

Get Project File From Gumroad

This project file contains all the assets necessary to make animation in the tutorial in final form. Everything is labeled, linked, with expressions and ready to use, if you wish to make your own version or just play around with it.

If you have any suggestions for tutorials or how I can improve, please do get in touch. I would love to hear from you.

Found it helpful? Consider sharing it with others.

Other tutorials

2026-06-24T21:44:14+01:00
Go to Top