Terrain Shader – Process

This post is a step-by-step walk-through of how I do the terrain shading in my mockups of The Salvage.  The intent is to give some indication how this process can be applied procedurally in-game.

I start with my basic scene; foreground and background, and a texture masked onto the outline of the terrain shape.

The shadow for the terrain is painted on a new layer, with the light source generally coming from ‘above’.  The shading shown here is very linear with it’s banding, but the jitter and band thicknesses could be played with to give more dynamic results.

The shadow layer is then set to ‘multiply’, allowing the underlying texture to show through based on the value of the bands painted above.  This provides a nice fading effect for the ground texture, but also acts to fill a vital role of concealing objects that could be buried underground.

To bring more definition to the terrain I add a layer of a warmer hue to the upper exposed edges, in this case I use green.

This layer is set to ‘dodge’, and provides a highlight pop to the edges exposed to the light source.

To soften the black underside of overhangs, a thin blue edge is added.  Just FYI I think I need to adjust this more before I settle on a hue/thickness I’m happy with.

The headlamp beam is drawn with line of sight blocking wherever needed in a very light yellow hue.  It overlaps the terrain by one pixel.

The lamp’s layer is then set to ‘soft light’.

A few extra layers of lamp effect for fun.

  1. Your game looks really nice, I like your art style.

    Keep the good work.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s