← All ideas

Geometry Nodes: Instance timing offsets

IDEA: A node, or perhaps a section on the 'Instance on Points' node, giving the ability to randomise/offset/loop/freezeframe the animation of instances. Used in particle systems where each instance needs animation control, offset or randomisation to avoid the entire system running identical frames.

LIMITATIONS OF CURRENT WORKAROUND: Shown in the video below, my current method to offset instance animation in a Geometry Nodes system means making many duplicates of the object, then offset each using the Time Offset modifier, put them all in a Collection to instance on points.

While duplication achieves a specific goal, it offers very limited control and quickly gets unwieldy, especially with multiple sprites of various durations, or longer sprite animation (e.g. 60 frames of animation requires 60 copies, each offset by 1 frame). The file size blows out and any changes to sprite animation need to be done in every copy.

Note: in the above case I'm using a proxy system so they're not real copies, and any changes I make in the original are reflected in the proxies, so the file size is tiny. Below is my proxy generator. GP_leaf3 is 31 frames long and with Step set to 2 , it generated 16 proxies and incrementally applied the TimeOffset to each.

Screenshot 2025-06-11 192852.png

WHY THO? This idea on Right-Click Select goes back 4 years, so I thought I would elaborate and include a demo of my current tedious workaround. An InstanceTimeOffset node would enhance the versatility and quality of 3D particles, and open up a world of powerful Grease Pencil simulations.

100%

Development Status: Open

Upvote 9 Downvote 0
Bitey
11 Jun 2025

1 Comment

jakey1947

I'd love this, I can see it being super handy for crowds. instance the people and have them moving on their own paths, then just offset their walk cycles time so they're not marching in sync

I'd prefer it as a node rather than a section within the instance on nodes as it maybe could also be used to offset scene time as an attribute. also the instance on X nodes are already pretty fat

2