This is a summary of the methods used by Environmental Artist Patrick Gladys to create realistic environments for the moons and Planets of Star Citizen.
The environment is built from multiple layers.
- Colour – an aerial picture of the surface
- Height – the relative height of the surface
- Normal – the direction the surface is facing
- Distribution – the density of object scattering on the surface
- Index – a reference for up to 16 ground materials
A perlin noise generator overlaid with octave noise at a lower amplitude is used to generate an undulating field with detailed surface structures.
An Erosion node smooths some of the surface detail leaving erosion effects.
The landscape is arbitrarily merged with a fairly flat surface that has minor height variation.
The blended landscape is given another set of noise, blend and erosion nodes.
The height is adjusted and eroded to give smoother shapes at the base of slopes.
At this point Patrick likes the scree slopes that have appeared in the previous screenshot and decides to add nodes to create the effect on a larger scale.
Irregularities are added to the sand slopes by adding a noise to the slopes and blurring the result down the slope.
An additional detail are heightmap bumps.
The final level of detail is added to the normal maps. The normal maps define the angle of a surface but this does not affect the physical surface, it only affects the visual surface via the lighting arrangement. In this way, detailed scattering of surface normals will make a surface look very grainy, but this will not be taken into account in physics calculations. As far as a player is concerned the ‘normals’ variations only exist visually.
Colour palettes are defined for each environment. The surface is now coloured with a blend of sands and the scree slopes tend to be lighter than the other surfaces.
The rocky details from an earlier erosion pass are given a dark colour to look like a harder wearing rock.
Another layer of noise adds small scale dark dots all over, and to make stop the level of detail becoming overwhelming, it’s effect is reduced by 80%.
A blue colour is added to give it an other world feel.
The colour nodes can be replaced at any time to generate a new appearance on the same model.
The environment is split into
- Base textures
- Distance textures
- Ground textures
- Object presets