Destruction in Houdini
Karan Jaura, studied destruction simulations in this CGMA course, Mastering Destruction in Houdini. He shared his experience and knowledge on how he achieved this.
Could you please introduce yourself? What do you do? How did you get into the 3D world? What projects have you worked on? What are you working on currently?
Hi, My name is Karan Jaura and I work in Toei Animation, as a Senior FX Artist.
Well for me it all began in the summer of 2000 when I finished my schooling. My elder brother who was in New Delhi at that time, taking a course in web designing, saw 3D CG was getting popular in India and convinced me to take 3D CG as a profession and that’s when I left my home town, Saharanpur at an early age of 19 and went to New Delhi and took a 3 months course in 3ds max.
Soon after finishing my course I got my first job there at a design company, I use to 3D model stalls for exhibitions and that’s where I got my first paycheck of $50, while handing over that paycheck the owner of that company said something to me and those lines made a mark on me and became the Motto of my life, he said: “Karan, if you want to reach the heights of something then first you have to go into its depths.”
I left that company after some time and worked as an apprentice in a couple of studios in New Delhi doing graphics for TV commercials, Logo Animations and side by side doing a short term course in Maya before going to Dubai for a job hunt in late 2003 and that’s where the turning point for my career came, I met these guys there who saw my work and said “Karan, Dubai is not the place for you at the moment, if you want to make 3D CG as your profession then go to Mumbai and learn from the Industry professionals”. They gave me a list of people to contact and with a reference letter and early Jan 2004 I was in Mumbai The City of Dreams what people say and from there I never looked back. Worked in Mumbai for 6 years then went to London and now in Tokyo, Japan for the last 9 yrs.
The journey was hard and struggling but a joy ride too had the privilege and honor to work with industry veterans and clients like BBC, Brown Bag, Mike Young Productions, The Hub Network on the TV shows like Cosmic Quantum Ray, Noddy, Transformers Prime, and Tron which bagged Pulcinella Award, Silver Plaque Award, and Emmy Award, and currently working on projects like One Piece and Dragon Ball which are some of the most popular anime characters in Japan.
Why did you decide to take the Mastering Destruction in the Houdini course? What were your goals here? What did you want to learn from it?
One thing which I love doing is watching VFX breakdowns and especially of destructions, those are the inspiration for me to keep learning, pushing the limits, and polishing my skills but sadly all these years I restricted myself to 3dsmax and Maya, never dared to take that plunge in Houdini, as I was scared, until one fine day I saw Applied Houdini Course and I said to myself NOW is the time, I immediately took the entire course and started my journey towards Houdini, I was so excited about it that at the beginning I remember spending 14-15hrs of the day studying Houdini.
I myself have a passion for breaking stuff wanted to learn and go more deep inside the destruction workflow of Houdini, that’s when I saw this information about the seminar on Mastering Destruction in Houdini which Keith was conducting in Tokyo, I attended that seminar which was a good overview of the techniques Keith uses for destruction in the production environment, I was really impressed by it and I decided to take the same course which CGMA was offering on Mastering Destruction in Houdini with Keith Kamholz as our mentor.
Well, I must say that this course has done complete justice to its title “Mastering Destruction” and it’s worth every single penny, it’s a gold mine of tips and techniques, I have learned so much about the destruction workflow for production, starting from developing custom tools (HDAs) inside Houdini for fracturing to fixing the assets and making them destruction ready, to combining your technical and creative skills and make simulations which look believable to the eyes.
What would you say is essential in terms of the production of the destruction scene? What should be looked after from the very beginning? Reference? Key concepts? Key elements?
The key aspect for any destruction shot I would say is pre-production, which includes proper planning right from the very beginning, you need to have clear image in your mind of what your destruction shot should look like, you just can’t take the building for instance from the modeling department and start doing your RnD on it, there are so many things to consider way before the actual production for destruction begins, here are some crucial things to keep in mind before you start working on a destruction shot.
What kind of shot is it? Generic or Hero.
- How far is it from the camera? Which part of geo is visible from the camera?
- How much detailing is required in a shot, based on the camera?
- What all elements are required in a particular shot? For e.g. dust, fine dust, POP debris or RBD debris, rebar, glass shatter, sparks, explosions.
- Is there any character interaction taking part in destruction?
- How can we make the destruction workflow art directable?
- Is there any reference or concept art to follow?
Those being some of the things to consider before the shot begins, there are few important things you have to take care of when the actual shots begin, you need to make sure that your geometry is watertight, meaning it should not have any open edges or else your fracturing process will fail and secondly if the geometry you receive is from some other native 3D software, most likely it will be having name and shading group attributes on it, we have to preserve these attributes till the very end and while exporting the final SIM for the lighters we have to write these attributes as these attributes will be used for the shading but if you are rendering the geo in Houdini itself then you don’t have to worry about it.
What tools did you use here? What way did you work on building?
The first 2-weeks of our class were mainly focused on developing custom tools (HDAs) for destruction and various modeling techniques to fix the asset. Our mentor, Keith Kamholz, stressed how important it was to have such tools (HDAs) handy, which not only makes the production process faster but are also an integral part of any destruction workflow.
The first tool we made was cutter geometry and we added various parameters on it so that we can easily and quickly make our cutters, which would help fracture our building geometry. The parameters category were broadly divided into 4 sections, first being the number of cutters and their resolution and whether the user wants to promote its id attribute, second and third was for adding 2 layers of noise, low frequency, and high frequency with some standard scale and amplitude parameters and last was for optimizing cutters which would help trim out areas which are not required for fracturing and avoid unnecessary cooking time during shattering.
The second tool was shatter geometry, which was just a wrapper around the standard Boolean fracture sop.
The last one was the measure fracture tool, this was really handy in filtering out tiny pieces, which were not required to go in for simulation and thus helped in optimizing the fractured geometry. The parameters added were to measure geometry based on area, volume or bounding box and filter those out based on the size threshold.
The building asset, which we got as a part of course material, had some modeling issues in it, so after making our HDAs in 1st week our next task was to fix those modeling issues in 2nd week. Fixing asset is not a fun process of the destruction workflow but a very important one to get use to some of the basic modeling techniques inside Houdini. It’s quite common to get this kind of unfixed geometry in production, which is not well suited for fracture and needs a whole lot of work to make it destruction ready.
The first thing we did was separated the geometry which we won’t be fracturing whatsoever, then we split up the geometry which we would be fracturing and went ahead to fix those sections that required those fixes, the first one being the planar interior walls which we converted into 3D and then boolean fractured the floors with the walls and the walls with the floors, this way we got separated walls and floors for the entire building. Next, we converted the planar rings into 3D by simply poly extruding them along their normals. The window frames needed a bit of work, since there were over 500 window frames in the entire building we first isolated one frame and did all the fixes it required using poly sops like polybridge, polyfill, and polyextrude, once all the fixes were done we then used for each loop to run this fixing process on all the window frames.
Lastly, we did some attribute fixes and clean up before chopping out the area we would be running detailed fracture on, it would be such a waste to run detailed fracture on the entire building when the monster is only destroying a specific portion of it.
How did you work on the destruction effect itself? What are the key elements of it? It would be awesome to learn more about the process!
When you talk about the destruction effect the first thing which pops in your mind is the RBD (Rigid Body Dynamics) simulation which is considered as the backbone of the destruction process but often the backbone alone is not sufficient for a shot, it needs multiple elements or layers like debris, fine particles, dust which are triggered from that base RBD simulation to make your shot look complete. So basically you end up stacking multiple simulations on top of each other, which become a destruction effect, and in this shot apart from the base RBD sim we added key elements like POP debris, RBD glass shatter debris, and PYRO dust.
Setting up the base RBD simulation is the most crucial and time-consuming process, which needs to go through various stages like optimizing fracture, updating constraints, creating proxy geometry, generating procedural and manual clumps or clusters on constraints, setting up the RBD sim properties, and finally doing post sim tweaks.
Let’s briefly walk you through all stages, once you have your fracture cached you need to call out tiny pieces that will not take part in the RBD sim what so ever because we will add those tiny pieces later as debris in a separate element. After you lock on the fracture, you need to update the constraints, you do that by running a per primitive loop on constraints to check if the fracture piece name exists on it, after that you make proxy geometry of the high res fracture pieces cause you will be doing your RBD sim on these proxy geos for faster feedback.
The biggest part of art directing your destruction workflow comes from defining clusters or clumps, a building would never break into millions of tiny pieces, there would be some big or small chunks of pieces staying intact when falling or often the supervisor or the director would want you to keep a portion of the building intact for story purpose and that’s where setting up clusters or clumps comes into play.
The last but not the least thing that you need before you start testing your sim is setting up the RBD sim properties on the fracture pieces, it’s the stage where you can control or set parameters like speedmin, speedmax, spinmin, spinmax which are understood by the rigid body solver. Once you are happy with your RBD sim you cache it out as points and attach your high-resolution pieces to it.
Post sim tweaks helped in refining the sim at sop level, like fixing cluster pops or adding crack details or floor sagging. The idea is that you work directly on the raw cached sim points, do all your fixes on them, then extract it transforms, and put it back on the raw sim points.
How did you render the scene? How did you work on lighting? What values did you use? How many sources of light are there?
Rendering this shot took me long, as this whole project was done on my home computer which is an old iMac running on just 24GB RAM and I am happy that my poor machine pulled it through LOL. All together it took me around 1 week to render all the layers, 7 layers to be precise and those were the hero building, debris, glass shatter debris, dust, monster, background buildings, and the sky, the hero building, and dust took most of the time to render.
I had a clear picture in my mind of the look I wanted for this shot as I didn’t want to copy what Keith did, so I used 1 environment light with an HDRI map that I got from this excellent site HDRI Haven for pretty much all the layers except for the monster in which I added 1 extra key light and to have that GI feel I used PBR (Physically Based Rendering) render engine for this shot. So basically lighting itself was pretty much straightforward.
What challenges did you face when working on this project? How did you overcome them? What lessons did you learn during the course? How did mentors’ advice help to make this project better?
Talking about challenges well, to be honest, there were a lot, but as it’s said life without challenges would be so dull and boring. I will categorize them in 3. Time Challenge, Hardware Challenge, The Technical Challenge.
Having a full-time job, that too with tight deadlines and top of it enrolling for a course like this, which really demands your time and effort, it was a bit of challenge to manage, I use to work till late night every day to be able to submit my weekly assignments right on time so that I could get feedback from our mentor Keith Kamholz, because those feedbacks were really important for me to know my mistakes or area where I could improve and that’s how you learn, polish your skills and grow as an artist.
When I enrolled for this course I was a bit scared as my hands were tied to specific hardware and that was my home computer, I was not sure that it could handle such an FX heavy shot, so I had to constantly keep an eye on the performance monitor to check how much processing power and RAM its using and then optimize the workflow accordingly like not going too much crazy on the cutter geometries for fracture or unnecessarily adding too many voxels in pyro dust sim, to going ahead and removing a portion of the sims outside camera’s frustum but I am glad that all the settings worked out pretty well for me and my computer was able to handle it nicely throughout the course.
To be honest this is not an easy course, for me personally setting up the procedural and manual clusters for constraints was the most challenging part. This was something completely new for me and it took me a while to understand the process. Often, I used to get stuck in some technical problems which I was not aware of, but thanks to our mentor Keith Kamholz who was always there to support us throughout the course.
Well if I have to make a list of things that I learned during this course it’ll end up being a long, long one, in short, all I can say is Keith has opened his treasure trove of Houdini tips and techniques in this course, not only he shared his production quality techniques for destruction but he went beyond that during live sessions and on the forum guiding us and shared his enormous wealth of knowledge he has in Houdini and that’s the characteristic of a good mentor.
The best part about Keith was that he kept insisting us throughout the course to try and play around with different settings and parameters so that you just don’t end up copying what he did, and I guess that really made a huge difference in my shot, you learn the techniques and then try putting your own character to the shot so that your version stands apart from others and that’s exactly what I did.
In the end, I would like to thank CGMA and Keith Kamholz for helping me in setting up this milestone in my journey towards Houdini, still, it’s a long way ahead but as it’s said “A Journey Of Thousand Miles Beings With A Single Step.”
Karan Jaura
Senior FX Artist Toei Animation
[email protected]
https://www.linkedin.com/in/karan-jaura-0593b715/
Interview by 80.LV