top of page

Landscape Painting

Below is a quick overview of our games landscape, various techniques were used to achieve this look: triplanar blending, vertex painting, slope blending, texture variation, macro variation and distance blending.


Here is the full extent of our landscape material:


Vertex Painting: is in reference to modifying vertex attributes directly onto a 3D polygon mesh. Similar to texture painting, but specifically effects vertex data, instead of texture maps. The downside of such method is that the "resolution" of your chosen textures is dependent on the density of topology, upon the surface you paint.


Examples of this would be ZBrush's "Polypaint". Where users can directly paint colour infomation onto their sculpt, without any need for a UV map. This method is functions extremely well in the case of sculpting; due to sculpts usually having a much higher polygon density.


Within Unreal, vertex painting is used for blending between various materials, perfect for landscapes. Instead of having a large texture sheet for the landscapes entirety, materials can quickly be painted in, blended together and manipulated easily at a later date. Usually Unreals vertex painting is achieved through masks, frequently relying on the individual channels of RGBA. However, Unreal provides a "Landscape Blend" node to easily achieve this process. Together with Triplanar Blending, this method proves extremely fruitful.


Painting the entire landscape by hand can be tedious, especially when handling the blending between cliff faces, fortunately, this can be automated. Achieved through Slope Blending. by using the material function “WorldAlignedBlend”. This material function works through the comparison of a vector- in this case being the Z axis of the world/ landscape- to the the world space surface normals of the chosen objects. Using this information an alpha output can be produced, between 0-1 (white to black). This alpha is dependent on difference in angle between the vector and the world space normals – 0 being flat perpendicular vectors and 1 representing slopes. This value can be influenced/ biased through parameters. See below for the finalised look.


To help hide texture repetition, a noisy texture is blended alongside the grass, at a much lower tiling amount. Adding seemingly random discoloration across the grass.


To further break up the grasses tiling, I attempted Macro Variation.Which is essentially; three of the same texture, at different scales, are overlapped to create a greyscale map of all three. This map can be further controlled through the 3vector (RGB), which can blend a chosen value over the already overlapped macro variation greyscale map. This is then multiplied over the base colour, to add varying sized dark spots of different tones- in seemingly random positions. Breaking up the tiling of the grass texture.


Instead, the grass is broken up through Texture Variation. Macro variation looked extremely noisy, and generally unpleasant. To combat this I looked into texture variation. The “Texture Variation” node takes the UV space of textures and randomly rotates, scatters and blends them together. As seen above, on the left is the blended tiling material and on the right is the obviously tiling material with no blending.


The final addition to the landscape is Distance Blending. Reducing the noise of tiling textures with distance– by manipulating texture size with distance. As seen above the red emulates a texture which tiles much more, in comparison to the blue, which emulates a texture which tiles much less. This can make a scene seem much more realistic, as detail is “seemingly” lost with distance– instead of a noisy look, this also helps with hiding texture repetition.


On the other hand, I could use it for distance colourise, using linear interpolate to blend in a darker colour- as distance increases. Instead of changing the textures tiling with distance. Replicating the concept of darkening mips with distance.


I'm very happy with the final results of our landscape, it succeeds in supplying easy to access tools to our artists, which were used extremely effectively to develop our environment. This task was less driven by feedback, but necessity, for environment development.

References



bottom of page