@damaggio I used to do contract work for film, and my workflow mostly mirrored yours. I got a LIDAR scan, somewhat remeshed. I started with a simple extract of a heightmap, and then working from there similar to your workflow, maya and mental ray/renderman. Did that for, close to 14 years. Since 2020, I’ve stopped taking uncredited contracts (basically all film contracts lol).
Nowadays I’m working on some reusable terrain assets, yet to be finished. Friendly contracts keep coming in, but grunt work is nothing to write home about. Going to outline the asset workflow below.
I’m building reusable terrain assets. The final product is a very lightweight data set, complete with an optimized mesh, PBR material, and masks for the megamaterial components. Here’s an example, still a work in progress (I have very little personal time nowadays, got four other businesses, that I inherited recently).
Island project continuation
Snowy mountains redux - #7 by WFab
The project starts with an idea. Sometimes I’d look for a reference, but mostly I’ll start doodling away directly. I start most of my projects in Quadspinner Gaea (great for prototyping, and fast). Once I have a reasonably decent profile, I’ll bring it into World Machine for further additional work.
Once I’ve brought the terrain into WM, I’ll spend a lot of time on the terrain and other data. Gaea phase is maybe an hour max, World Machine phase is multiple months on and off. I’ll expand on wm bit in detail in the 3rd answer. After World machine part is done, I use Blender, Xnormal (dropping it in favor of wm with the next project). The goal of any postwork, is to clean data, correct normals, fix masks, make everything aligned and scaled, and named properly. This post work again takes a lot of time on and off, since this part is the most boring and repetitive, and I have other businesses and household stuff to attend to that’s interesting lol! The final asset should be usable in a flexible manner, independent of render engines.
As I’ve mentioned above, 8 times out of 10 I’ll start a project in Gaea. I’d usually take the data I got from gaea, then turn it on it’s head using world machine noises. Advanced perlin can work wonders, combined with Gaea’s brilliant terrain profiles. If I have coastal erosion planned, that goes first after the shape is done. Along with any “world breaking/moving” terrain effect or transform. Then I’ll do a “Flow restructure” and “Create water”, since I need rivers and other water bodies fleshed out before I can do any other type of erosion. Once I have a basic terrain shape, with water bodies fleshed out, then I can go crazy with erosion filters. Water plugged into erosion nodes gives them a very natural sediment removal, you can do a lot of stuff naturally this way. Once I’ve got my final terrain figured out, then the fun part starts! I work in stages, outlined below:
Stage1: Terrain in full, erosion, snow pass, everything. I’d output all that into a library output, every wire named properly using a checkpoint. Terrain heightmap, water, and all the masks raw, go into this library. This is an intermediate library I’d use for material building (since materials appeared in wm, earliar I did it in Blender using corrected masks).
Stage2: Materials, and dataset cleanup is done during this stage. This is the most complex and memory heavy part, so separating it helps keeping things optimized. Sometimes, I split this part into multiple stages to keep it responsive. Earlier, masks needed a cleanup as well, but now the “layers” device does that automatically (mostly, first mask still needs to be cleaned or corrected, along with partially transparent masks). Again, terrain, material, water, and all of those new masks are exported into a new library, this time all data is cleaned and marked as “final”, and this is the library I’ll keep for the future. Usually, it’s a big memory dump. The Island I linked above had 26 assets embedded into a library, about 22 GB worth of data.
Stage3: Meshing, and exports are either done during this stage, or exports are separated into it’s own stage. The terrain and water is meshed, multiple LODs are created (sometimes in Blender). Normal maps are created, combined, high frequency details are separated and combined with the megamaterial detail map (normal combiner is something I specifically requested during Alpha, saved me a roundabout trip to xnormal or Blender). Then all this data is re-embedded into the final library, ready for exports.
Stage4: Exports are done in a separate graph, in case things need to be exported into different formats. This way, my whole project is baked into a cleaned memory dump that can be used for any kind of custom exports without rebuilding the whole terrain and material graphs again and again. I can go back and forth from this last tmd file to my heart’s content, naming and renaming stuff to make more sense.
Since I’ve started working at my own pace, building assets has been a lot of fun. Now getting them ready for release, again is tedious job like film contracts lol, but working on them at a snail’s pace.