This trick was mentioned by Falk. He said, I have to check out the windows in Assassins Creed 3. So i asked around in the company and luckily Matthias, a great programmer & colleague at Egosoft, had the game as a PC version and even better, he already finished the game, which lets you achieve some cheats like “Always Night” or “Always Snow”. So we could easily capture the game at night, which is better for looking at the windows.
Let’s have a look. As you can see, it looks like there is a slightly lit room behind the window. I think if you look at it from near distance, the effect isn’t that strong anymore, but of course sufficient. This leads me to assumption, that there’s no real room behind the window.
Another colleague (Alex) of me suggested, it could be a cubemap with some parallax stuff in it. So at first i tested a standard cubemap with the Xoliul shader. Ok, it’s pretty clear that this doesn’t look like the cool parallax movement in AC3. I think it’s too fast.
Then i asked Neox. As expected he dropped a hint immediately. He mentioned it could be Interior Mapping or some cubemap parallax stuff. In fact, it’s not the Interior Mapping but i recommend reading the paper. It’s written in a way artists can understand and it’s very interesting!
Also I found this article about Image Based Lighting which seems to fit at least a bit.
More important could be this thread. It’s exactly about our issue and during SynaGl0w referred to a BumpOffset (which can be seen in UDK Material LT_Floors.BSP.Materials.M_LT_Floors_BSP_Grate_Pipe) the user Kedhrin wrote a small tutorial about it.
I definitely had to ask Marcel also about his opinion. And i think we all got to a conclusion:
It seems that they use a standard cubemap but changed the “speed” of the moving plane to a slower amount, so it looks like the reflexion plane is behind the window. In my example (see above) the reflexion plane was moving too fast which looks like the reflexion is actually in front of the window glass.
The second day
I got some great feedback and also a good question. Matty6666 asked how the windows look at day time. Because at night you see warm lit room interiors. I had no idea. So i asked my colleague Matthias again and he was so kind to boot the game up again.
“These foxes!” (In Germany we say that to smart people. “Du bist ein Fuchs!” == “You are a fox!”) At first i thought they do standard cubemapping at day time and to the “funky” cubemapping only at night time.
But then i saw, that they’re even foxier (superlative of being a fox). The use both: standard cubemapping and funky cubemapping at once. But of course, they change the texture. At day time you have colder colors inside. How awesome is that? When the outer light is warm, the inner light is cold. When the outer light is cold, the inner light is warm. This is art how i like it!
Hm darn! It’s not really well visible in the GIF files. So trust me: you can see a fast moving cubemap and a slow moving “interior” cubemap…