Skip to end of metadata
Go to start of metadata


This tutorial will explain on hot to create a flexible system for terrain with the use of tileable textures and using it for the different surfaces types to achieve a unique looking beach for Ryse including glossy puddles and rifts, shiny wet sand and dry sand areas and taking advantage of the PBS (Physically Based Shading) within CRYENGINE.

Gathering Reference

As usual gathering reference is always important, but in this special case, the reference allows us to define our materials better and study how sand and it's different states are defined helping in raising believability.

For Ryse a dark, rainy, stormy and wet scene was given as direction and therefore the beach should consist of puddles, small rifts and partly flooded areas, the reference was based on that.

Creating the Modular Terrain Set

Our first step will be to create two generic sand tileable textures using Photoshop and Crazybump. The first texture is flatter and less wet. For this one our gloss is a bit darker in value but still neutral. The darker gloss will give us a wider specular angle, meaning that it's rougher, and being less reflective. Once the gloss map is created it goes into the Alpha channel of the Normal map. On top of that a displacement map was rendered out using Crazybump. In the shader we set our specular values to 65,65,65, which will give us a more neutral spec value.

The second texture is bumpier with more elevation changes and being created the same way with brighter values in the gloss as it represents wetter sand. The whiter gloss will give us a sharper specular value and being more reflective as it occurs in real life with wet sand. By having a different sand pattern and gloss level it will serve us to blend between the both and break up the tiling.

Creating Water Puddles and Water Rift Patches

To create the water puddles and water rifts, we need non tileable textures that can be used as geometry decals and be placed along the beach. We are creating two variations ones who are filled with water and others who are not and instead the sand just being wet. To make it blend between the geometry decals and the sand terrain we use a simple alpha with a smooth gradient so it will fade into the sand and the transition won't be noticeable.

The first variant uses the same process as we did with our tiled texture set, as it will be wet sand. Our gloss map has the same values as the others. We also set the shader our specular values to 65,65,65, which will give us a more neutral spec value.

For the second variant we are going to have water in our puddles and water rifts. For this we need to create a specular map. Where the water lies we will use a bright grey value and the non wet parts keeping it a bit darker. The biggest change that will take place in on our Gloss map. Therefore we take our standard gloss map we had for the dry sand and paint white on our texture where the water's going to go. As now those areas being white it will be highly reflective. For the puddles and rifts with water please set in the shader the specular values to 85, 85, 85, which will give us a higher and tighter spec.

Creating Texture Variations with Water Surfaces

As a third set of textures to help to raise believability and break up further the visual repeat and make the the beach look more interesting. For that we create another tileable texture set but as a difference to the dry sand this one will be wet with water surfaces. To do that we create a specular map with the water surfaces having a light grey value to raise the specularity and differentiate from the dry sand.

We are also going to change our gloss map in adding white patches that will represent the water giving us a highly reflective surface. For that we just take our tileable gloss map and make some sections white, assuring that the textures are still tileable. That way we can blend this set with the dry sand in the shader within CRYENGINE. For the water surfaces please set in the shader the specular values to 100, 100, 100, which will give us a higher and tighter spec.


This is how it looks in game:

  • No labels