Kate Xagoraris tried to combine Houdini's proceduralism with scientific data and shared her approach to simulating The Cosmic Web and creating a tutorial for it.
Hi there. My name is Kate Xagoraris. I am a VFX artist at Deluxe Animation. I primarily work with Houdini to create effects for movies and TV shows.
Previously, I have worked on films and shows such as Bad Boys For Life, Umbrella Academy, and The Boys. I also like to dive into the realm where visualization software meets science, and run a whole site into researching how visual effects artists can impact other industries. If you’d like to check it out, you can do so here.
Needless to say, I find VFX fascinating, and I think as artists we can do a lot more than making movies with our creativity. So I wanted to talk about how we can all better incorporate science into our art and simulations inside Houdini. Today let’s talk about how we can incorporate astrophysics.
In this article, I will walk you through my process for creating science-related tutorials and simulation.
Finding a Subject to Research With Reference
It’s easier said than done to choose a topic or subject matter to simulate. Myself, being a space nerd, I’ve always had a passion for anything above our planet’s atmosphere. So researching and reading NASA articles are nothing new to me.
Recently, I’ve started a tutorial series where I cover entities in the universe and how to mimic them inside Houdini, the most recent one being building the Cosmic Web. The Cosmic Web is filaments of dark matter holding the universe together. Without it, all matter in the universe would drift away, and be pulled apart from each other. It is the structure and glue of the universe, and without it, mapping the universe would be rather difficult.
This topic was very easy to research as there are many articles on dark matter and the way it interacts with light, visible matter, and us as well as photographs and simulations of it from NASA and the ESA (European Space Agency).
Understanding how Dark Matter operates is very important for astrophysicists to understand, as the size and shape of the universe depend on it. The amount of it in the universe is a good indicator of how fast our universe is expanding, or if the Universe is collapsing or has stopped moving. More of it causes our universe to slow down its expansion, and less means the universe is continuing to grow.
I really wanted to see if as an artist I could create a proceduralized version of the web. Creating the color, materials, and lighting was going to be easy, but I was wondering how NASA approached their models and what they used for reference.
Digging Up Data Sets and Research Papers
Finding a data set of The Cosmic Web is hard. NASA and the ESA don’t always release their full data to the public, but more or less give an article summary about any of their findings. CERN on the other hand is open-source, and they have been looking for dark matter particles for years. So after digging around on my first two favourite sites, CERN was the next place I looked.
On a side note. As a curious artist, I highly recommend stopping by CERN’s site and taking a look at all the open-source software they have. Some of their software is free to download, and you have a chance to help contribute to their software projects whether that be through scripting or through donations. Who knows, you could help discover the next god particle…
CERN is The European Organization for Nuclear Research. They also operate the largest particle physics laboratory in the world. But after a long search, I realized I was approaching my project the wrong way. There were so many functions, equations, variables, and random numbers to work with, it was almost impossible to sift through everything without a guide.
So once again I was a bit lost on how to approach the project. However, I then stumbled across two items that solved everything, and they both revolved around slime molds.
Modeling Mold Growths and Nearest Path Functions
In March of this year, NASA released a promising study where a group of their researchers used a slime mold algorithm to find the nearest points between galaxies, and create what was a connect the points structure of the universe. In their simulation, they used the locations of 37,000 galaxies. You can read the article here.
Another source I found was a site called The Network Behind the Cosmic Web. You can check out the site here. On this site, there are three different models of The Cosmic Web you can explore, and one of them also being one that relies on making connections between the nearest points. That model they stated, was also their most effective one.
So now I knew what I had to do, build a model that relies on connecting the nearest pathways.
Building The Web
Creating a starting geometry was the biggest issue for me. This is because no one really knows the exact shape of the universe. There are some good models out there, but they have yet to be confirmed. So I decided to take another look at my reference material, and most of the simulations appear to be contained inside boxes, or in an oval-like geometry. So for my model, I decided to start with a box. Then it was onto connecting my points.
Lucky for me there is a tool in Houdini that does just that. It’s called a Find Shortest Path SOP, and it operates on finding the shortest path between a group of points. So all I needed to do was create a series of point groups, edit them while still retaining the number of points, and then allow Houdini to connect them.
This method worked out great, however, the biggest challenge was making the paths appear to clump or spread out unevenly. One way I decided to do this was to create two different sections of paths. One that would appear to clump around fewer points, be thicker, and have multiple starting points to generate paths from. The other section would be thinner, contain more points in its paths, and be generated from only one starting point.
Not all dark matter filaments are connected to each other in the universe, so having some paths separate from each other made a lot of sense.
After these paths were merged together I was able to convert them to a VDB and generate a smoothed and clumpy look I was happy with.
Rendering, Lighting, and Materials
Thankfully, there are a lot of simulations and infrared images out there. After looking at a few of these images I realized my color palette was going to be either greyscale, purple or orange, or a bright vibrant blue.
Lighting was also very easy. In reality, visible light does not directly affect or make The Cosmic Web visible, so it made sense in my mind that there would not be any direct lights in my scene. However, we still need to render images correctly, and I laid down an environment light.
Working with materials was another challenge. When looking at all the current images of The Cosmic Web, most of them appeared to be made of dusty volume-based shapes. So I thought the best course of action was to use Billowy Smoke Shaders to get that defocused, far away volume look. For the “Stars” or points I used Glow Shaders to help their shape blend in with the rest of the structures.
Then Ta-Da! The web was made, and all I needed to do was render it.
This was a really fun project. It really pushed my thinking and skill strength for finding resources and implementing proceduralism in Houdini. If you would like to build your own proceduralized science projects, this is a pretty good checklist for creating your artwork:
- Read and examine a topic that you find interesting.
- Find images and sources where you can grab data and reference.
- Ask yourself if the project can be built in a simpler way, or if you have too much data to work with.
- Find a way to translate your data or reference into Houdini, and if there are any SOPs that can make your life easier.
- Make a messy version of it, and then work your way through your build again to clean your file.
- Look at your reference again, and think about how light is affecting the object, and what materials it has.
- Be patient. Projects like these can take a while.