The team of ArtFX students discussed the production of their animated short film Opale about a journey in flooded Paris: art direction, procedural building generation, wave simulation, and more. The film will be available on Vimeo later this year.
- Marion Aknin, CG Generalist (Opale), 3D Modeler at DNEG
- Leopold Prengere, DMP and CG Generalist (Opale), Environment Artist at RodeoFX
- Ilies Machou, 3D Animator and Concept artist (Opale), Freelance artist
- Basile Delille, CG Generalist (Opale), Junior Texture Artist at Framestore
- Vincent Leclerc, Environment TD (Opale), Environment Artist at RodeoFX
- Gabriel Neville, FX Specialist (Opale), FX Artist at Axis Studios
About the Project
Marion: Our short film Opale is a graduation animation movie crafted by a small team dedicated to recreating a massive and unique city!
The film is about a young woman who has just arrived in an alternate version of a flooded Paris. She will try to join her lover and her journey will be full of wonders and dangers.
It All Started with a Simple Idea
Leopold: Opale started with a simple idea that came from a real-life event. In 1910, Paris was flooded by the Seine river for a few weeks. Thinking of that fact, we asked ourselves what the city would have looked like if the water stayed up. After 5-10 years, Paris would have probably drastically changed - no more roads and avenues, no more underground metro, only channels with boats! What would public transport and the buildings look like?
These questions drove all of our world and the visual development of the project.
Ilies: As our film is contemplative we wanted the artistic direction to express our vision of a unique alternative Paris that got affected by these new environment changes. Therefore, we focused on telling the history of the city through different shapes, colors, and contrasts throughout the movie.
In the beginning, we are in a rich and beautiful area of the new Paris that adapted to the current conditions. We opted to have straight shapes and clean buildings with warm colors and atmosphere.
Opposed to that, the Haussmannian buildings in the second half of the film have distorted shapes and damage.
The water worked both as a mirror reflecting the landscape and a proper source of danger closer to the end of the film.
Finding a good stylization was also really important for us as we wanted something personal. Basile Delille worked on adding life to the city.
Vincent: The city was a big part of our project. We had a lot of buildings to make, so we developed a procedural building generator in Houdini.
The generator takes only two inputs:
- Asset Modules, such as windows that we keep adding during the production
- Maps that we draw with polygons based on the actual map of Paris
With this data, the generator splits the maps into neighborhoods to create footprints, then generates the buildings with all the details and UVs, and instances the assets on them.
This provided us with a lot of control and allowed us to focus on artistic choices and iterate very quickly.
After that, we exported the buildings into Clarisse in two steps:
- Geometry created in Houdini, such as walls, roofs, etc.
- Instanced modules that were used in the input exported as point clouds
With a custom Python script, Clarisse automatically imports all the geometry and creates the instances by linking the modules to the point clouds.
Then, the shaders are automatically assigned; they are built mostly with triplanar mapping. The variations are driven by Houdini attributes.
Basile: Due to a large number of assets in our city and time limitation, we chose to approach texturing procedurally. The process was simple: I created a library of textures in Photoshop based on some pictures either found on the internet or taken with our own cameras, then removed and highlighted some details to make them less realistic and more stylized.
Gabriel: I was in charge of the water simulations. The wave that floods the poor streets of Paris was made with Houdini's FLIP Solver.
The simulation had to be both realistic and somewhat to match the artistic direction. One of the biggest issues I faced was connected with changing the wave's behavior depending on the resolution of the simulation. Since the render farm was not powerful enough to generate multiple high-resolution versions, I decided to make several low-resolution wave simulations at first.
Once the team chose the sim they liked the most, I advected it with velocity and surface fields of the low-resolution version. This allowed me to save a lot of time on computer calculations.
In order to recreate the dirty look of the water in the Seine, I put several layers of dirt like advected sediment particles to floating objects.
I also used the new Whitewater Solver in Houdini 17 to generate some foam and bubbles. Those were rendered as a mix of particles and VDB in Arnold.
Finally, I generated a wet map with a custom SOP Solver that allowed me to blend the dry and the wet passes directly in compositing.
Team: We want to additionally thank Lea Martel and Morgane Herbstmeyer who helped with the film. Opale will be available on Vimeo later this year! Meanwhile, we hope you've enjoyed the dive into its production.