: Why is it so hard for video game to create a truly realistic human skin?


In this nextgen graphic, many thing are made to look so real. The clothing that look like it was made out of real clothes. The Car that look shiny and reflective to light like an actual metal.

But when it come to human skin it look more like…plastic? a really beautiful and smooth plastic, yes, but it still lack the feel of flesh and blood that true human being would have. especially, their face.

So, can someone explain why we still can’t make realistic skin while everything else was already so realistically beautiful?

In: 7

Skin has a semi-transparent surface layer. When light hits it, some of it penetrates the surface and bounces around before exiting. You need to implement this sub-surface scattering to make skin look real.


I’m just gonna shamelessly copy paste this from wikipedia:

*Subsurface scattering (SSS), also known as subsurface light transport (SSLT), is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattered by interacting with the material and exits the surface at a different point. The light will generally penetrate the surface and be reflected a number of times at irregular angles inside the material before passing back out of the material at a different angle than it would have had if it had been reflected directly off the surface. Subsurface scattering is important for realistic 3D computer graphics, being necessary for the rendering of materials such as marble, skin, leaves, wax and milk. If subsurface scattering is not implemented, the material may look unnatural, like plastic or metal.*

*Most materials used in real-time computer graphics today only account for the interaction of light at the surface of an object. In reality, many materials are slightly translucent: light enters the surface; is absorbed, scattered and re-emitted – potentially at a different point. Skin is a good case in point; only about 6% of reflectance is direct, 94% is from subsurface scattering.*

There’s still limitations on computing power. We can make insanely realistic stuff if we had all the time in the world to render it frame by frame until it’s done. A console or home computer lacks both the power and the time. 60 frames per second is the standard now, hyper realistic renderings can take several seconds up to several minutes or more *per frame* which would make the game unplayable.

A lot of the plastic look comes from the fact that real skin is just a little bit translucent. Light doesn’t just bounce off the surface of skin, it will go through just a *tiny* bit. Additionally, skin is *super* not smooth at all, so light scatters a lot just on the surface. Between the two, real skin has a very soft look.

All of that is *really* hard for computers to replicate. It’s easy enough if you pre-render stuff, taking minutes or hours or days to render the image. But on the fly, in a video game? That’s a lot of work for not a lot of payoff. Instead, the models tend to use the right *color* and kind of try to fake the light scattering. That doesn’t work too well. You know what *does* scatter light like that? Plastic.

Plus, humans are *really* good at noticing subtle details about other humans.