informa
/
1 MIN READ
Blogs

Character Rim Lighting

Rim lighting is a good technique for combating the "plaster effect" and allowing soft materials to look soft.

When I loaded Aubrey's new rabbit model, it was clear that we needed a new rendering method in order to do it justice. Our basic object shader works best for hard surfaces like wood, leather and stone, not fuzzy ones like fur and cloth. This problem was most obvious when the model was lit from behind:

Rabbit

It suffers from the 'plaster effect' -- it doesn't have the subtle shading effects that characterize the materials, so the surfaces that should look soft instead look harsh and rigid. In real life, fur and cloth always have tiny stray fibers that catch the light when lit from behind, giving a 'halo' effect. We can start to approximate this halo by lighting up surfaces that are perpendicular to our viewing direction, like this: 

Rabbit

This is often used as a 'selection' effect in 3D games because it's an easy way to highlight edges. However, it needed to be toned down before we could use it as a realistic effect. First, I decided to modulate the brightness of the highlight by a softer version of the standard lighting equation, so that surfaces facing directly away from the light remain in shadow. 

Rabbit

Finally, I used one of our unused texture channels (the alpha channel of the normal map) to specify which parts of the model are affected by rim lighting. This gives us detailed control of how fuzzy each surface should look. Here's the final shader applied to the rabbit model: 

Rabbit

While I don't have time to make a detailed fur shader yet, I thought this effect went a long way towards making the rabbit's fur and clothes read as 'soft' materials. Does this effect work for you? Can you think of any ways that I could improve it?

 

Follow us here!
Facebook iconModDB iconSteam iconTwitter iconYouTube icon

Latest Jobs

IO Interactive

Hybrid (Malmö, Sweden)
3.02.23
Gameplay Director (Project Fantasy)

Arizona State University

Los Angeles, CA, USA
2.27.23
Assistant Professor of XR Technologies

IO Interactive

Hybrid (Copenhagen, Denmark)
3.02.23
Animation Tech Programmer

Purdue University

West Lafayette, IN, USA
3.02.23
Assistant Professor in Game Design and Development
More Jobs   

CONNECT WITH US

Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer

@gamedevdotcom

Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Browse
Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more