Posted April 06, 2022
Share


REALTIME I A Discovery of Witches S2 I VFX Breakdown



TIME WEAVING WITCHES, FIRE DRAKES, ENIGMATIC VAMPIRES AND DAEMONS

“Hiding in plain sight” set the provocative narrative for Season 2 of Deborah Harken’s All Souls Trilogy  the UK  TV adaptation of her first novel in the trilogy, “Discovery of Witches.”  When Historian and alchemist enthusiast, Diana Bishop visits Oxford her research leads her to Ashmole 782 also thought of as the “Book of Life” which sets her off on a hero’s journey; ‌”time-weaving” between modern day and 16th Century Elizabethan London; with scrying magic to fire drakes and some of the most breath-taking architectural FX.  REALTIME  provides “on-set support, previs and an array of VFX magic” created with Houdini to bring this magical world to life.





“REALTIME used Houdini for the 'scrying' magic (when Em brings Rebecca back from the dead in the smoky ritual spell), Corra the fire drake in the last couple of episodes and then little bits and pieces throughout the series, like the fruit decomposing scene which was done using Houdini.” explains Lauren Brady, Marketing Director at REALTIME.

SCRYING MAGIC is used to “see” acquiring different elements such as clouds and reflection on water, the “seer” gathers information or prophesy.  This type of FX on-screen is easily created using Houdini, let’s find out with REALTIME.





Q: With the Scrying magic scenes and the Rebecca Concept, it looks like you used photogrammetry, tracking with the particle FX. Can you give us the break-down on the use of Houdini in this process? The scenes build up over several various attempts by Emily in S2 to contact Rebecca, the FX also build up over that time. As Emily makes numerous attempts the smoke and particles intensify.  What was the pre-vis, vis and post-dev process like?





Graham Collier, Lead VFX Artist: Our CG Director, Ian Jones, created the pre-vis for this sequence quite early on. Working closely with the show’s creative team, we started with the live action plates, using simple particle systems and basic geometry within 3DsMax and Tyflow to generate a rough indication of the effect and After Effects to quickly integrate the elements with the footage.







It was a very good guide to the scale and dynamics of the sequence and was necessary to visualise how the FX would build up over the sequence, without doing any costly simulations and rendering. This previs was used as a guide to the shoot, with the postdev used to guide the edit and FX department working on the sequence.





The FX team supplied a detailed alembic 3D mesh of this. Houdini was then used to create a volume of velocity trails around the photogrammetry so that we could drive particles and fluids across the surface. These were mixed in with the other smoke layers to create the sense that it was forming out of the smoke. One challenge was finding a way to mix in the live action elements within the smoke layers. Initially we tried driving particles and the fluid colour from the live action, but soon found that we were losing too much of Rebecca’s form and we would need more control in comp.





We decided that the best approach was to use volume clipping and render the elements as background/foreground passes. We could then easily mix in the live action elements within the smoke layers. This could have been achieved with deep compositing but at the time we were conscious of how much extra data this would create with all the detailed volumes, so decided to stick with a simpler method as it was giving us a similar result.



CORRA, THE FIRE DRAKE



Q.  Share with us the process for creating Corra, with all those amazing scenes of smoke and colorful shape shifting animated fire.  

Graham: It was great fun to work on the Corra FX, but we did go through many iterations and designs before coming up with the final look that you see in the show. After the initial concept stage Corra started off as a sculpted Z-Brush model and then had a full set of groomed feathers.





These feathers would later be used to drive the fire simulations.





The rigging and animation was done in Maya and then the baked mesh would be sent to Houdini as an Alembic. In Houdini we had the base geometry of the creature along with a set of splines that run down the lengths of each feather.

Houdini is great for building setups that will loop over multiple pieces of geometry, this enables us to work on a small section of the creature at first and then easily iterate this across the rest.





We did a lot of tests on a small section of the feathers to get the right look and movement to the flames, each feather had a point emitter at its base and then we created a direction vector along the spline feather to drive the direction of the fire sim. When we were happy with the look of this, we then tried it across the whole creature.





This worked well but did throw up some issues; firstly, we were going to have to chop up the simulation so that we could get enough detail in to the simulation, and secondly, we were going to need to create areas of negative space to allow you to see the detail of the flames, as we didn't want just a blob of fire. To do this we took a subset of the feathers and instead of rendering them as fire we transferred the temperature channels over to density and made a very dark smoke layer, which we called 'black fire'.





The next step in the process was to see how this would work when animated, we very quickly found that we would lose all the detail once we ran the simulation on a moving Cora. To work around this, we created a set of simulations on the static mesh and then volume deformed this to the animation. This way we could keep the detail whilst moving. We also sampled the animation to add motion blur to the volumes. Although this worked well, we still needed to give the fire the sense that it was dynamic, being affected by her movements and mood. To achieve this, we had another set of fire sims that were simulated from the animation and mixed together with the static version.





Along with this we simulated a low-res smoke sim from the animation that was then used to advect particles from the creature giving a detailed ink in water effect. These particles would then drive a more detailed smoke simulation on top.

We had a lot of feedback on the look of the creature and the animation, so we went through a lot of rounds of delivery. As each shot had dozens of separate simulations to bake, we needed to find an automated solution.

Using the Houdini Engine with Deadline we were able to set up an almost one click solution to run through all the sims for a shot, which enabled us to turnaround the shots very quickly.

Graham Collier, REALTIME




The lighting team we had available on this project were based in V-Ray and 3Ds-Max so all the simulations were saved in VDB format from Houdini and were then picked up in Max as a Vray volume. Particles and geometry were easily exported between apps using the Alembic workflow.

Q. Can you tell us how that fully rendered fire drake was created and was the set CGI or a real live set?  It was often hard to tell since the details were so articulated but how was corra integrated into the cave scene for example?

Ian Jones, CG Director: The trick is to, wherever possible, keep it real.  We scanned lidar data on set and created photogrammetry. We captured spherical HDRIs and recorded the values of any contributing interactive light.  When simulating we tried to work within real world scales.  We rendered fire with true values using the blackbody shaders.  All our reference and methodology was based on things which could occur in nature, even though the majority of our subject matter was magical. 

Nicolas Seck, Animation Director: An important part of what we do is to get a clear understanding of the expectations of the client, early on. For A Discovery of Witches, we had to fit the creatures in the plates provided by the client which had specific timing imposed by some camera motions, lighting changes and the performance of the actors. We did some initial blocking, to confirm that we were on the right track.

Then it was about adding details and elements which give a flavour to each shot. This meant trying to find, in the raw footage, guidance for the performance of the creature as if it had really been there during the shooting.





For the Corra sequence we also had the challenge of having to hide a technician who was holding a lamp on set (in place of Corra). Fortunately, Corra was not only generating lots of flames, but was producing lots of smoke too.

The main trick is to find the appropriate energy, the correct flow with clear and expressive poses. It sounds easy but it requires lots of patience and constant communication with the animators and the client to avoid losing time by going in the wrong direction. If that is managed properly, that should give you the extra resources to finesse the details and enhance the result.



FRUIT DECAY

The quince is the sole member of the genus Cydonia in the family Rosaceae. It is a tree that bears a deciduous pome fruit, similar in appearance to a pear, and is bright golden-yellow when mature.

Q. The fruit decay,  how did you guys achieve your look and what kind of references do you use? Do you “decay real fruit” ? How do you achieve your inspiration and outcome?





Adrian Vickers, Senior CG Generalist:  We created low-res geometry for each quince (the medieval fruit chosen for the bowl) as well as the bowl itself and exported them from max as alembic. We then set up a vellum tetrahedral soft body sim with custom attributes using procedural noises to drive the rest length of the constraints over time. We also used an attribute controlling when each quince started to decay plus an on/off attribute to create a stuttering effect. Then the hi-res geometry was point deformed from a low-res vellum sim and extra detail was added to the surface with Cellular and other Noises using a rest attribute.



“The quince is the sole member of the genus Cydonia in the family Rosaceae. It is a tree that bears a deciduous pome fruit, similar in appearance to a pear, and is bright golden-yellow when mature.”



For additional detail, bubbles of pus were added to each fruit, affecting the quince surface by creating a raised lip around the bubble.





Various masks were created for shading, such as turning the quince from healthy to rotting. Points were scattered across each static surface and, using a sop solver, growth attributes were created for the smaller details on the fruit, based on where the rotting was happening. These points were then point-deformed for each quince and split up into various groups.





Instanced geometry was then copied onto these points creating the lichen effect on the surface, small polyps and things like that. Pops was used to create spores floating away from the rotting surface for extra detail. The whole thing was then shaded and rendered in Mantra using custom image planes for comp.





ONE LAST THOUGHT...

Q. Houdini is used across multiple projects from in-game FX to TV VFX - can you share your thoughts on the differences? If any? For example, I was looking at your website and came across the Game of Thrones: Winter is Coming / REALTIME / reel. It's amazing how closely the whole game resembles the real actors and sets from the show, light speed past the uncanny valley, leaving the question “what is real?” and what is “real?”

Adrian Vickers: With regard to GOT, it was no different as far as I was concerned. We exported the snow FX as VDB's and alembics if it was going to be rendered in Max. The map fly over was entirely Houdini and comped in, with all the characters and sets within Max.

DISCOVERY OF WITCHES, SEASON 3  I was told the answer to that question was “YES”, so I know I am personally excited for Season 3 and hope that the REALTIME team  will keep us updated on S3.

I want to thank everyone at REALTIME for sharing your magic!



About this author:
Lori Hammond
Author & Content Producer
https://www.linkedin.com/in/lolaartist/


COMMENTS

  • There are currently no comments

Please log in to leave a comment.