World Machine + UE4: Full Workflow

1. Create required landscape in World Machine. I’m using GeoGlyph macro library to speed up the whole process of landscape development.

2. Create required height maps for landscape layers. You can use default erosion outputs, like Flow, Wear, Deposition maps. Or you can use some external macroses, like ReFlow from GeoGlyph. Then you need to connect these maps to Splat Converter to enforce proper splat map weighting.

3.In this stage, you can start colorizing your landscape to get an idea of material distribution on the landscape. You can also start searching for proper textures for your landscape in this stage because in UE4 instead of plain colors you should use them.

4. Next, you need to export heightmaps for landscape and for your layers (you will use them to get proper material distribution on the landscape in UE4).

5. After that, you should create a proper material for landscape in UE4. It’s a complex thing and I’ll try to give some advice on it. First, you should use different tiling values for textures which should be based on camera distance. In this case, distant areas of the landscape will use stretched versions of textures to prevent visible repeating of textures.

6. Landscape material usually contains multiple layers and you should create a definition for each one. You can do a simple material setup for tests, like this one.

7. Repeat this for each layer and use Landscape Layer Blend node to mix them into one.

8.You can enhance your layers’ setup with more parameters and use proper Ambient Occlusion, Roughness and Displacement maps to add more details to your landscape.

9. You can use distance-based tessellation to drastically increase performance when you’re using a displacement map. Use the code below for tessellation multiplier input. Keep in mind that you also should disable adaptive tessellation and crack free displacement checkboxes in material parameters.

10. Instead of painting grass manually, you can use one of the exported layers from World Machine. To do this, you should use Grass node and populate it with your layer sample (use the same name like in landscape layer blend node). Also, you need to create Landscape Grass Type asset to setup parameters for your grass, like density, size, etc. Basically, you can use this thing not only for grass but for rocks, trees or other objects on the landscape.

11. When your landscape material is ready, it’s time to import your landscape. Open Landscape tab in modes window. Select import from file. Select your landscape material. Select height map for landscape, which you created in World Machine. Create Layer Info for each layer (Weight-Blended Layer). And for each layer info select proper layer map, which you made in WM. You can adjust Scale for your landscape if required. After all of these actions click import and you will get a landscape with your created material.

12. After that, you can start adding object and details to your landscape and create lighting and post-process setups. There are many other things, which you probably will need to do for your landscape. For example, it’s a good idea to make distant low-poly landscape meshes to extend visual borders of your landscape. Keep experimenting and you will achieve required result. I hope you’ve found some useful information here, which will help you to make your own worlds with UE4.

P.S. I wrote this article for 80.lvl some time ago (World Machine + UE4: Full Workflow). Now I decided to publish it on my own website.

Ruslan Nazirov

I am 26 years old developer. I had a solid experience in programming and used to be a java developer for four years. Now I’m working on my projects and games, based on Unreal Engine 4.