
MiikaHweb Blog -> Archive
iWave foam generation
Feb-17-2011
11 Comments
Lately I have been tweaking and testing iWave simulator to achieve more realistic results. Sadly it seems like the more tests I do, more strange behavior I encounter. :)
But realistic or not. Results are at least very interesting, allowing yet another new way for Blender objects to interact. So of course I will finish this project and improve it as much as possible. One new thing is foam generation. When enabled, it automatically generates foam on wave highpoints and is very good for boat wake/trail foam.
Notice a "bug" how those small waves are moving in the wrong direction in the beginning. Let's consider it as engine turbulence. ;)
Basic water movement (ambient waves) are generated using Blender's new Ocean Simulator modifier, boat wakes using iWave.
Because adding new 2D-simulators to Dynamic Paint is quite easy it's likely that I will implement an alternative more accurate wave simulator sometime in the future.
Edit: An alternative wave algorithm (not iwave :x), has been added to Dynamic Paint instead.
Category:Blender, Development
Tags: Blender, Dynamic Paint, Waves
Feb-17-2011 19:24
Feb-17-2011 20:46




Feb-17-2011 20:48
Looking forward to seeing the results after you've tweaked it more. For me the most important elements are the bow wake from the front of the ship, the side wave displacement and then the Kelvin wake from the back of the ship. The foam effect is coming along nicely as well, keep up the good work!
Cheers,
Todd
Feb-17-2011 22:31
Feb-18-2011 00:18
ZanQdo and me noticed the same effect with the "reverse" waves when we made a proof-of-concept implementation in Python btw. We didn't put a lot of time in fixing this and i don't really know what causes it, but maybe it's related to the convolution kernel size? Could be some kind of weird aliasing at certain kernel size/wavelength ratios (pure speculation).
Another problem you may notice is that obstacles have to be larger than the kernel size, otherwise you will get "tunneling" effects, but that's part of the deal.
How do you handle boundary conditions? When we did this on a small scale grid (due to limited performance in py), i wasn't really able to avoid reflection of waves on the grid boundaries. With larger grids this may not be so much of a problem when waves fade out enough.
Anyway, awesome work so far, keep it up :D
Feb-18-2011 00:44




talk to ya later!
Feb-19-2011 10:25
Feb-19-2011 14:09
In case of the reverse waves, i think its not a problem with the code, more scale issue. A real boat with its own speed and weight/boundaries makes different tunnels in the water. Maybe the waves are doing it right with "this" settings and are falling back into this tunnel that cause this effect. It would be cool if you can make a much longer preview with more turns and random speeds to learn more about the behavior of the waves according to the world size.
In some real boat videos, it looks like there are two different waves. First wave comes from the boat itself and makes the "outer" waves. In your video you can see them after the turn. Then, there´s the second one, caused from the boat propellers. They are much smaller, more random and noisy.
little boat:
http://www.youtube.com/watch?v=nBeNaskXnqY&feature=related
BIG BOAT:
http://www.youtube.com/watch?v=aKZf8vMsmTQ
greetings
Alex
Feb-24-2011 21:21




your developments are great.. what an evolution since the first version !
The "reverse waves" can also come from an optical illusion, like when the wheels of a car seem to roll in reverse when filmed.
Cheers !
May-20-2011 16:27
May-20-2011 16:29
http://www.youtube.com/watch?v=8vdvsncwaig
Sorry, i've made a mistake in surname Tessendorf, double "s".

