Hi everybody!
This is Dr. Saeviomagy, here to tell you all about IR heat sensors.
You know how you look at a mirror and you don't actually see the mirror - instead you see what's near the mirror?
Well - when you're looking with heat, most things are a little bit shiny. That means that for a lot of things, you see a bit of the heat that is in them, and a bit of the heat that is around them. Some things are more shiny, and some things are less shiny.
As an example - human flesh is not very shiny at all. When you see it in infra-red, mostly you'll see what temperature the flesh is at.
A brick wall is quite shiny. You'll see quite a lot of the surrounding heat and some of the heat from the wall.
A zombie, like a human, is not shiny. When you look at one, you'll see room temperature, because that's what temperature most zombies are at.
Unpainted metal is very shiny indeed. When you look at some, it's like looking at a shiny piece of metal with normal light - you don't really see the color of the metal - you see reflections of what is near it. If the metal is actually polished, then it will act like a mirror to heat vision.
Which means if you're standing in front of a brick wall, and a zombie is standing between you and the wall, you will probably be able to see him - he'll be at a different temperature to the brick wall, because the brick wall will usually be a bit above or below room temperature.
If, on the other hand, you're standing in front of an unpolished metal wall, and a zombie stands between you and the wall, the wall will reflect the room temperature, and the zombie will be at room temperature, and you won't be able to see him.
Unless the zombie was recently lying on the stone floor, in which case you'll probably be able to see him against the metal wall as well as the stone one.
And of course you can probably see him against the stone floor anyway.
Throw in all sorts of other things, and it gets even worse.
Hmm, complex.
And this is why infravision is a silly thing to try to make realistic game mechanics for.
Might I suggest that everyone simply says "it's blindsense", and be done with it?