Riley Miladi talked about some interesting ways she works with Houdini, including explosions, destruction simulations, and water effects.
Hi, I’m Riley Miladi, I’m an FX artist living in UK. I’m very passionate about CG and especially FX. I was born in Iran and moved to the UK when I was 17. I started programming from primary school and started learning XSI Softimage in high school as my first 3D software, but now I mostly use Houdini. I am currently studying Visual Effects for film and TV at the University of Hertfordshire, freelancing for multiple short films, and will be graduating this May.
I used Houdini for the first in the second year of my degree as part of the course, and very soon after using Houdini, I knew I want to be an FX artist. The node and procedural-based nature of the software are definitely intriguing to me. I also love the fact that such a low-level access has been given to the user in Houdini, allowing every artist to customize every tool and change them to their liking and needs for the project. Personally, being able to use art, programming, maths and physics in the same projects and at the same time seems like a dream come true.
I think there are quite a few things that add to a realistic explosion but what is possibly the most important thing to consider is to think about what is the cause of the explosion, and what material is being burned, as this affects the shape, velocity, force, and divergence. Many key properties of an explosion can significantly change the look of an explosion and find relevant sources for the explosion can be really important. Adjusting the setting in your emitter and pyro solver and your forces to match that look is the most important and perhaps the most time-consuming part of each simulation. In my opinion, Houdini is the best tool for pyro simulations as it’s extremely customizable, and with the help of micro solvers and maybe some programming in some cases, it’s essentially possible to create any desired look for the explosion. In comparison, many other tools usually have a recognizable and typical shape to their explosions, which I think gives away the fact that the explosion is CG very easily. This also applies to the details of an explosion which are also important. For example, with the help of the micro solvers only, it’s possible to even make your own pyro solver and customize it to fit the need of the project. For some of my projects, I made a pyro solver based on what I learned from the amazing course of “Mastering Pyro FX in Houdini”, taught by Saber Jlassi, which was very insightful. I then developed the pyro solver further after the course, and with mostly just micro solvers, with the purpose of getting rid of the mushroom-cloud look and adding small details to large-scale simulations, while saving RAM and simulation time.
There are quite a few different ways in Houdini to approach collisions as each solver can use different methods. These methods are fairly similar but can have some advantages or disadvantages to other approaches. For this simulation, after preparing the titan geometry for simulation, I converted the mesh into a VDB volume, sampled the velocity of the object and used the information in the velocity field for the VDB volume. I then used a source volume node, in the DOP context. This method creates a very similar result in pyro solver to other methods, but the calculation for it is considerably faster, which decreases the simulation time significantly.
There are many different aspects for creating photo-realistic explosions, including simulation, shading, lighting and so on, all of which are vital for creating such explosions. For people who are interested in learning more about pyro, I would suggest starting with the basics – watching some tutorials and reading the documents about the pyro solver can be very helpful. After getting more familiar with pyro solver, I would highly recommend starting to use and experiment with different micro solvers, as they can be very powerful and although they might seem a bit confusing at first, they are fairly easy to use and a necessity for every pyro simulation. In addition, it is useful to start looking inside different solvers and learning how they work, as this can be key to understanding the solver and how it behaves and how to get the desired result. And as everything with FX, I can’t stress enough how important reference is.
Liquid simulation techniques
Liquid simulation in Houdini is done using flip solver. Flip solver and other liquid simulations are generally all based on the Navier–Stokes equations. In flip solver, liquid simulation is done by simulating the liquid as particles and then mesh the particles to create the liquid surface. Liquid simulations can be very detailed and realistic nowadays, but it’s worth considering that detailed liquid simulations, especially large-scale ones can be very demanding on the hardware and often require a lot of RAM. They can take quite a long time to simulate, as millions of particles (even up to billions sometimes), will need to be simulated for each frame. This might not be a significant issue for big-budget productions, but this can be an issue for freelancers or for smaller companies who do not have access to many high-end workstations. As with any other FX, finding appropriate and good quality reference is probably one of the most important steps for liquid simulations. In addition to flip simulations, it might be necessary to add secondary simulations to achieve a realistic result, i.e. white-water simulation, mist etc.
The oceans in VFX are generally a combination of a procedural ocean. With the help of displacements and other methods, it’s possible to achieve great details and it is usually not very expensive to cache or simulate. This can look very realistic but the problem with procedural oceans is that it’s not possible to have any interaction with objects in those parts of the ocean. To address this, a flip simulation is usually needed, but since flip simulations take a very long time and tend to need very good hardware, a mixture of both procedural ocean and flip simulation is often used. With Houdini 16 using the mixture is quite easy now and as it can be done even with the shelf tools, but in the previous versions, the same system would have to be made manually to make sure that both have a similar look and can be blended with each other naturally without leaving any seems or artefacts. I’ve used the same mixture of procedural ocean and flip simulation in my project, alongside simulations for mist, cloth, and white-water which includes foam, bubbles and spray.