enter image description here

This animation shows up at 13 seconds in this video.

I would like to do something similar but I'm not exactly sure how it was done in the first place. If it's possible to do this in Blender I'd be curious how. Hair?

Ideally, I'd also want to do it procedurally because I want to be able to control the position of the individual lines and where they go, or what color they have at different points.

For example, while I'd like to replicate the above animation in Blender, I also want to learn how to do the same effect but with a drawing that looks more like this:

enter image description here

Although this drawing is a very rough and poor approximation of what I actually want. I want the 'strands' to be a little bit less aligned, and to be as though they're coming in from different angles or points, and 'magically' aligning on one strand in the middle, and some to depart from the center at different points.

And they're all distributed in 3D on all axes like so (just more dense and thinner):

enter image description here

Imagine they're all 'pulled' towards the central strand as though by gravity, and that some are pulled strongly towards the center (specifically a central region in the central strand, not the whole strand), others are not.

It would be great to have a parameter that controls the gravitational strength of that strand.

I think even better would be to be able to control the degree to which all other strands are pulled by the central strand, say a texture that is random or something. In other words something more like this:

enter image description here Yet not as messy somehow...

As well as a parameter to control the distribution of a material across all strands to get a similar color-shifting effect like the animation.

But I'm just stating my end goal here, no need to actually help me with the end goal, even just knowing how to replicate the above animation will suffice!

  • $\begingroup$ The end goal sounds totally different from how I would attempt replicating the above animation: grease pencil and friends. Read that section of the Docs, I believe there’s a form of ghosting that can appear in the final render. $\endgroup$
    – TheLabCat
    Aug 14, 2021 at 3:11
  • $\begingroup$ Thank you so much! I think learning how to recreate the animation will give me enough hints as to how I might be able to translate that to my goal but I could be wrong. $\endgroup$
    – Hmm
    Aug 14, 2021 at 5:29

1 Answer 1


It looks like they used a particle system, and then traced those particles.

A simpler approach which would give similar results is possible with Geometry Nodes + procedural shading, if you're willing to use the Blender 3.0-alpha release.

final result

make snek

first we make individual spiral strand

for this we use Spiral node:

transform him -1 X up, because is important that pivot point is same as start point (for later, you will see)

animate him

we want him to grow, so use curve trim node

animate the End value with keyframe


convert him to mesh

later we want to use him as particle instance

i find that if you try to instance a curve, Blender become upset and crash (is still alpha so i forgive him)

so we need to convert him to mesh

use very smol curve circle as profil curv

also assign a material

convert to geometry

more snek!

one snek is good, but many snek is better

for this, create new object

make sure geometry is smol, becaus this is where all the snek start growing

and we want them to start "pretty much at same place"

Point Distribute on the smol geometry to make many many point

then instance the snek you made - and you already have some similar thing!

many snek

rotate them

if you look at reference, some hair follow a different path

we can random rotate some of our snek so that they follow different path too:

random rotations

distort them (optional i guess)

if you want even more variety, you can distort him a bit using a texture

i use something like this setup:

sample a texture (color noise with large scale), remap by subtracting 0.5 (original values are 0-1, we want -0.5 to 0.5), then scale (becus original will be too much distortion), and add distortion to position


have fun with distortion

if you were gud reader and followed the previous step even tho it was optional, now you can have fun with distortion

bring scale node up wheeeeeeeeee



ok back to work now

paint him

is time to get crayons and color him in

(im using Eevee renderer because he is faster)

use Radial Gradient texture to make the radial gradient

map him to the right colors with color ramp

then feed him into a shader node - Emission

material setup

(if you adjust opacity, don't forget to set Blend Mode: Alpha Blend in material settings)


tada is working

  • 1
    $\begingroup$ Beautiful work Reinis! Thanks so so much. Cannot express my gratitude for the amount of work you put into your answers. $\endgroup$
    – Hmm
    Sep 1, 2021 at 22:43

You must log in to answer this question.

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