Hey, all! I've been fiddling around with some models from the game and trying to find a way to accurately render them.
This seems relatively accurate, visually, but the SPM map is really throwing me off. Here is how it looks:
Looking at this and then thinking about how the object behaves in-game, we can conclude that the brighter parts are shinier/glossier/whatever. What is what actually becomes more pronounced when you inspect the individual channels. For instance, here is the green channel, which I suspect to be a metal map that doubles as a specularity map:
And then I get kind of lost. The blue channel may make most sense if treated as a roughness map. It's pretty constant with a value of 0.5 everywhere except for some outlines. It throws me off because I would assume specularity to be the channel that is almost always constant, since that's how it works in the real world. But the game isn't trying to look real, so logic like can't be applied in this scenario.
Finally, the red channel. This one has confused me the most by far. A lot of things come to mind, but it looks the most like an ambient occlusion map. Looking at the model actually in-game, though, there is no trace to be found of any kind of ambient occlusion. Perhaps it is a special map that is meant to respond to rain or something.
One of the best approaches may be to look at the work flow that was used when creating assets for the game. Does anyone know if it was Roughness-Metallic-Specular work flow, or something else specifically? There is a lot of trial and error going on here and a bit a guesswork, so input from others would be very helpful! Also, I have no way to do any in-game testing, but it would certainly aid in figuring out the composition of in-game materials. For example, we could edit channel R to be all zeros, test in-game, see what changed, try again with the R channel maxed out for every pixel, test in-game, see what changed, move on to channel G, and so on, until the behavior of every channel is known.
Maybe someone already knows the answer and can explain what each channel in the SPM map does. If not, hopefully someone will be able to help with some in-game testing so we can figure it out! (The model and its SPM map can be found here, by the way.)
Thank you for your time!![]()