Discovery Channel (Fusion CIS)

A roaring, stormy ocean ruled by killer waves topped with hyper-real foam, ready to devour the Flying Dutchman three times over….although this time the waves were interacting with a floating Discovery Channel logo rather than some old-times ship. Visual FX studios Engine Room and Fusion CI Studios teamed up to take on these ground-breaking ocean visual effects for the season launch of Discovery Channel’s Emmy nominated series “Deadliest Catch”.
Fusion CIS worked on the fluid simulations, creating a phenomenal ocean surface that was both oceanographically accurate and completely controllable.
For this project, RealFlow was used to produce all the surface water effects and the ocean surface itself. The ocean surface was generated as a Realwave surface, and the foam, breaking waves, splashes and spray were created using RealFlow fluid particles.
The ocean surface’s deformations are the result of adding two layers. One layer is the oceanographically accurate deformations for everything from chop up to small swells. The second layer are sets of large swells that are defined by an adaptation of a shortened Fourier transform sequence with power function and other features, like wave speed, derived from oceanographic observation and theory.
"We chose to use RealFlow because the fluid dynamics and the object interactions with the fluid dynamics work very well, run fast enough to meet production deadlines, and are really customizable,” says Mark Stasiuk, Fusion CIS CG Supervisor and RealFlow veteran. “Most of our effects are created using customizations built onto RealFlow using the Python scripting tool, either involved in workflow enhancements or in specialized control of behaviors." - Mark Stasiuk.
"We chose to use RealFlow because the fluid dynamics and the object interactions with the fluid dynamics work very well, run fast enough to meet production deadlines, and are really customizable"
Stasiuk gives some examples of his customizations: “The splashes around the globe as it surfaces and then pushes along the surface of the water were generated as Realwave splashes, but the quantity of fluid being generated and the speed of the globe destabilized RealFlow,” he explains. “This is an issue that is common to many fluid simulations where fluid mass is being created. Fortunately it's possible to deal with this very efficiently: we developed a Python script that detects unstable behavior during the simulation and fixes it at the source, allowing the simulation to go faster as well as finish the simulations.”
“Another customization example is the foam on the ocean surface which was generated as fluid particles, created by emission from ocean polygons that are chosen by a script based on a combination of random selection, local dynamic conditions and a texture map template,” Stasiuk continues. “The foam's behavior after creation is then controlled by a combination of wind, as well as an interaction script that gives the foam a more interesting and realistic motion than just simple particles sliding along a surface. The advantage of simulating foam this way, rather than as non-fluid particles or just texture maps plastered on the ocean like wallpaper, is that they interact in fluid ways and can be blown off wave crests like real foam on the ocean,” Stasiuk concludes.
“One of the further great advantages of RealFlow is the ability to do simulations in stages, rather than trying to run all aspects simultaneously,” says Stasiuk. “If you had to do all elements at once, simulations would take a long time and you would always have to do multiple revisions and multiple runs to meet the director's vision. Instead, features in RealFlow like setting particle or Realwave results on cache as well as binary loaders, let you output complex simulation results on an element-by-element basis analogous to render passes. Each of these elements may take only a few hours to create, allowing supervisors opportunities for re-runs to get it just right,” Stasiuk continues. “On top of that, each element can then be rendered separately. That can make a big difference since larger-scale elements get into the millions of particles and polygons, so trying to render multiple big elements in a single pass could easily overload a typical studio's renderfarm.”
"Features in RealFlow like setting particle or Realwave results on cache as well as binary loaders, let you output complex simulation results on an element-by-element basis analogous to render passes. Each of these elements may take only a few hours to create, allowing supervisors opportunities for re-runs to get it just right,"