Resume
FR EN

Showreel Breakdown


PART 1: FX

Water simulation and ripples - Matilda
Timecode: 6s

Show: MATILDA

Water simulation and ripples

FLIP water simulation with interaction from drops falling from the spikes.

Principle for interaction:
I first create the main simulation (pool water). Then for optimization purposes I create a simulation of drops falling on a flat surface creating ripples (efficient and very lightweight simulation).
I then create a VEX script that allows me to transfer the ripple deformations to the cache of my main simulation.


Water simulation and splashes - Matilda Water simulation and splashes - Matilda
Timecode: 8s

Show: MATILDA

Water simulation and splashes

For this shot, the interaction principle is a bit different because the splashes are much more substantial than simple ripples.

Principle:
The first step is to create the splashes alone which will allow us to generate velocities.
Then I create the pool simulation to which I add the splash velocity, which will allow me to create turbulence in the water.
This process significantly lightens the scene and increases the splash resolution to have maximum detail.


Tornado - Matilda Tornado - Matilda
Timecode: 10s

Show: MATILDA

Tornado

The most important element of this effect, which allowed me to drive all elements, is a vector field whose velocity vectors form a spiral.
I therefore connect this vector field to the different simulations of the effect, namely:

  • Dust: the dust that forms the general shape of the tornado
  • Debris: particle simulation to which I instance debris (branches and leaves created by the 'Assets' department)
  • Grits: small gravel that enriches the effect

Clouds - Matilda Clouds - Matilda
Timecode: 15s

Show: MATILDA

Clouds

For this effect I created a few clouds (VDB) then created some sets that I exported in two versions:

  • A VDB version
  • A proxy GEO version (very light)

The proxy GEO version was used by the environment department which created the final layout.
The VDB version is used by the lighting department.
Finally, thanks to an automatic script in Gaffer (equivalent to Katana), the proxy GEO set versions from the layout are replaced by the VDB versions.


Creeping snow on the ground - The Midnight Sky Creeping snow on the ground - The Midnight Sky
Timecode: 23s

Show: THE MIDNIGHT SKY

Creeping snow on the ground

For this effect, vectors are placed on the ground creating a vector field that drives the snow which consists of two elements:

  • A volume
  • Particles

A force (wind) with applied noise will make the effect richer and more interesting.


Smoke inside the portal - Spiderman No Way Home
Timecode: 29s

Show: SPIDERMAN NO WAY HOME

Smoke inside the portal

Smoke effect rotating in a spiral on the interior walls of the portal.
To create the vector field that would allow me to drive the smoke, I used the portal particle system that my colleague had created earlier.
This allowed me to have smoke that interacts coherently with the portal movements.


Bullet hits on TV screens - Skyscraper
Timecode: 31s

Show: SKYSCRAPER

Bullet hits on TV screens

This effect is broken down into 3 parts:

  • Cracks on the screen
  • Falling smoke at the impact point
  • Debris representing pieces of glass that fly away

FIRE - Skyscraper
Timecode: 37s

Show: SKYSCRAPER

FIRE

The most substantial flames are caches that I positioned manually.
The small flaming debris are simulations.


River, water simulation - Paws of Fury
Timecode: 40s

Show: PAWS OF FURY

River, water simulation

The water simulation, with splashes and white water, was used in 37 different shots. This simulation covers a great distance, as some camera angles show the river over great depth.


Roof destruction - Paws of Fury Roof destruction - Paws of Fury
Timecode: 52s

Show: PAWS OF FURY

Destruction (piano falling through the roof)
Piano/ground interaction

Regarding the roof destruction, the original asset did not include internal structural support elements intended to support the roof. To save time (it would have been necessary to send the asset back to modeling/texturing), I created some wooden beams and battens to have more material in the debris flying in the air.
To obtain a coherent texture, I matched the UVs of these beams to similar wooden elements.
The roof destruction is therefore broken down into two parts, namely:

  • Debris
  • Dust

The interaction with the ground is broken down as follows:

  • Impact dust
  • Dust that accumulates behind the piano when it moves
  • Displacement of sand that the piano digs when moving

Rifle bullets - Paws of Fury Rifle bullets - Paws of Fury
Timecode: 1m00s

Show: PAWS OF FURY

Rifle bullets

To create this effect, I started with a particle whose source is positioned inside the barrel or inside the mouth for the character in the second image. I gave it a velocity parallel to the barrel, and directed towards a point for the second image. The particle system was set to have one particle every three frames.
For the bullet shape, I created a polygon shape of the exact shape I wanted (i.e., an oval shape following the rectilinear trajectory).
I then instanced the geometry on each particle, giving the impression of a bullet projected by the barrel.
For the shader, I transformed the geometry into VDB (temperature field), then I created a "standard volume" in Arnold which allowed me to retrieve my temperature field and apply the color I wanted.


Downwash and debris - Justice League
Timecode: 1m07s

Show: JUSTICE LEAGUE

Downwash and debris

For this effect, vectors are placed on the ground creating a vector field that generates a volume that will appear to be propelled by the ship. The effect consists of:

  • A volume
  • Particles instanced with different debris
  • Small gravel (also instanced particles)

Downwash and debris - Justice League
Timecode: 1m13s

Show: JUSTICE LEAGUE

Downwash and debris

Continuation of the previous shot which consists of:

  • A volume for the downwash following the ship's takeoff

Flying leaves (instanced particles)


Ashes and embers - Justice League
Timecode: 1m17s

Show: JUSTICE LEAGUE

Ashes and embers

Instanced particles.

The main requirement for this effect was that the particles had to maintain a constant upward trajectory and never go down.


Rain and interaction - River Dance Rain and interaction - River Dance
Timecode: 1m19s

Show: RIVER DANCE

Rain and interaction

Particle system with interaction on the ground and various elements such as umbrellas.


Flying candies - River Dance Flying candies - River Dance
Timecode: 1m24s

Show: RIVER DANCE

Flying candies

To achieve the desired effect, I created an RBD simulation of the fish in the bowl by assigning them a destination point. However, after running the simulation, I noticed that the fish came out of the bowl but didn't seem animated (i.e., they weren't swimming).
To remedy this, I created three different short animations at the center of the world. Using a VEX script, I programmed the fish to gradually animate as they exit the bowl. They randomly choose one of the three animations, giving them a varied appearance (similar to blendshapes).


Dancing on water - River Dance Dancing on water - River Dance
Timecode: 1m27s

Show: RIVER DANCE

Dancing on water

The water surface is an "ocean spectrum".
Principle for interaction with droplets and footsteps in water:
I first created a FLIP simulation for the droplets that form under the feet.
Then I created ripples whose source are the feet and droplets touching the water surface.
Then using a VEX script that allows me to transfer the ripple deformations to the "ocean spectrum" cache.


Gunshot - River Dance
Timecode: 1m36s

Show: RIVER DANCE

Gunshot

Two layers in this effect:

  • Fire
  • Smoke

The gun fire was created using particles that are projected from the gun and were transformed into VDB (temperature field).
Then, using an "Arnold standard volume", I was able to plug the temperature field and apply a color ramp to it.


Tree trunk sculpture - River Dance
Timecode: 1m39s

Show: RIVER DANCE

Tree trunk sculpture

To explain the scene, the birds are sculpting a tree trunk to create a hockey stick and helmet for one of the story's characters.
The effect was broken down into three layers:

  • Wood chips (instanced particles)
  • Dust (particles)
  • Dust (volume)

PART 2: PROCEDURAL MODELING

Tool MOZAIKA
Timecode: 1m51s

Tool: MOZAIKA

This tool allows you to dress a flat surface. This can be a wall, floor, ceiling, whether it's a ship, castle... in fact, all surfaces that need to be dressed.

The principle is simple, imagine we want to create a floor covering with tiles of different sizes, we start by creating all the elements we need, that is (and to take the example illustrated opposite):

  • a 1x1u tile
  • a 1x2u tile
  • a 2x2u tile

In this case, we have 4 elements to connect to our tool: the 3 tiles and the grid intended to be dressed.

Mozaika then takes care of filling the grid by positioning the elements like Tetris. It reacts in real time, meaning if we inject other elements (for example in the illustration, elements of different colors), it redoes a covering instantly.

Among the parameters we can modify, we can vary the global scale of all tiles by entering a scale coefficient, we can vary the thickness of joints between elements, we can rotate all elements by giving it an angle value.


Test map for MOZAIKA
Timecode: 1m58s

Tool: MOZAIKA (continued)

In the following illustration, I created a small game map to test the tool. It's a 3-level floor map. I proceeded by level and type, meaning for each level I broke down walls and floors. I then merged everything to form the map.


Side wall covering
Timecode: 2m01s

Tool: MOZAIKA (continued)

Then I applied another tool that allows dressing the side walls of a floor, or more precisely of a balcony or walkway to give it thickness. Here, metallic elements forming a beam are created and added to the map.


Final covering result
Timecode: 2m06s

Tool: MOZAIKA (continued)

Result with beams and wall and floor covering.


Unreal export test
Timecode: 2m08s

Tool: MOZAIKA (continued)

I then did an export test of the map to Unreal


CITY BUILDER - Procedural Modeling
Timecode: 2m16s

TOOL: CITY BUILDER

This tool allows generating cities from splines, meaning we draw splines that represent streets, and the tool will first create all sidewalks and terrain, then add buildings each with different characteristics, such as number of floors, roof type... etc...


PIPE - Procedural Modeling
Timecode: 2m40s

TOOL: PIPE

Tool for creating a pipeline network from splines. It will detect angles and create separate elements such as elbows.