Originally published at: Next Up: Artist Point – World Machine Development Blog
The purpose of the next major version of World Machine is to modernize and enhance texturing workflows.
The marquee feature: support for Physically Based Rendering. Over the past few years, PBR-based workflows have become standard and converged around a typical set of texture maps that define your material. With the new ‘Artist Point’ builds, you can create and view these materials within World Machine.
Here’s what we set out to achieve:
- Create your own PBR material to pair with your terrain
- Import and use your existing collection of PBR material assets for texturing
- A suite of new devices to make it easier to create more sophisticated textures (PBR or traditional)
- Enhance support for splatmap-based workflows
- Upgraded popular export options, including creating optimized meshes, tangent-space normalmaps, and easy scene export with glTF.
… along with some other very useful improvements and non-texturing devices.
Whew! This is what we’ve been up to over the past 6 months. 🙂 Not all of these will be complete and present in the first couple dev builds, but it gives you a roadmap of what to expect.
For this post, let’s just take a look at the first two bullet points.
PBR In World Machine
You’re most likely already very familiar with physically based rendering in your other software, so it doesn’t need an extensive intro here. Suffice to say that the result is a major step-increase in the realism of the rendering. The big differences are mostly within the rendering system shaders, where the equations more accurately model the behavior of light.
When creating content for your game engine or renderer, the biggest difference is that a single diffuse colormap no longer describes the behavior of your material.
Typical PBR channels (and those supported by WM) are:
- Diffuse color (albedo)
- Normal map
- Material height
- Ambient Occlusion
- Metalness (I mean, you could make a mountain of gold ? )
The easiest way to introduce the new PBR material system is to show how it differs from how you would previously make a terrain. Here’s the ‘Simple Great Rocks’ example world modified for Artist Point:!(upload://cS7zHcxbQOD08CK6xvjpOOfY8hJ.jpeg)
For this scene, we changed from just using the diffuse texture directly, to also creating roughness, and ambient occlusion maps for our world.
The Scene view now accepts either a bitmap or a Material. The material type is a composite created in the Material device that can contain all of the above channels. Here’s what the world above looks like:!(upload://nVBlhAivA4nC00C3fWV1xBymDEq.jpeg)
Some dramatic lighting there! Immediately you can see how the roughness map is being used here to create the effect of “wet”, shiny areas of rock.
Most of the time, you’ll have more than one material in a scene. Sometimes, many more. You can easily combine together Materials with Choosers, or the new Layers device (which we’ll talk about later).!(upload://k6gcyOsYi8hzPU4NYKkWtEeKgNy.jpeg)
The viewport lighting controls have also been upgraded to allow you to control not just the sun direction, but also the lighting colors, exposure settings, and some simple viewport fog / atmospheric perspective.!(upload://71tkiVlXKQB6iT79t6pxYCPLUZj.jpeg)
Being able to view your world closer to its final form within World Machine is a big win for productivity, and lets you play with a lot of things within WM that just wouldn’t make sense to iterate on previously.
Texturing with PBR assets
Most artists these days have extensive libraries of PBR assets they’ve created, purchased, or downloaded. From high quality production-ready textures from Quixel or Substance, to great free CC0-licensed textures from sites like https://ambientcg.com/ or https://polyhaven.com/, PBR textures are everywhere.
You can easily import these into WM and use them in your creations. Use the “From files” mode in the Material device:!(upload://17MByWFTk4kHCOww8qFZaBW3DC9.jpeg)
This loads all of the texture resources of the material into a localspace device, which means that it exists independent from your render extent. To place into your world, you can then use the Instance Tiler or Instance Scatter devices to.. well.. tile or scatter your texture:!(upload://9zEJYFQ4EOhdV0iuFFx4zx5GGZM.jpeg)
I think you’ll find the new material system to be both intuitive and easy to use.
Next time, I’ll talk about some of the other new devices that will be appearing in the new builds. Until then!