I'm currently using geometry nodes to create a string as a set of meshes successfully in Blender 3.3.1. I can use Scale Instances to scale the letters, which works fine, and I can tie that scaling to the current frame of the whole work so that the letters start scaling from 0 to 1 at a frame I designate.

However, what I'd like to do is scale the letters separately, so the first letter starts scaling from 0 to 1 on frame 50 (say) and reaches full size at frame 55, while the second letter starts scaling on frame 52 (say) and reaches full size at frame 57, the third from frame 54 to 59, and so on.

How might I go about this? I tried using the Index node to add to the "start frame" to make each letter scale independently (so each letter starts scaling on frame "start_frame + index") but couldn't get it to work.

Scale each instance by index seems a relevant question, but it's using points rather than String to Curves, and I don't understand how it works.


1 Answer 1


I would solve this as follows:

enter image description here enter image description here

By subtracting the value for the start frame from the current frame, I get a nice initial value for a mapping.

Since the individual letters are independent instances, I then use the index of these instances for the mapping as From Min and From Max.

This makes it easy to control start time, time interval between letters, and scaling duration.

(Blender 3.2+)

  • $\begingroup$ that's really neat. I wouldn't have thought of that way at all! Thank you! $\endgroup$
    – sil
    Oct 21, 2022 at 7:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .