City Sample: how are the "Holographic" building windows made?

Hi there,

I was trying to figure out (by reverse engineering, forum search) how the “holographic” building windows are made in the City Sample project of Unreal.


They look 3d, but they are in fact 2d textures/materials/renderings/idk…
Couldn’t figure it out myself.

Any hint or instructions on how to create these things would be cool!

Cheers

C

It’s called a cubemap. It’s the same thing on the sky sphere, often

3 Likes

Thanks!

2 Likes

The video mentions “advanced” cubemaps that can contain 3d objects inside (furniture).

The City Sample windows clearly show 3d furniture inside, something that doesn’t seems to be possible with a simple cubemap.

Hard to find such advanced cubemap tutorials. Do you know any?

As far as I know, the furniture is just part of the cubemap. At what time does he say this?

watch from 10:12 - 11:20.

Here a short video from the City Sample windows:

I can’t find a good example. It’s the same thing, but using parallax mapping, or masked textures

Not really explained well there…

1 Like

hmmm in the video I’ve posted the chairs in the background, the small office walls and the small sofa on the right are clearly changing perspective.
In both axis (horizontally&vertically). I don’t think that can be done with simple parallax or mask stuff…

Maybe some cubemaps inside another cubemap?
Is something possible?

I thought, you have the sample, so you can just look in the shader, right? :smiley:

easier said then done… of course I was already looking for it before posting here… but long chains of parents, prepacked stuff, Houdini magic doesn’t make it so easy to understand all that stuff…

but finally found that shader:

not really complex, is it?

It’s very straightforward… NOT! :smiley:

( that is an absurd shader )

Epic did a high level explanation of this in one of their livestreams (@39:16):

Unfortunately it doesn’t go into a lot of detail

It must be like an impostor.

A set of sprites taken from various angles that the camera vector cross UV Nomrmal is driving the selection of.

And even if it isn’t - doing it that way will probably be much less heavy to run…

interesting, now it also explains why there are some artifacts in it.

Too bad it’s a so complicated approach. I was hoping for some easy approach like the standard cubemap.

Now as this is so complex, this would be a good feature to have a plugin for!

Thanks for all the responses,

Cheers C