Fusion Creates Watery Escape Route for The Three Musketeers!

While under attack, the Musketeers steal Da Vinci’s plans for a flying war machine from deep inside an underwater vault in Venice; the scene climaxes in an explosion blasting a ‘big water’ escape route! Fusion CI Studios, LA, created the fluid simulations for Mr. X, Toronto, who rendered & finished.

The scene: http://www.fusioncis.com/press/threemuskateers/3M_VV_SEQ_h264.mov

The fluid simulations were created using RealFlow and various in-house plugins developed by Fusion’s vfx supervisor, Mark Stasiuk.  Fusion received Maya scenes from Mr. X with the solid geometry, and the geo was then simplified for export to RealFlow.  In general, the fluid sim work was done by creating a number of passes – core water, splashes, foam, spray and included post-processing using custom Python algorithms.  Fusion then passed the RealFlow data sets to Mr. X via ftp and did reviews of the playblasts of the simulations using cinesync.  Consultation and technical support was provided on various aspects of the render – Fusion provided wetmaps and custom foam passes that would work with Mr. X’s rendering technology.

The workflow at Fusion starts with fluid behavior look-dev, using low-detail fluids for faster sim turnaround times, and run in parallel with the development of in-house technologies custom to the project. As the behavior gets close to the creative target for each shot, the fluid detail is increased and versions of the data were passed to Mr.X to start lighting development. The tail end of the project was highly collaborative, with Mr. X’s lighter, Ayo Burgess, and VFX Supervisor, Dennis Berardi, providing feedback and Fusion responding with revisions and added layers of simulations.

In the first shot (VV300), where the explosion is triggered in the subsurface vault wall that lets the water from the Venice canal flood in, Fusion filled canal geometry with high res SPH fluid particles. The huge volume of the final sim (around 10 million particles) was needed to achieve the right level of detail and sell the scale of the shot. This kind of shot would seem to be perfect for applying RealFlow’s voxel-based grid fluid solver, but the grid fluid has a slightly different behavior which becomes particularly evident, and particularly non-water-like, in a shot like this where the water first bursts up and out, straight toward camera, so we fell back to the SPH solver. The same sims when run using the grid solver generated long, unrealistic ‘ropes’ of fluid in the explosion phase. Sim times for low res fluids were a very reasonable overnight, but once at the high res level, this stretched to around a week. However, by the time Fusion was running hi res sims, the results were already approved by the director and it was just a matter of getting in the extra detail to sell the scale of the body of water. The initial explosion was created using a combination of expanding spherical negative attractor fields, noise fields and a vertically directed jet force, followed by a vortex to pull and spin the fluid downward.

For the initial shot Fusion generated a number of passes of foam and spray as post-process sims, as well as running a post-process to create wet-maps on the geometry to allow Mr.X to add wetness wherever the water splashed on the buildings. For these post-process tasks Fusion used its in-house tools, giving us the ability for extreme control on the results.  For example, for the foam pass, water particles were converted to foam particles based on a combination of exceeding a threshold speed, impacting geometry and height in the water column, and converted back to water after particle speed dropped below a critical threshold for a long enough period.


This movie shows both the water and foam particle sets for a near-final version of the simulation.

The capability of RealFlow to use Python scripts at many points of its calculation pipeline is a feature of fundamental importance to this kind of fx work.

In the next 2 shots, where the water first geysers into the vault (VV140) and then floods it entirely while wiping out the bad guy (Cagliastro), Fusion used RealFlow’s grid solver to generate the core fluid behavior. Once the core fluid was simmed with the right behavior and timing, the team at Mr. X tweaked the animations of objects in the scene that needed to respond to the water, such as the corpses of the guards on the floor and the torch stands at the sides of the vault, as well as the digital double of Cagliastro after the point of impact. The tweaked animation was passed back to Fusion for a final run of the core water so it would respond correctly to the solid geometry.

Once the core water was finaled, Fusion used the native foam and splash emitters to emit SPH particles from the grid fluid as post-process sims.  RealFlow’s splash and foam tools work very well for this purpose, and have the advantage of giving you the ability to control the areas from which the splashes and foam are generated so artists could break the sims up, covering different sections of the flood if necessary. In the case of vv140, where the geyser first appears, it is small enough that it wasn’t necessary to break up the foam and splash generation but the controls on the secondary emitters also give great ability to distribute the secondary fluids where you want them.


This movie showing a well-advanced version of the vv140 core water (although the geyser shoots too high, too early), you can see the natural distribution of foam particles that are triggered by threshold radius of curvature in the core water surface.

The foam and splash fluids were set at very high detail level (fluid resolution), and it was really these particles that gave the flow it’s high detail look because grid fluid in general suffers from a lack of detail, even when the voxel size is very small. However with the splash and foam emitters, just about any level of detail was possible to achieve, and these dramatically improved the dynamism of the sims.


This movie shows SPH splash fluid particles over the entire surface of grid fluid core water sim.

The SPH particles from the splash emitters were then themselves used as emitters to create huge masses of spray, where Fusion again went to its in-house tools because of their level of control.  The biggest challenge for the fluids work was the combination of art-directed fluid behaviors and the large scale of the fluid effects.  Fusion’s team is accustomed to dealing with art-directed fluids, but typically these are small scale, for example single splashes forming into art-directed shapes.  They’re also used to dealing with large scale water, but in those cases the creative goal is usually simply making the water behave as it naturally does and not specifically directing its behavior.  In TTM we had to create specific fluid behaviors that were also timed precisely to the action of the shots. i.e. for the initial explosion shot, Fusion created a carefully timed & shaped water explosion which then evolved into a downward sucking vortex, and that had to be done with a sim that became 10 million particles.  Similarly in the shot where Cagliastro is swept off his feet by the flood, the fountain of water had to behave in a specific way, filling the space but remaining behind the character, then striking the character at the exact time in the plate where the real actor jumps into the air. This was made more challenging by the fact this was a stereo project, so it wasn’t an option to do the usual cheats, like translating the water sim back behind him further in order to delay the impact. In this project, the 3D space had to be precisely accurate.

To make all these things happen, Fusion relied heavily on its library of in-house technologies which provide the sort of control that’s required for art directed fluid behaviors. In the vault flood shots, this involved script-controlled rigs of laterally-directed gravity fields to gently nudge the various parts of the sim back away from camera and the Cagliastro character (who starts off standing very close to the large geyser), done in such a way to not look like the water was hitting an invisible barrier.


The above movie shows the core water sim.  When viewed from the side it’s obvious that the flow is being held back until the appointed moment, at which point the forces reverse and the geyser and water on the floor are surged forward toward camera to flood the vault and hit Cagliastro.

Side view movie:  http://www.fusioncis.com/press/threemuskateers/vv150_core_test_LoReswTurb_side.mov

If you look closely at the side view movie you’ll also see evidence of another Fusion in-house tool, for generating turbulence. In general, whether you’re using RealFlow or not, SPH-based fluids as well as voxel-based grid fluids both suffer from a lack of true turbulent behavior, which is normally excluded from the solver for optimization purposes and because the fluids that are typically simulated are at the more viscous end of the spectrum and less likely to show obvious turbulence — say compared to violently moving gases such as fire and smoke, for example. The problem is that fast moving river-type flows should show turbulent flow motions or they just won’t look right, and end up moving in a boring, sludgy way like a plug of fluid sliding over a surface. The usual methods to combat this are to churn up the flow with a noise field or add in lots of obstacles to add more splashy interest to the motion, but still this doesn’t make for a realistic motion. In VV150 the flow on the vault floor, despite hitting all the bodies and torch stands, was still too much like a sliding mass, especially obvious when it approached the camera toward shot end. To get a more turbulent look, we add in a swarm of vortices that are connected to averaged flow-lines of the fluid, and apply scripted tools to control the animation of the swarm’s parameters. You can see in the side view movie how the flow along the floor churns rapidly as it is disturbed by the vortex swarm. The advantage of this method is that we can “inject” as much turbulence as the Director feels look good, rather than being stuck with whatever the fluid solver does.

One last word on the fluid sim work from a studio productivity perspective, relates to the comparative ease of use of RealFlow. Over the last couple of years, numerous new simulation tools have appeared, and we’ve been experimenting with them. But in our view one of RealFlow’s major advantages is the simplicity of its scene structure and controls, despite the advanced dynamics happening under the hood. Compared to most sim packages with endlessly nested dialogs and huge lists of blurrily defined parameters, RealFlow’s straightforward and flexible scene setup, and well-defined parameters is refreshing and makes it a place where fx artists can work productively, with low levels of frustration — and that’s very important in an environment where schedules are always shorter than we’d like. Anybody developing physical sim software should really have a close look at RealFlow to get some ideas on how it should be done!