Moonstone Islands is a rough concept of an open level made inside UE4, which I was working on in my free time. My goal was to create an open island environment using World Machine and to set up completely dynamic lighting for a day/night cycle. All vegetation and textures were used from Quixel Megascans.






Terrain
To create my landscape I used World Machine and several standard nodes like perlin noises and erosion for an initial layout map I painted. For a landscape material in UE4 I would need a splat map. For that reason I imported a custom splat map node for WM and exported all needed masks.


WM setup is very simple but worked for my project very well.


Landscape Material and Splat Masks
To be able to modify texture masks from my splat map inside material editor I made a Mask Modifier Function that can be found below.
Apart from masked textures I needed different layers to paint materials on top of masked textures for that reason I used a bunch of Lerp nodes for overall 6 material layers. Materials them self I packed in function to keep landscape material clean. On the screenshots below I can see the functions and material instance properties.





Light function clouds shadow


Sharpen Post Process Material
To add crisp and sharp look to all textures in the foreground I made a sharpen PP material and added it to the Global Post Process Volume. It created a nice contrast between the sharp foreground and the blurred by Gaussian depth of field background.


Mesh Distance Fields
Since I am trying to achieve a completely dynamically lit environment I decided to use Distance Field Meshes. It allowed me to get nice dynamic shadows and AO for far distances as well as proper shading for the vegetation.


