vfxTag Archive -

First refactoring

I’ve completely reworked my setup. Its now building a mesh by lofting my control curves together into a stable mesh. So the wave is no longer ‘moving’ through a grid mesh.
This means that I’ll have to create the effect of the wave slipping under the water surface by manipulating UV cordinates and such when rendering.
It however does provide a nice and stable mesh which makes it much easier to define different zones for rendering later and it also helps a lot for defining the lip for generating lipspray and the whitewater. So the particle systems are much easier to control now. Sometimes it helps a lot to read about how other did something before
The system is now fully procedural, so you can basically specify the size and resolution of the wave and the resolution of the control rollers. The rest is automatically generated by Python and a Foreach loop within the sop network.
The resolution on the control rollers did provide an interesting challenge… I needed to smoothly interpolate between the rollers and the actually mesh resolution. It so happens to be that Houdini doesn’t have a nice function which can do a cubic interpolation which you can use in an expression. It has such functions for keyframe interpolation but not generically. So I ended up have the control rollers drive a curve, which then does the interpolation (after subdividing it once) I’m going to look for a python function that can do cubic interpolation directly or write one myself as this will make the setup easier.
Lastly, I’ve included a force attribute to the wave which specifys the force with which the lip of the wave is crashing down (this was also hard to do with the previous setup). This force now drives the lip-spray system and will be very important for the whitewater as well.

Anyway, another step forward:

WaveTest3

WaveTest4

Cheers,
Erik

Post to Twitter

Houdini: Surf’s Up

I’ve started working today on a wave system ala Surf’s Up: WaveTest1.

It’s virtually completely procedural. You just pass in a grid size, amount of columns and rows and animate the wave position and the big rollers (see WaveTest2) to animate the breaking of the wave. The only thing that’s not totally automatic right now is the generation of the rollers, there are now always 5 of them. I think I’ll need to add some Python to make that number flexible as well.

The lip-spray currently is based on upwards velocity of the water surface in combination with the height of the surface. I’m not sure if that’s the best recipe although it looks fairly ok as it is now.

If I wasn’t already very happy with Houdini, I am now.. I was able to create this from scratch in about 5 hours. As I’m only starting to learn Houdini in ernest I couldn’t be happier!

Next up:
- improve the curves for the deformation
- add the settling down of the wave
- adding the whitewater where the lip crashes into the water, and the spray that swirls around in the tube. – the probably much harder part.. shading.
- After that I might put a surfer on there and work on all the splashes and wake he/she generates.

In terms of fun, this is only a little notch below actually surfing yourself…

Cheers,

Erik

Post to Twitter

Page 7 of 7« First...«34567