# How to create concentric circle ripples in an upright emissions image plane, in cycles?

I would like to create a concentric circle ripple effect in an upright emissions image plane. I have already tried a haphazard method using an invisible torus and sphere, and making the image plane a pinned cloth, which has created a modest ripple. I have a screencast video of this but I am currently not sure how to imbed the video in this question, and the ripple really is not even noticeable in a still image:

Here is the setup:

There is a torus that becomes larger, and then a sphere is sent through the image which has a cloth modifier.

I was unable to figure out how to use displace modifier, wave modifier, or fluid to achieve a good effect. But i am sure there is a better way to do this, possibly using nodes.

I would prefer if the edges stayed within the original confines of the image, but this is not 100% critical.

The ripple could be 3D or 2D (some kind of image disruption using nodes, or maybe something I know nothing about yet!). I am interested in any possible solution!!! The more I can learn, the better.

EDIT:

The difficulty here is making the ripple visible on an emissions image plane, from the front. The 3D ripple would have to be at an outward angle to obscure the image as the wave expands, or it would have to stretch the image visibly as it moves outward...and be visible from the front! Right now the wave modifier is not visible from the front even at its most extreme, but perhaps there is a way to make that work, and I am not aware of it yet!

Thank you!

• If your displacement is perpendicular to the projection plane, it will be VERY subtle. You might have to include some displacement along the projection plane. I'm imagining a python program that creates a plane subdivided by radial coordinates and then animates the rings with bones or shape keys. Mostly because I have a lot of experience with python. Commented May 14, 2016 at 13:13

One technique is to completely ignore geometry and instead distort the texture according to the formula

r = sqrt(x**2+y**2)
wiggle = (r+ amplitude*cos(r*frequency + phase) ) / r
x' = x * wiggle
y' = y * wiggle


which seems like ripples. You will want to animate the phase (give it some keyframes in your texture node tree), then adjust the amplitude and frequency to fine tune the effect.

I have uploaded an example of the technique. Unfortunately the simplest math turns into spaghetti when you translate it to nodes. Also, there is a defect in blender's logic that mangles UV coordinates when you split them up and recombine them ( grouping texture nodes changes the coordinate space ) meaning there's a little extra logic to unmangle them.

(edit:) To adapt the example .blend file for something other than the checker test pattern: replace the connection from the checker texture to the "At" node with a connection from the Texture node (left and above the checker node) to the "At" node. The example .blend file has a "bear" texture that points at an image you certainly don't have, but you can go into the texture properties and modify the bear texture to use whatever image you want. If you eventually get the example blend animating in a way that is suitable you can File/Append this material to your original project and use it.

(edit2:) the .blend file now includes a cycles node tree implementing the math.

• Thank you @MutantBob ! I apologize, I do not know how to use this... I downloaded the file, and there are red/white checkered boxes and I am not sure what to do. I have no experience with code at all. Can you elaborate, or am I missing something obvious? Thank you for your help, I would like to try the technique you have suggested. Commented May 17, 2016 at 0:34
• I was wondering about using nodes, combining a PNG image of a ring, then somehow using that data to distort the main image, then using the mapping node to animate the ring-shaped image displacement. It would be better to use code, however, it just seems so far removed from my current knowledge base. Commented May 17, 2016 at 0:37
• Thank you for the edit! It does not seem to work in cycles however. Is there a way to use this in cycles render? Commented May 18, 2016 at 0:27
• Yes, you'd use identical math upon the coordinates feeding into an image texture node. blender.stackexchange.com/questions/52779/… has some screenshots of a cycles material that modifies texture coordinates (although its adjustments are much simpler) Commented May 18, 2016 at 0:50
• There is a new .blend file to download which includes a cycles node tree. Commented May 18, 2016 at 15:56

Have your tried the Wave Modifier? Play the animation afterwards to see the effect

• Your plane must be sufficiently subdivided for the effect to be visible, there has to be enough geometry for the modifier to bend. Also make sure you apply the scale to your object, otherwise the effect might be larger than the plane and stay out of bounds. Set the wave parameters and size accordingly. Commented May 14, 2016 at 3:42
• Sorry I deleted my question before i saw your comment! I remember why this did not work for my purposes...it is not visible on the emissions plane from the front view. It would work if I could make the ripples more extreme, angled over, so as to obscure part of the image as they expanded, or if they stretched the image instead of just moving smoothly over the surface. Is there a way to do that? Commented May 14, 2016 at 3:48
• No, I don't think so. Perhaps do it in the texture or color of the emission instead, if your objective is to affect the image itself. Either affect the UVs or the very color of the material/intensity of the emission Commented May 14, 2016 at 5:05