FMX 2010 demos
Hi,
I’m proud to be able to say now that SideFX‘s Jeff Wagner will be demoing my wave tools as part of his ‘Advanced VFX In Houdini’ master classes at FMX this year!
Hi,
I’m proud to be able to say now that SideFX‘s Jeff Wagner will be demoing my wave tools as part of his ‘Advanced VFX In Houdini’ master classes at FMX this year!
Hi,
Phew! It has been a LOOOOOONG time coming, but I’m finally ready to update on the new Gerstner displacement, as implemented within the breaking wave tool. Most of the time it took between the previous update (the sneak preview) had to do with a completely new addition to the displacement of the lip of the wave, which required some dynamic simulation stuff using a Sop Solver in DOP’s.
I’ve now fully integrated the Gerstner logic into the wave system. The main thing I’ve got more work on is the UI. The Gerstner calcs can get you really nice results but the parameters are very sensitive and have strong relationships with each other. This means that sometimes changing a value by a small amount can have really big impact on the final result. By experience I’m starting to get a feel on what relationships between parameters will lead to most natural results so I can build in those relationships into the UI, which will greatly help in setting up nice looking wave displacements quickly.
Hi,
Just before we move into the next year/decade, I’d like to post a quick update on the wave system. I’ve by now almost fully integrated the new Gerstner based wave displacement logic into my breaking wave system. It’s mostly used for now to generate higher level waves on top of the surfing waves. I have some further developed idea’s on how I can integrate the animatable waves completely into a Gerstner based wave system which would be really powerful, but that’s definitely for next year. (more…)
Before I get into the displacement functionality of the wave tool, I’d like to take a little time to go through some foundation work I did to improve displacements.
Up till now I was using regular noise functions to create the displacement of the ocean surface. This looks kind of ok as long as you don’t look to closely at it. The problem with regular noise functions is that the wave forms they generate have similar roundness at the top and the trough of the waves. Real waves, however tend to be ‘sharper’ at their tops and rounder at the troughs. So I thought, I’d better fix that before I continue with the displacement functionality of the wave tool.
Shading time… After a few ‘false starts’ it is time to go through the shading side of the wave system.
Before I get into the shader itself, I thought I’d be a good idea to quickly recap how the UV’s of the wave are integrated into the UV space of the ocean surface. Luckily, I have already posted those details on this here: Another refactoring.
It’s been a while since the last update, but things have been quite crazy last two weeks, so I didn’t have time to work on this ‘internal’ project for a while.
Before I get into wave shading I thought, I’d first finish the setup part of the tool. In a previous post I had given a first glance in the ‘setup / advanced’ tab where the forces in the water are defined as it plunges in the wave’s trough.
I thought I’d first go into the advanced tab of the ‘look’ area of the tool. These advanced parameters deal with defining the shading zones on the wave surface. In order to understand these zone definitions you first have to understand how the wave surface is constructed and the concept of ‘wave time’.
The wave surface is created by a number of ‘wave profiles’. We’ve seen these profiles in the previous post. Each profile is created as a blend between ten profile curves. Each of these curves represent a ‘keyframe’ in the ‘wave time’ of a wave profile. Wave time represents the life cycle of a wave from starting flat to breaking to going flat again.