Yes and no! Let me show you an example.
Here is the "albedo" channel on a brick wall texture. Albedo is a fancy physics word, but in this case it basically means "raw image." When a gamer thinks of a texture, this is the channel they think of. Placed in a spoiler tag, just so we don't clog everyone's screens
Edited to add: Imgur is a butt sometimes. Try opening the images in a new tab and then refreshing if they don't load for you?
See? Simple, kinda flat looking because of the lighting. If that were slapped on a wall surface in a game it would look... kinda bad? But functional. Here is a "height' channel.
Okay, what the hell is going on here? It looks like a black and white copy of the "albedo" texture, but if you combines these two (like photoshop layers) you wouldn't get anything good? What gives?
Well, it's not an image that you show the user
directly. The "height" channel tells the game engine how tall each part of the brick wall is. So when bricks have bumps that stick out, those pixels are colored white, and the deeper parts where the mortar is, those are colored black. In game, if you look at this brick wall directly, the lighting engine will take the first image, and then have
more light on the
tall parts and less on the
deep parts because that's how light works. So even though the texture is just a single flat image, it lights up like a realistic brick wall.
One way to think about it is it's like the difference between looking at a brick wall in real life, versus looking at a wall that someone has put brick wallpaper on. If you point a light at the real brick, you'd get shadows in the mortar. But if you pointed at the wallpaper, you wouldn't.
This particular texture has more textures, so let's look at some of them. This is the "normal" channel.
"Normal" is once again a fancy physics word. This is like a more complex version of the height map. Each shade of cyan here tells the lighting system what
direction all the little surfaces in this texture are facing. If you can imagine our brick wall in real life again, if you put a light on the
left then the
left sides of the bricks would reflect light and get highlights. This normal map tells the lighting engine how all that works on this surface.
Then we get the "Ambient Occlusion" channel.
"Occlude" just means "blocks the light of". "Ambient occlusion" basically means "the shadows that an object casts on itself," and that's what you see here. In the gutters between the bricks, where the mortar is, we get dark spots where the bricks are going to cast little shadows, and then white at the tops of the bricks, where there are no shadows, and a few small patches of grey in between. You can see how it lines up with the height map, but isn't exactly the same thing.
And our last black and white channel on this image is for "roughness"
Roughness means what it sounds like, how physically rough (or smooth) a surface is. Here, the white parts are the most rough, the dark parts are the most smooth. If you think of a smooth piece of paper, it looks bright when you hit light with it, almost shiny. Now crumple it up, point the same light at it - it doesn't look shiny anymore! That's because the surface is
rough - it reflects the same
amount of light, but it sends it in all different directions, so it doesn't hit your eye directly, making it less, well, shiny.
So now we put all these channels into our game engine and point the camera at our (totally flat!) brick wall. What we can do is take the first image (the albedo) and then
shade it using the rest of the channels. The tallest parts should get the most light, the shallow parts less light (height map). The bumps and ridges facing the light should reflect more light back than the parts facing the camera (the normal map). The light should cast shadows that conform to the shape of the bricks (the ambient occlusion map). The smooth parts of the brick should look shinier than the rough mortar in between (the roughness map).
You get something like this
This is the
same flat image as the albedo texture above, just rotated and lit using
all those other channels. There is no real geometry here, we don't have a complex 3D object, it's just a flat surface, but the lighting system makes all that complexity possibly. And we should be able to change the geometry, change the lighting and still have it look good. Here is the
same texture wrapped around a sphere
So, yes, they are like photoshop layers, except the lighting system isn't showing them directly, it's using them to inform a complex engine that decides how each pixel will look by combining the various channels with the color of the light, the angle of the light, and the angle of the camera.