At Siggraph I briefly saw a part of a presentation where some guy (I'm sorry I don't remember who it was) did some RBD explosions and having crowds running through, being blown up. I had some time to kill today, and it was about time I did another RnD session in Houdini. So I figured I'd give it a go! Had a lot of fun with it, but things started getting pretty slow at the end, so didn't tweak it much. More a proof of concept. I realize I barely dipped my toes in the crowd system, but it was pretty cool. I'm working on a Star Wars scene on the side, so I'll probably incorporate the same crowd behavior there later.
Anyway, this was a great exercise on many levels. First I set up a completely procedural RBD destruction setup. It was tricky to get right, and there's always these ting you forget. Like Metaball forces are inverted! I kept tweaking settings and for the life of me I couldn't get it to behave properly. It wasn't actually until I got to the crowd setup and seeing those poor men being sucked into the explosions I remembered that I need to invert the force! Damn.. I did this whole custom workaround setup with a SOP Solver to get around it. But happy I figured that out at the end.
Adding forces to the crowd sim wasn't very self explanatory either. I tried adding the pop force all over the place, until I found it working below the Crowd solver. A bit strange..
Also I can't help think there's a better way to bring in the RBD sim. I brought it in as a deforming static object set to concave. It of course made things really slow. I deleted all smaller pieces to speed things up a bit, but yeah, that was a major hit on productivity. And my goal was getting something done and out in one night.
At the end I got everything working fine though. Next would be to tackle the pyro explosions.. Hope I'll get to that soon
Not too long ago I got the email that it was time to renew my Houdini Indie license. That’s when it struck me. It’s been a year since I first got Houdini! A year long learning experience started. A purchase I initially did because I was working on a personal project, and needed to mesh some particles. Pretty silly, but compared to some 3dsMax based meshing plugins, Houdini Indie not only was the cheapest option by far, but also a full production software! And I’d be allowed to use it for freelance projects.
I wanted to reflect a little bit around my first year experiences that sort of unexpectedly ended up with me transitioning completely from one package to the other. I haven’t seen any articles about this around. Sure, there are tons of people saying one or the other is better. Or people that swapped and “never looked back”. But what’s the ups and downs, pros and cons, completely moving from 3dsMax to Houdini as a production package?
Keep in mind, these are purely my own thoughts and experiences. I by no means consider myself a Houdini expert, and there are several aspects of the program I still have yet to properly dive into. Also, I won’t spend too much time on the simulation aspects, but do a more direct comparison as a generalist and using Houdini as a complete production tool - and why I left 3dsMax behind.
I first started learning 3dsMax back in 2003, and my first full time job in 2005. So I’ve been a long time, dedicated user. I had a year as a Maya artist, but otherwise I’ve been using 3dsMax the whole time. I’ve always considered myself a technical generalist, and my jobs have usually required me to take a project from A to Z myself, or in a team or two or three. So I do feel I know the package in and out. A fact that made it really hard to let go. Since 2010 I’ve mostly worked with CAD models and geometry heavy scenes. Sometimes doing beauty visualizations, other times working in 100 million, or more, polygon scenes with lots of rigged equipment and animations going on. To clarify, that is AFTER the models were reduced down to roughly < 5% of the original size. Sometimes with VFX and simulations added as well. So this is my perspective writing this article. Keep in mind that people work with different things and complexity, and from that your requirements and user experience will vary a lot.
As a side hobby the last couple of years I’ve been learning some more traditional VFX work as well. I joined Allan McKay's online FXTDT mentorship and his Live Action Series when it first launched. So I started out with Thinking Particles and FumeFX in 3dsMax, but my main focus here will, as mentioned, not be on comparing those aspects.
3dsMax used to be known as a great modelling package. It’s been quite a few years since I did any advanced modelling, but I do know Max is lacking some of the more complex tools you find in for example Modo. I don’t mind it though, it is what it is. It has the import important tools and the modifier stack works great in my eyes. I wouldn’t consider it to be fast though, unless you set up and get used to some hotkeys. Performance is great, until you start adding Turbosmooth, soft selections etc. Booleans is often a hit or miss if it’ll work or mess up you model. I think the implementation of MCG was a great addition to 3dsMax, but I find it ironic that you can recreate many of the modifiers that ship with Max, and it’ll be much faster.
Houdini have for a long time had a bad rumor as modelling package. You had to base your modelling on a base shape and every operation would be a node in the network view. They’ve really come a long way on this now, and the new Poly Draw node SideFX have previewed for Houdini 17 looks like the one addition it really needed. Enabling direct viewport modelling, and keeping it all nice and tidy in one node. I’d say this is now more comparable to the modifier stack in Max. It’s highly based on hotkeys, and looks to have a few features that even Max is missing. All in all. I’d say it’s looks like it’d be a tie between the two when it comes to pure polygon modelling.
Houdini has a huge benefit that you can convert your meshes to volumes and run noise operations on them, carving out details, creating highly detailed and organic shapes and bake it down to geometry again. If you start looking into these extreme high detail models, Houdini takes the lead. It’s not sculpting, but it gives an edge creating models that would be more or less impossible to create in 3dsMax. Booleans in Houdini are also a beast, and really powerful since they can be calculated on a per frame bases, having animated booleans and other pretty cool features.
I would also have to mention the Terrain tools in Houdini. Although they’re not directly modelling, it’s something I often needed and struggled creating in 3dsMax. I used to depend on some displacement based scripts and images, but actually having terrain tools, erosion calculations and flexibility to bake out masks for any feature in the terrain you like is unbeatable. Creating terrains and background mountain ranges have gone from being hard and frustrating to a fun task to handle.
To me 3dsMax is very traditional when it comes to unwrapping. It’s something I try to avoid as much the plague on complex CAD models. I mostly depend on triplanar and procedural shading instead. That being said, sometimes you have to unwrap. There are no good shortcuts in Max here, but it gives you a fairly good amount of control, but not really any advanced tools. Some undo issues can be a major PITA. Don’t know how many times I’ve ended up having to delete the Unwrap modifier and start over!
Regarding textures I was really happy once Autodesk finally came with the Slate Editor. It gives a great overview, and I do like the many nodes and operations 3dsMax comes with. The lack of good noise patterns is a drawback, but the third party Bercon noise plugins make up for that. My main complaint here is that performance drop significantly as things get complex. Loading up materials can take quite some time when you open the editor.
Houdini on the other hand seem to mostly base unwrapping on procedural and automatic approaches. I’ve tried the Auto Unwrap that’s in the Game Development Toolkit, but it seems to be extremely slow on anything but simple objects. It looks fairly decent when it works though. I do miss the feel of manual control here, but I think it’s more my old way of thinking. The new Auto Seam and tools for detecting and overlapping identical and mirrored islands coming in Houdini 17 looks both fast and amazing. It might just be what I’m looking for. I won’t judge before I get to try this properly in production though.
The Material view in Houdini is similar to the Slate Editor, but it’s definitely more complex, and I think it’s closer to other 3D software and Maya when it comes to the nodes you have available. It’s clearly more basic nodes. While Max has for example the Composite node that is familiar to Photoshop layering, Houdini uses the more raw math approach of Add, Multiply and Divide nodes. My biggest drawback of the whole material creation is that there are absolutely no preview windows! And texture display in the viewport is not something you get by default either.
This is the biggest negative remark I have with Houdini so far. If you get a fast GPU renderer, it somewhat makes up for this. But with a slow renderer like Mantra, I think texturing and look-deving in Houdini is both slower and harder. I heard rumors and was hoping to see preview windows in Houdini 17, but doesn’t look like they’re there. I understand actually rendering your materials is more accurate, but you don’t always need accuracy when mocking things up. Sometimes it’s just fine to see what your texture map look like, what your settings in the color correction node does to the map, or a quick representation of the noise pattern.
I have to give 3dsMax the win on this one.
This has been the main kicker for me. Starting with the User Interface, Houdini comes out strong! You can set up your workstation exactly how you want. Multiple presets are delivered of the box, and it’s just so simple to modify and change things as you go. Everything is responsive and feels intuitive. Plus for having UI hotkeys for splitting views, network view bookmarks etc.
3dsMax 2019 User Interface upgrade was a MUCH needed addition. Detachable and dockable panels are the way to go to make things more customizable (and finally 4K support!), but has proven to just be a huge annoyance in production. Once you work with heavy scenes, the UI gets really sluggish. As it always have in 3dsMax... But now you can move a window around, you release the mouse button, and then because of the lag it decides to dock somewhere - moving everything around. Leaving you to spend time undocking and reorganizing your layout. And you still cannot detach or duplicate the main viewport!
3dsMax does has a great, raw viewport performance though. It handle a lot of polygons with a good frame rate - but that doesn’t translate to good performance in production. Once you add in rigs, helpers, object links and other features, just tumbling the viewport can be a nightmare. I can understand slow animation performance, but to me it doesn’t make too much sense to see frame rates drop from 90 to 0.01 and major freezes while just rotating the view. I’ve had scenes where Max would hang extended periods of time every time you tried to rotate the viewport, create a selection or basically do anything. There were no animation or anything else in the scene. Snapshotting everything, cleaning out rigs and helpers got the performance back to “normal”, but that’s just not how production work. This has been my main annoyance with Max for years, and it’s unfortunately just been getting worse. Yes, raw polygon performance has been improved, but actual production scenes can be near impossible to work in. And once the viewport is slow, the whole UI crawls as well. Unlike Houdini where you can have a slow FPS, but the UI is still fully responsive. Houdini also has the performance monitor, where you can pinpoint anything that slows down your scene, cache out animation/models, or do other counter-measures to prevent the lag. 3dsMax is a black box where it’s at times anyone’s guess what’s the problem. I honestly didn’t even know how bad it was until I had done my first full project in Houdini and went back to Max. It felt like working submerged in yello, everything is just slow and harder.
Pure matrix/translation animations can be more tricky to set up in Houdini. Especially on complex models with multiple parts. To preserve performance you need to separate your moving pieces and animate things on the Geometry level - if not the whole model gets evaluated per frame. Guessing Houdini treats anything animated inside a GEO SOP as vertex animation, and slows down. Once you know how to handle this, it’s all ok though. But it’s absolutely some extra steps to set up compared to 3dsMax. I prefer 3dsMax more direct approach to this.
Adaptive viewport degradation is available in both programs, but again here 3dsMax lags considerably deciding what objects to hide. I have not experienced this lag in Houdini, and Houdini filters out the objects furthest away in an excellent manner. You can also customize the threshold here yourself, limiting the viewport to for example only show 10 million polygons at once. This have actually saved me on a couple of projects where we didn’t have time to properly reduce the incoming models and a camera animation milestone was looming. 3dsMax was hanging, crashing and being impossible to work in. I imported the same scenes in Houdini, where I experienced no lag and a good frame rate. Leaving me room to comfortably animate the camera. Same story when exporting viewport previews.
Clear win to Houdini here.
Haven’t been able to do too much testing on this in Houdini yet. For CAD I’ve often relied a lot on the HD-solver in 3dsMax. I haven’t seen anything like this in Houdini, and in general rigging setup just seems a bit messy. I hope to get a better understanding and overview of this soon, but for now I gotta say 3dsMax has the upper hand with more options.
I found another benefit in importing CAD models in Houdini. While 3dsMax is superior on supported file formats, Houdini imports for example STL files in a fraction of the time that 3dsMax need. Also the poly reduction tool in Houdini have proven great in production. Keeping details and you can set it to dynamically reduce models by a threshold value. It’s not as good as trusty old, tedious manual reduction, but you can get 90% there in minutes. It has become a key tool for me. Downside is the export, where the Houdini FBX exporter seems to save complex models as one mesh. Alembic exporter works better, but this is still something I’m researching.
State sets and references are both still a mess in 3dsMax. State sets are usable if you just know how to work with them, but any mistakes and you risk messing up your scene. Houdini’s system here seems to be both working and stable. And it’s easy to fix mistakes and do changes down the road. Mixed with the option for having multiple Render Setups, Houdini always leaves me to keep everything in one scene, while in 3dsMax I might end up with 4 or 5 separate files for a scene. And once you’re down that road it can be a huge issue dealing with changes!
That also brings me to file sizes. All software has bugs and crashes. 3dsMax takes a couple of minutes to start with some plugins installed. Houdini is up in about 5 seconds. Since Houdini lets you cache out any data, my working files are rarely more than a few Megabytes. I don’t even notice my auto saves happening. My 3dsMax scenes on the other hand are gigabytes in size! Saving them on the network can take minutes and auto saves is often disrupting my workflow. Even though my Autobacks saves locally, I unfortunately often ended up cancelling the save progress. Which gave me the back side of lacking backup files if my main file got corrupted!
Houdini have the option of not “cooking” the file when you open it. Meaning it will open the file, but not try to calculate or show anything. This feature have saved me every time I end up with a file that crashes when I open it. I can go in, undo what I did to cause the crash, and be up and running again in minutes.
For me this came down to a question of what program lets me work the most efficiently. Struggling with 3dsMax’ performance issues and random hiccups and “not responding” really ruins the workflow for me. Also being dependent on several plugins, having to wait for all to update and work out bugs, quirks etc after new releases was a downside to 3dsMax. There’s still aspects I like better, and many things I can do faster in Max, but it doesn’t help when I’m in the end struggling with the software not being able to keep up. The 3dsMax 2019 release was sort of a nail in the coffin for me, with procedural wood textures being highlighted as the main new feature, I felt Autodesk’s focus is just in the wrong place for me.
I still have my struggles in Houdini. It’s a steep learning curve for sure, but at the end of the day I’m okay spending some more time here and there as long as the software itself isn’t the thing keeping me from moving forward. And it has been a nice change feeling excited about new releases and new features again!
I also have to mention that SideFX has an amazing support team! I’ve sent them questions and scenes with both bugs and silly user errors on multiple occasions. They respond, help and look into issues within 24 hours every time. Trying to get a hold of Autodesk support on the other hand… well, good luck with that :)
I hope this gave a small insight between the two. As mentioned in the start 3dsMax is a great tool for many uses, and if your scenes aren’t crazy heavy it’s normally a good performer as well.
I deliberately didn’t bring up the software prices here because that all really depends on your situation, income, plugin needs and so on. I’ve seen some of those discussion before, but everyone has different views and needs.
Being used to both pFlow and Thinking Particles, Houdini's particle system seems a bit un-intuitive at first. Took me a while to understand the Pop Replicate and that particle source threads actually are processed separately. Once I got my head wrapped around this, it wasn't that much different, after all. Perhaps a little bit messy, compared to the others. But at the same time way more flexible. Which I am starting to get used to with Houdini nowadays, haha.
I wanted to replicate a slow motion video I found on YouTube. You can see the reference video embedded in my video below. It's a large ember falling to the ground, once it hits it explodes into a massive burst. Most of it dies out quickly, some sparks lives longer, and quite a few bursts into even more particles both on collision and after just jumping around on the floor for a while.
I thought this could be an interesting effect to tackle. It's not too complicated, once you understand the flow of the Houdini particle system.
The first particle is spawned randomly from a grid plane in the air. It's given a pscale, and once it hits something I have three Pop Replicate threads spawning. All three reduces the original pscale. I haven't added randomness to this, but that'd be an easy task to do.
The first burst is the massive, but short lived burst. Second is a a smaller burst, but with longer living particles. These also explode into multiple particles on collisions. The third replicate are the longest living particles. On birth I give them a random chance of exploding into yet another burst or particles once it hit a given age. On top of that all particles are gives some random velocity jittering when on the floor. Making them slightly bounce around. A separate particle thread controls the gravity, drag and other general forces.
That is about it for this one.. All rendered with Redshift. Not quite happy with the motion blur on this, but I wasn't really focusing on a nice render this time. Just getting the effect right.
While listening to "Pixies - Where is my Mind?" today, my mind wandered off to some rather strange places. Started thinking about brain signals, nerve threads, how we're all put together, and how it all can be visualized in so many interesting ways. A bit back to reality, I got inspired to create a procedural DNA strain. Figured if i can do that, it's not that far fetched to build on the same setup for other very interesting and organic assets. I won't be able to share the file for this one, yet, but figured I'd do a quick rundown, half tutorial if you want.
As always with my scenes, I want it to be as easy as possible to use, and highly re-usable. Houdini is just so perfect for these kind of setups! My input is a single NURBS curve. Thanks to the great team at Entagma, I pulled up a saved wrangle I had created earlier from their Parallel Transport tutorial. Link to their tutorial here.
Shortly told, Parallel Transport are tangents/vectors that follows the direction of the spline. Having three vectors - or a matrix - defining the direction, you avoid having 180 degree flips and such things a single vector like the @tangentu attribute might cause. These can be piped in the @orient matrix for full control of the rotation at each point on the curve. With the orient matrix as input, I could easily add a few degrees rotation per point with a simple Point VOP and export this point normal.
Once I had the rotation per point set, I displaced the line along the new normal, getting a nice twisty look. For the second edge curve I just branched off, duplicating the line, and inverted the displacement. Now I was left with two twisting lines rotating around each other. Since they both have the same amount of points and live in two separate threads, I knew both curves would have the same @ptnum position lining up. Creating the bonds where just a matter a simple VEX snippet. Looping through each point, getting that point number position from each curve and creating a poly line connecting them.
As a final touch I added some randomness and curve controls for the thickness and detail, and collecting all adjustable parameters in a single Control Object for easy use.
I'm currently working my way through the Studio Oriented FX tutorial series by Timucin Ozger. This is a pretty good and in-depth tutorial for anyone interested, but for learning purposes I'd recommend you watch through the videos first, take notes, and then create the shots your own way. This tutorial is a lot of work and tweaking settings. Here's a work in progress on one of the shots so far. Also testing Redshift 3D with this project, which has proven to handle this without any hesitation! Cudos!