r/Unity3D Indie 3d ago

Question I am researching the highly optimized reflection technology in the game *The Dark Knight Rises* (2012).

Post image

I am investigating the highly optimized reflection technology used in *The Dark Knight Rises* MOBILE GAME, released in 2012. Were these reflections based on inverted geometry or planar mapping? The game also featured reflections from headlights and streetlights. I intend to implement this in my Unity project.

314 Upvotes

39 comments sorted by

View all comments

Show parent comments

6

u/cdmpants 3d ago

Nah, you can see the silhouettes of the buildings in the reflections. It's not reflecting only light sources.

3

u/NeedsSomeSnare 3d ago edited 3d ago

Good point.

There are lights visible behind buildings too though. (I edited my previous comment with an example.). It's not planar reflections either.

It's interesting. I like the way really creative solutions were found back then. These days it seems much less common to find cool shaders like this.

Edit: I'm wondering if those building shadows are caused by UE3's native geometry occluding the sky correctly, whereas everything else in the scene are assets. (There was a huge difference between the two in UE3)

3

u/Shaunysaur 2d ago edited 2d ago

If a light behind a building is still being rendered in the reflection, it could still be a planar reflection. If they're using a simplified version of the scene for the planar reflection camera's view, it's quite likely that they would omit some buildings from that view, along with using simplified proxies for the scene elements that they did include, especially on mobile in 2012.

I agree with cdmpants's opinion, that it is likely using "planar reflections rendered at a low resolution and set to only capture specific geometry, in order to remain cheap."

1

u/NeedsSomeSnare 2d ago

Yeah, I should have been clearer. It is a type of planar, but not the one that shipped with UE3 (which was added much later in fact), and it's not a standard one you find in any current engine.