All posts by Remnant

World Machine Author

Build 3021

Build 3021 is available now and focuses on improving workflows in a a variety of ways.

I mentioned in the last post being interested in what would help your workflow and general usability, and in this release attempted to fix a few common pain points. The full changelist is available on the Update Center (and at the bottom of this post).

Let’s take a short tour through a few of the improvements.

EXR, JPEG Support

This one is simple but long awaited.

JPEG is now supported as a format for input and output. Even though JPEG is a lossy format, it is nonetheless a fairly common one for texture assets, reference maps, etc so it’s very useful to be able to read or write it.

OpenEXR is a different beast altogether. Besides being a long-overdue format, there are a ton of useful features that WM does not yet use, including the ability to potentially put many channels/layers into a single file. If there’s demand, the ability to do this could be added.

Perhaps more importantly, OpenEXR is a HDR format. Right now, WM just clips out of band values to 0..1. In a future release WM will support PBR workflows and HDR color values, and this will come into its own…

Output Manager and Templates

The Output Manager has been dramatically improved to be more useful:

Output Manager and File Templates

There’s a few things happening above:

  • The new Output Manager dialog is easy to use and shows every file path that will be exported
  • Filenames can now use template substitutions within Outputs. The filename for each device is being dynamically created from the device name and the world resolution.
  • Any part of the template path that doesn’t exist will be created. In this example, a “<project> Assets” folder is created to place the “<name>.r16” file within.
  • Outputs within Macros work. You can see the “Unity Export” macro contains two outputs that are exposed to the Output Manager.

Viewport Navigation

A significant amount of work went into making navigation more consistent and easier in all of the various windows in WM.

For the most part, you can continue using World Machine views the same way as you have before — the additional navigation methods are supplementary.

3D View

The new Track command makes it easy to examine areas closely
  • Orbit and Free-look modes now work together as you’d expect. Previously you more or less had to use one or the other as they interpreted the camera differently.
  • The Middle Mouse button now tracks (pans) the terrain. When viewing from the side, this allows you to raise or lower the Z value of the orbit point, something that wasn’t possible before and was sorely needed.
  • The Right Mouse button  zooms as before. However, if you zoom into the orbit point, it pushes the orbit point forward, allowing you to naturally explore the terrain this way.
  • Ctrl and Shift are now global modifiers that speed up / slow down the rate of each action.
  • All of these conventions are basically Maya-style navigation. ALT is not required however 😉

I think you’ll find its easier than ever to just navigate and not have the camera controls get in the way.

Layout View

Layout View navigation has been changed to make it consistent with the 3D view. There is a long-term plan to merge these two views together and let all layout actions happen in the 3D View, so this is an important first step to make that comfortable.

In particular:

  • Left and right click-dragging still pans the terrain.
  • The Middle mouse button now also pans the terrain.
  • ALT + RMB now zooms the same as the 3D View
  • ALT + LMB rotates the view

Device Workview

You got it — the Device workview now also follows the same convention as above (except with no rotation possible).

A few other details were ironed out, including the different roles for CTRL and SHIFT and adding a preference option for preferring to pan or box-select on left-drag — see the changelist for details.

Slope Selector

The Slope Selector has always been a little weird. Many a person has been confused by what exactly the units represent. That’s because, in a decision dating back to the very beginning of World Machine, they were “normalized slope units” — basically a number that represented a slope between 0 and the maximum that could be expressed based on the project settings.

However, that’s useful to approximately no one. So the Slope Selector has been changed to work directly in degrees.

Direct enter in degrees!

You can now also directly enter the numeric values into the boxes. Huzzah! You may also find that the resulting mask is subtly different from before — this mostly doesn’t matter, but this change is versioned because of this.

Little Things

There’s lots of little things I really enjoy personally, such as being able to Copy-Paste (ctrl-shift-V) settings into already existing devices, along with a subtle indicator to let you know if the operation succeeded or failed.

Or finally fixing a couple bugs, like Undo sometimes seemingly not responding, or devices not being rebuilt inside of macros if they weren’t connected to an output…

What’s Next

That’s all for now! This release focused on common workflow complaints; the next release sometime early this summer will be a “named” release including some major new features that I can’t wait to share with you all…





The Details…

Build 3021 Changelog

New Features:

* Added OpenEXR support for all inputs and outputs
32bit output for heightfields, 16bit for RGBA bitmaps.

* Added JPG support for bitmap input and output

* Slope Selector now operates in degrees and allows you to directly input numeric values.
Versioned change, right click and choose “Device Version…” to update old selectors.

* Output Manager revamped and dramatically improved.
– Edit all outputs in a grid
– Easily see the file paths for all outputs
– Outputs within Macros are supported and easy to access in normal and tiled builds

* Template system added for output filenames
– You can use template names such as <name> or <res> to name your files. For example, “<name><res>.png” is a valid template name.
– Create folders as part of the output name. For example, “<project> Assets\<name> <res>.exr” is a valid name and will create a “ProjectName Assets” folder that it outputs the file to.

* Copy/Paste Settings
You can now use ctrl-shift-V to paste settings into a device. Useful when you need to clone settings into a device already hooked into the network.

* Revamped viewport navigation, added Maya-style controls
– Maya-style (LMB=Orbit, MMB=Track, RMB=Zoom) supported.
– Reworked 3D View Orbit vs Free Look to easily be able to switch back and forth
– 3D View, Layout View, and even the Device Workview now all support the same consistent navigation system.
– Previous navigation methods continue to be supported.

Small improvements:

* Curves device now shows a histogram of the input behind the curve
* Added option for prefer pan or prefer select in workview
* Cleaned up shift vs ctrl in device workview. They now have distinct roles: shift means to add instead of replace the current selection, while ctrl accesses the alternate LMB role (either panning or box selecting)
* Improved quick-connect mode (ctrl-drag on a device to start wiring from its primary output; keep ctrl held down and the same will occur for the next device in the chain, etc)
* Fastwire now works by ctrl-dragging on a device
* Autosave now preserves the original filename
* Tiled builds do additional validation of sufficient disk space, writeable folders, etc before building, and reporting also improved.


* Meshes now always show at their correct size regardless of export sizing setting
* Mesh reduction during tiled builds no longer causes gaps in the edges
* Macros now build their internals properly even when those devices are not connected to an output.
* Fixed garbage character bug for Macro Parameter device
* Fixed bug where Undo would seem to have no affect for several attempts

February Roundup

February has been mostly spent sorting out all of the various odds and ends of the major release of last month. Bugs and customer problems have been getting sorted and triage-d, and a lot of kinks have been getting worked out on the new website.

I’m working to better surface the workflows for using World Machine with the various common game engines (Unity, etc), as this is a very common question that we can do a lot better at addressing. Also good news — the Unity splatmap import script is fixed for the latest version of Unity…

I want YOUR workflow

Very soon I’m going to pour some significant dev time into workflow related issues and features, and I’m all ears to hear from all of you.

  • What would make World Machine work better in your production pipeline? Are there file formats, features, etc that you need to make things work, or that would make your life happier?
  • What are the most painful steps when you’re working with terrain you’d really like to be able to avoid?

I can’t promise that I can get to everything that’s brought up… but I’d love to do what I can. Feel free to post in the comments or just email me at

Swatting Bugs

The crash dump files that ya’ll have been submitting have been very helpful, so thanks for that!

I’m happy to say that I’ve identified and fixed some of the major crash and usability issues that folks have been running into. Build 3020 will address them. Software will never run out of innovative new ways to fail 😉 but hopefully we can keep things stable and productive the vast majority of the time.

What’s next on the Dev Channel?

The next major new feature release is still roughly on track for an April release. More to come on this later!

Build 3019 ‘Mailbox Peak’ available to all

Just a quick update for what’s been happening here.

Build 3019 is available on the Release Channel as well as the Dev Channel. It is mostly similar to 3018 but contains a number of cleanups and bugfixes.. The full changelist is available on the Update Center. It is also now the version available to Basic Edition users, finally bringing all WM users up to date with the changes from the last couple years. No longer will Basic Edition customers be stuck running 2.3.7!

Speaking of which, the website has also been refreshed to be simpler, cleaner, and more modern, as it had gotten woefully out of date. A few things still need to be added back; Instead of hard-coding them, I’m hoping to introduce a Wiki to use for authoring documentation, which will help keep especially things like workflows to 3rd party applications up to date.

Finally, the installers for World Machine are now code-signed, eliminating the ominous “Unknown Publisher” warnings that Windows issued previously.

So, what’s next? Here’s what’s on tap for the immediate future:

Release Channel

The next build or two of World Machine will be focused mostly on cleaning up bugs and issues discovered in the latest builds.

Keep contributing your crash reports, as they are a major help in stamping out serious issues! I’m also looking at adding some small scale improvements sometime in the next build or two, such as:

  • Tweaks to how the Slope Selector functions
  • A new “Copy/Paste Device Settings” command, that lets you copy settings from one device to another while preserving the destinations network connections.

Dev Channel

We’re looking at approximately an April time frame for the next feature release.

After some reflection, the approach that we’re going to follow this year is to group changes such that each major feature release (those that get a new codename) will be related in some way. This makes communication much easier than when the changes are scattered about to a dozen systems at a time.

I’m excited for what will be coming: Among other things, it involves some of the experimental work from 2016 finally reaching fruition. More to come on this as we get closer 🙂