I wanna make a material or animation that can do something similar to this video on multiple different points on a surface. But with different speeds and distortions.


enter image description here

At first I tried selecting an area of faces, create a vertex group, select a wider area of faces, create a new vertex group and repeat that a few times. Then I tried to plug in the vertex group into the vertex group field of the wireframe modifer and animate it. With all the vertex groups animated together, I was hoping to get a pulsating effect. But when I keyframe a new vertex group, the last one always gets overwritten for some reason.

I also tried to see if I could do something with the mapping node in the video below, but can't get anything that I'm imagining. https://youtu.be/5_4lNC0JXW4

Can anyone help with this?

  • $\begingroup$ what do you mean by distoritions? i just see change of lights in there...? $\endgroup$ – Chris Apr 12 at 6:53
  • $\begingroup$ Dynamic Paint type Waves should work for you ... To get idea at 7:20 youtu.be/rsy0mtIOb8A $\endgroup$ – vklidu Apr 12 at 7:12
  • $\begingroup$ You may want to take a look on the Commotion blender add-on. It allows you to offset keyframes which may be the thing you look for. https://www.youtube.com/watch?v=mCirN-WGZV8 $\endgroup$ – mqbaka mqbaka Apr 12 at 7:40
  • $\begingroup$ @vklidu I don't need the surface to ripple. I want a effect that looks like the circumferance of light on a surface is expanding $\endgroup$ – Martin Marino Apr 12 at 7:41
  • $\begingroup$ "...on multiple different points on surface." Any reference? Do they will overlaps or completely separated? Also your reference use circular pattern, that means in multiple places - multiple separated circular patterns ... or do you expect one rectangular grid surface with just circular light appearance? $\endgroup$ – vklidu Apr 12 at 8:48

You could create a row of icospheres (or simply circles), with an Array modifier on X, then a second Array on Y:

enter image description here

Give it a Simple Deform, choose the Bend option on the Z axis, with a little less than 360°:

enter image description here

Adjust the Array count on X so that the circles don't overlap and you have the hole you want:

enter image description here

As pointed out by Robin Betts, if you want to avoid the stretching of the circles you can also try with 2 Array with Object Offset, use empties as objects, move, rotate and scale them, except the gap between the circles is decreasing towards the center, unlike your picture. First Array with Object Offset, to duplicate and scale down the circles on Y:

enter image description here

Second Array with Object Offset, to move the circles on X and rotate them:

enter image description here

Apply the modifiers, Unwrap > Project from View, then give your object a Gradient (Spherical) node before a Wave Texture and a ColorRamp. Tweak the Mapping location values in order to center the circles:

enter image description here

Change the Wave Offset value in order to make the light move:

enter image description here

  • $\begingroup$ and the master strikes back again....! Great answer as usual. $\endgroup$ – Chris Apr 12 at 8:38
  • $\begingroup$ I'm not completely satisafied actually ;) I hope someone will find a better solution, I would prefer to use a Spherical Gradient but I didn't find the way to animate it properly, I hope you will $\endgroup$ – moonboots Apr 12 at 8:40
  • $\begingroup$ i was not even close of thinking about such idea like you had. For me you are a Blender genius! And that you are modest too makes u just even more sympathetic! $\endgroup$ – Chris Apr 12 at 8:43
  • 1
    $\begingroup$ I'm not sure what's happening, but I don't know why your second array is on 2 axis, it should be one axis as the first one, and for the Simple Deform maybe set a bit less than 360° $\endgroup$ – moonboots Apr 12 at 20:17
  • 1
    $\begingroup$ @moonboots this is easier to understand now. I think I got it. The final result of Robin Betts might be a little better, but your answer is much easier to implement, so I'm adding it as the preferred answer. Thanks! :) $\endgroup$ – Martin Marino Apr 15 at 2:25

A pure-shader option, for use on a simple plane, or any surface:

enter image description here

  • The top branch wraps the circumference into segments, using a Gradient > Radial node. The wrap is controlled by 'n Spokes' input.
  • The middle-ish branch wraps the radius into rings, by length from the object origin. The wrap is controlled by 'n Rings' input.
  • There are quite a few 'convenience' nodes in there, so the user doesn't have to fish around for tiny numbers, and to put 0 at the middle of each cell the plane is divided into, when the circumference-wrap and the radius-wrap are combined to give a per-cell X and Y.
  • The bottom branch splits the radius into color-bands, with an extra bit to dim the center to pure black, if you want to.

This sort of result:

enter image description here

I guess there's a limitation here.. the dots are not perfectly round. The 'Roundness' input fudges that. But they aren't round in your reference, either.

The effect is animated by keyframing the 'Phase' input.

  • $\begingroup$ WOOOOOOOOOW!!!! $\endgroup$ – Chris Apr 12 at 11:39
  • $\begingroup$ oh ok it's pure procedural ;) yes I was wondering how to make concentric circles that would keep their shape? $\endgroup$ – moonboots Apr 12 at 11:40
  • $\begingroup$ @moonboots That's an intriguing problem.. I think I have it, but ng.. too many nodes. You start, I think? with by letting each shading point know the center of its cell. $\endgroup$ – Robin Betts Apr 12 at 12:06
  • $\begingroup$ your node setup is too complicated for me, I was wondering how you would do it with a classical method (for the moment, like for yours, my circles get stretched towards the center) $\endgroup$ – moonboots Apr 12 at 12:09
  • $\begingroup$ @moonboots I would love to find a snappy way.. it's probably there to be found.. I'll keep trying. :D That's an advantage of your way. You could do that ok in geometry. $\endgroup$ – Robin Betts Apr 12 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.