Natural formations — such as cliffs, stones, sand dunes, are hard to create manually. Of course, skilled artist can come up with a workflow and sculpt an amazing rock, but it takes a lot of time and is not particularly creative task (At least after first couple pieces have been finished). Once you need a lot of them, it becomes hell. It is hard to keep consistency between all pieces — especially if you have to make a hundred different pieces of different shapes and sizes. Even bigger problem is if there are some changes to art direction — for example, there is a decision to change all rocks to more sand-stone look. Actually, there could be a lot of reasons for changes, and as a result, poor artist would have to redo all hundred pieces by hand. It is just insane — it takes a too much time and nobody would even want to do that without drinking excessively.
Because of all this, more efficient approach is to use some form of procedural generation. For hero assets, we can still use a manual approach, but even in that case we could automate some of the process — for example doing main forms by hand, but generating fine details procedurally.
Almost all natural phenomena (landscapes, rocks, plants, clouds, water etc.) are good candidates for procedural generation, because contrary to man-made objects, natural objects are shaped by some common natural processes and laws (rules of physics etc.). Knowing these rules, we can try to approximate or emulate them in our procedural model. Once we establish this model, we can generate an infinite amount of variations – all completely consistent.
Sure, making completely procedural models and environments, is boring – we want to keep some level of manual control and ability to direct some aspects – points of interest, shape things to our needs – for example gameplay of a game level. This is the part that human artists are good at. Also, it is the fun part – making high level decisions yourself, but leaving low level and repetitive stuff to the computer.
I spent a significant amount of time on exploring how to build procedural asset pipelines using Houdini as a main tool. I went through all phases of asset creation and managed to create “one click” solution, that can generate any amount of assets based on user input. Using these methods, you can solve very different asset creation problems – with different amount of proceduralism.
I utilized Houdinis Procedural Dependancy Graph system (PDG), to chain together several tools – including Houdini itself, RizomUV, Substance Designer and different supporting python scripts. This allows generating assets in parallel or even distribute among multiple machines. By building your asset pipeline this way, you can easily iterate on different ideas and easily re-generate huge amount of assets without manual work involved.
I’m convinced that this is the answer for cost effective and flexible asset creation for different scale projects.
You can read about my explorations in these four articles:
Creating procedural game assets with Houdini. Part 1
Creating procedural game assets with Houdini. Part 2
Creating procedural game assets with Houdini. Part 3
Creating procedural game assets with Houdini. Part 4
Updated version of Collector project. I used this asset pipeline for all rocks, stalagmites, sandy ground, column destruction and FX vector field generation.
One of the rock style variations – demo assets.