Jump to content

linear ripple/wave decay

Recommended Posts

Hi all,


I've been trying to figure out how to create a linear ripple effect (i.e. rather than have a single point as the source, I'd like to source it from a line/selected edge/group of points, so that it travels across a surface like a wave.)


Now, of course, at a basic level the 'waveform' SOP node performs this exact operation - *However* it can only generate a single wave at a time, and it lacks the signature 'decay' of the ripple over time.


I had the idea of using the wave operation in CHOPS using a sine wave with decay on it, however any changes to the amplitude are applied across the whole waveform, rather than 'at birth'. So it doesn't create a dying wave, it just scales down the whole waveform. (see image).


Any ideas on how to achieve this?


(just as an FYI, eventually I'd like to control the decay length with an animatable paramater & creation/scale of the ripple from CHOPS with a trigger.)



It seems like it should be super easy - Maybe I'm just having a bit of a mental block! :/


Any mind jogging greatly appreciated!


Link to comment
Share on other sites

Hi Juraj,


Thanks - Of course I have looked at the ripple tools, but I can't find a way to give any ripple a 'linear' source, it will always source from a single point coordinate.


For example, I'd like to select all the points along 1 edge of a grid, and have them all be the source.


Do you know of any way to accomplish this? :)


As I mentioned, the waveform SOP is essentially the form I want, however it doesn't have the decay functionality.



Link to comment
Share on other sites

Hi Juraj,


Thanks for the scene file - It explained your suggestion perfectly! :)


I think it would be nicer to do this in VOPS or SOPS, however I am now getting a nice effect (which isn't too slow) with the DOPs setup.


Thanks again for the help! (As you can probably tell, I am the definition of 'Peon'! ha)

Link to comment
Share on other sites

Oh cool, thanks Matt!


Ok, so as far as I understand from your file/wrange:


You define 'speed' as global time multiplied by a variable that you just define within that same wrangle.


And then edit parameter interface to make a slider for it?


Didn't realise you could do that - My hscript/VEX knowledge is pretty non existent.


(Just as some context: My bg is in fine art, I just picked up Houdini for the first time about 6 months ago & am only just getting into it fully. Awesome tool!)


Thanks again for taking the time to make that example - Really appreciate it! :)

Link to comment
Share on other sites

  • 8 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...