Allstar devices and device combos

Hi all,

do you have allstar devices or allstar device combos you use time and time again because they have proven to deliver great results, are very flexible or are just great to work with? If yes, why don’t we share them among us :slight_smile:

Let me start:

  • Layout/Shapes device
    As I have mentioned in some of my other posts I think this is one of the best nodes in WM and for me one of its USPs. Shapes are so flexible they can be used for masking, for shaping terrain, for rough blockouts, for manual texturing etc. But the best function is that they work as an interface within World Machine. A battle-tested workflow I used in the past was to create a node-network for a specific, art directed terrain and then I could hand my prepared node-network to other team members and only had to teach them how the shapes work and what they do, they didn’t need to understand all the details of the node network and this ensured that the artistic direction was very easy to respect and terrains could be created in a quick and easy manner. Love this node! Especially for game terrains shapes offer a great deal of control and can be mixed and matched with the amount of randomness you want or don’t want.

  • Expander
    I remember some years back I hesitated to use the expander because it tended to be very slow and expensive. Today I use it a lot. It is such a great device for shaping rocky terrains, blowing up details (especially important for smaller scale terrains), manipulating masks and much more.

  • Terrace
    Very simple device but with many cool usecases. Be it strata, cartography lines, thin lines in the sand, sedimentation texturing, terrace can help you out.

  • Advanced Perlin
    I guess this is obvious but this is pretty much the starting point of so many different terrains, masks, textures and so on. It has so much flexibility and can create so many useful noises I cannot imagine WM without it. I love to use high frequency perlin with square expander and erosion to create nice blocky rock shapes.

Devices I was always interested in but never found the right application for them: Thermal Weathering, Curves, Mimic, Flow Restructure.
What about you?

For me, the Thermal Weathering device, especially the old version, is a really powerful shaping tool. I use it in a lot of scenarios, for example, to trim/extend masks, or to create nice foothills.

Another powerhouse, is the Composite Type device, letting you open up complex data types, gathering data and manipulating it.

1 Like

Oh ok cool do you maybe have some examples for thermal weathering? I never used composite type and from looking at the device I have no idea how it works or what it does, can you elaborate? Thanks! :slight_smile:

You can use both, for example, to grab the depth of the rivers (more precise/useful than the Tributary Mask in some situations), then use the old Thermal Weathering device to thicken the mask and do something with it.

But some more advanced stuff is to create lakes with the Composite Type device.

First create a crater/empty lake.

Fill that lake up with a constant device, this represents the water surface. The Get Differences macro ensures we only fill up the part that is created by the crater/empty lake.

We take the depth of the waterbody.

Create the vector map for the waterflow, using the Composite Type. Since we have a lake, it is no flow, which translates to half a world’s height for both the x and y vector map.

And then, using the Composite Type again, we create the water body.

This is a very crude “how to lake” guide :wink:

1 Like

Wow okay that is … pretty advanced, at least for me and I am honestly not sure if I understood everything correctly. But the ELI5 version would be that the composite type node can utilize parameters or functions that are normally encapsulated within World Machines code? Please correct me if I am wrong. Also you seem to be very experienced with WM, you don’t have a tutorial series or some best practices you can recommend by chance? :smiley:

1 Like

Advanced for sure :wink: And yes, kind of like that. Instead of code, what the Composite Type can open are Data Types, so instead of just a heightmap, bitmap, or parameter, it can contain multiple of those in just one wire, reducing a lot of wire mess.

And yes, I have a few tutorials, and more are on the way, but sadly I don’t always have time to work on them, so the upload schema is a bit of a mess. You can find them here.

1 Like

Subscribed! Thanks for taking the time :slight_smile:

1 Like

“Composite” and “library” devices became pretty central to my workflow the day they came out, so those are pretty important to me. Besides that, water nodes also became part of my everyday workflow pretty quick.

1 Like

Cool! Could you elaborate a bit further how you are using the composite and library device?


My workflow nowadays involves splitting any given project into multiple stages, or multiple terrain graphs. For example, building a terrain in one project, generating masks in the second, and building a complex material graph in the third. Libraries are basically memory dumps, or caches. They help with linking multiple world machine projects into a chain, baking high resolution data on disk saves processing time, and using libraries save “project setup” time.

Composite device helps making very complex masks for material building. In essence, it either packs or unpacks “composite datatypes” in word machine, into its component pieces. For example, it breaks the “water datatype” into it’s components, so you can extract it’s motion vectors. Or you can use it to pack or unpack a PBR material packet in world machine, into component maps that you can edit separately.

Edit: Here are some future possibilities explained by our fearless leader.

That sounds great! At the moment I am used to working in one large graph (although I am not building huge worlds) because I like the possibility to have all data from all devices available at all times.

Here is an example of one of my current graphs:

I know it looks a bit chaotic but right from the get go I feel like stuff is super interconnected. Nodes at the very end of the network take inputs from the start of the network. For me it feels hard to split it up. But of course this has problems, at times I need 256GB of ram (this file uses 4km² and 16k res, 0.25m/px) and when I change something at the beginning it takes about an hour to calculate the whole graph again. Do you think this is something that library devices can solve? Do you maybe have some examples of how you organize your graphs? Thanks!

Edit: How are library inputs different than just outputting and inputting image files apart from less devices and less files to fiddle around with?

1 Like

That’s a noodle soup for sure!

It’s different in two ways.

  1. Less complexity, and file dumps to deal with. Less setup time in the next stage. So yes, its what you suggested.

  2. You cannot use this memory dump “outside world machine”. For that you’ll have to use file inputs and outputs. It’s mostly useful for various forms of caching usage.

There’s a few ways libraries will help you simplify that noodle soup.

  1. You can separate your “coloring graph” from your main graph, or even “granular masking” from your main erosion etc masks. All 3 of those groups can be separated into separate graphs.

  2. The overall processing time is also separated this way, so you only have to build your terrain once, not every time you tweak a single mask or color gradient. This will also work with caching right inside project, but you’ll have to disable parts of the graph you dont need, every time, to save on memory and processing time.

1 Like

Btw, this discussion inspired me to do a tutorial on this topic!

1 Like

Wow awesome! Will check it asap (after the holidays probably ^^) Have a lovely Christmas!

1 Like

Thanks! You too :slight_smile:

1 Like