World Machine Development News

Library Output and Input

The second in this time-life series of World Machine Dev Branch feature posts.

This pair of devices is intended to make it easier to compose multiple-world scenarios in World Machine, where you might create parts of the world in one TMD and put things together in another.

The Library I/O devices allow you to store and easily load multiple data packets.


Why would you want to do that?

  1. You might want to use World Machine to create a collection of things such as textures, etc that you want to create and use, but that don’t need to have regenerated all the time. In this case using a library helps tremendously.
  2. You might use this as a workaround for the problems that tiled terrains have with extensive context. You can do your large-scale work in one file and then pipe it into a second TMD for final detailing and splitting into tiles.
  3. You might have a situation where a number of world files share a base terrain and a bunch of associated masks, which you want to store instead of recalculating all the time.
  4. The more textures and mask outputs you create, the more trouble it is to configure all your outputs and store them on disk.
  5. The above are the target reasons for adding this feature, but I’m sure there are more workflows that this will help out with!

The name of this feature is still under decision. I’m considering either Multi, Library, or Stage Input|Output. What do you like better?

How it works

Much easier than creating seperate outputs for each datatype! Simply set the multi-output for the number of packets you need to capture, give it a filename, and hook all the inputs up. When you build/export the world, it will write all of them to disk in a single file.

The filetype is a new World Machine output file format. World Machine has not had a “native” output filetype in its history; I suppose this is actually the creation of that. 

When you want to load them into another world (or the same world, later on, perhaps…), you simply add a Library input into the world and point it at the file. It will create the appropriate number of outputs that you can then use in the new world.

More interestingly, packets will retain all of their world data, so they will be automatically placed at the appropriate coordinates in the world. Like the other file input devices, you will be able to choose the sampling method used on the data.

Why is this feature being added?

Mostly because it’s a simple feature addition that yields large dividends. Particularly when combined with the multi-resolution support described previously, and at least one more new feature that will be detailed in another upcoming post. For things like applying textures to the terrain, being able to load in a library file is a major help.

What’s left to do?

This device pair is about 95% done. The basic functionality is up and running. The only major bits left to do are some UI work and thorough testing!


By Stephen

Founder of World Machine

2 replies on “Library Output and Input”

My vote’s leaning towards “Stage Input|Output” as a name, but “Library I/O” is nice, too. Great addition, by the way!

“I’m considering either Multi, Library, or Stage Input|Output. What do you like better?”

Library and Stage Input/Output are more particular names for this devices, which mean only one porpose of the device. I think Multi Output is more suitable in this case.

Comments are closed.