Color flow

Hello there!

I stumbled upon this kind of art and i was wondering how could it be made in Blender.
I’m also interested about how to model the thing but most important, the material(s)…

This style is also nice:

I hope there is a solution!

Thanks !

P.S. I use 2.79 but it’s ok if the solution is for 2.8x as well.

I’ve tried this with this using 2.91and Eevee, but I think it should be possible in 2.79 wit Cycles, as well. It’s mostly simple base geometry and some modifiers. One thing to make the color pop is to set the View Transform in the Color Management to Simple instead of Filmic but I think that’s the default in 2.79 anyway.

Here’s the file in case you wanna take a closer look:
abstract_effects.blend (1.1 MB)

Blue Waves


  • Start with a simple plane
  • Subdivide it using the simple method. This will create some geometry for the displacement.
  • Add a Displacement Modifier and displace the Plane with a Cloud texture.
  • Add another Subdivision modifier to smooth the result
  • Play with the size of the texture as well as the strength of the displacement until you get something that you like.
  • The shading s done using a stretched Noise texture to create the strands and a second Noise texture to add in more value variation. Using the different color channels of a noise texture gives you slightly different noise patterns to add more variation without introducing the overhead of more noise textures.
  • Regarding 2.79 compatibility: The Map Range node Multiply, Add mode of the Math node aren’t available in 2.79. You can use RGB Curves instead of Map Range. Multiply, Add can be replaced by two math nodes: one set to Multiply and another set to Add.

Close up of the shader:



  • Start with a plane and a bezier curve
  • Array the plane to fit the length of the curve
  • By subdividing it and adding the displacement with the blend texture it creates a curved profile. (It might be easier to just use a curve as a bevel object instead of setting all this up with a mesh, but I forgot about that when I was doing this.)
  • Model the curve to make it swirly. Use the Radius tool to create the tips and the Tilt tool bend it around its own axis.
  • The Shader is based on two noise textures. One to create the strands and one to create color variation. I’m not happy with it but its the best I could manage.

Rainbow Noodle


  • Start with a plane.

  • Use an Array modifier set to Object Offset and an empty to create a radial array. Make sure you offset the plane in Edit mode that the origin of the plane is on one of its corners and the the radial array is centered around the origin. I used a rotation of 15° to create 24 flaps.

  • Make sure to offset the V coordinates of the UV in the array modifier. We’ll use that to give the flaps different colors.

  • Add another Array modifier to the plane with the Fit Type Fit Curve. Offset the U coordinates of the UV. (We won’t use it here, but it could come in handy in case you wanna create color variation along the length of the noodle)

  • Add a Curve modifier.

  • Now create a Bezier curve and set it as Object to follow in the second array modifier and the Curve modifier.

  • Model the curve to look nice and wavy from the camera. Increase the curves Resolution in case the result looks to blocky (I used a resolution of 100)

  • The shader uses some math nodes to take advantage of the offset V coordinates to give each band a different shade of grey that is then mapped to a color using the color ramp. (The Substract, Absolute and Divide nodes make sure the color is mirrored like in your imag, but you could also map an entire rainbow around the Noodle)

  • The lower part of the shader makes the inside darker like in your reference image because I’m using an emission shader.

  • The backdrop is just a plane with a simple noise and a color ramp.


@lone_noel Wow, that’s it!

It works in 2.83, now i must figure it out in 2.79 as well (or learn 2.8 quicker).

Thank you very much for taking the time to show and explain !

1 Like