I really like how you've articulated your entire process. This was a very enriching read. A Well deserved feature!
Great article! Thanks for the awesome read.
Wow, this is so cool! Nice job!
3d artist and talented coder Clovis Gay (Hocus Pocus Studio) gave a little presentation of his upcoming PhysX Painter tool. It’s a cool utility for 3DS Max, which helps you to fill you scene with objects in a physically accurate manner.
I’ve always been interested in art, and so I’ve been to some art schools, and I finally decided to go to a 3D school because I loved animated films, video games and all. So, after this school I started working as a modeling artist for an animated serie and then I went a bit in Video Games as environment artist. Right after my Video Games experience I worked for a few years as a 3D generalist in a studio environment where we had to know and do almost everything. That’s where I started to script some tools, and since then I never really stopped.
Our studio is made of two parts, Hocus Pocus studio where we provide 3D services for vfx, feature films, short films, commercials, and corporate stuff, and KinematicLAB which is more my part, where I create, sell or give for free some of our tools. So we really have these two entities, one for the 3D creation, and the second for more technical stuff. I create visuals sometimes, but I’m much more into technical stuff, I do a lot of Rigging and tool development.
As a Studio we sometimes create everything, from 3D to animation, rendering, compositing and editing…etc. And we also provide specific 3D services like rigging, tool developpement, rendering…etc for other 3D animation studios.
For example we’ve worked on Rigging for a movie called Lazer Team, where we had to create creatures and digital doubles rigs, we’ve fully created the music clip for Mystery Skulls called Magic, and a few other projects showed on our website, and some others which we are not able to show right now.
We also try to find time to develop our own projects, like the Civil War Trailer, which was an in-house project to show what we would like to do. And we have a massive in-house project runing as well.
PhysX Painter is a tool done for 3Ds Max, to quickly populate your 3D scenes with assets and place them naturally with rigid bodies simulations. It’s a very easy way of working, with some brushes to paint your assets directly on your ground, delete them, replace them quickly, simulate & re-simulate…etc
It’s coded in Maxscript, and I use MassFX to simulate, so nothing extremely complicated.
That’s very useful during the scene assembling process where you need to put everything together to make your scene believable. This tool can place the assets with physX simulations, but not only, you can paint the assets with no simulation and place them with some random transforms.
So you really can use it in two scenarios where you need piles of things like debris, or anything which should look placed randomly, or you can use it to place any other assets like trees, or street assets…etc.
Placing all the assets manually or runing simulations yourself is very time consuming, so this tool will save hours of work, and look much more natural.
You could also use it in Games, to create piles of assets which could be re-used in your levels, because it comes with collapsing tools, so you can paint/simulate and then collapse in one mesh to export it to your Engine.
This tool only makes instances of your Source Assets so it doesn’t really affect how they are rendered.
The clever thing to do is to use the replacement options to replace the Low Poly versions used to simulate with VrayProxies to have more detailed assets at render time, and also render faster.
Using the Tool
So all the simulation here is done and automated with MassFX, which is a simulation tool inside 3dsmax.
The key to make it work properly is to prevent the assets to overlap during the painting process, so when the simulation starts, they don’t expode. Also to speed up the painting process and the simulation I recommand to have 2 versions of each asset. A very low poly for painting and simulating, and a high version which replaces the Low at render time for example.
- The Gravity can be changed, you can use the World Gravity you have in MassFX, or choose a specific Gravity Helper in 3ds Max to push and Attract in a specific direction.
- The Physicall properties are again set with MassFX so they are Convex Hulls, and you can affect the Contact Distance and have access to all the options MassFX provide.
Unfortunately I only code for 3ds Max, so there is no plan to make it available for Maya or Game engines, But I’m pretty sure some people will do similar tools.