I am watching the “The Making of…” and noticed UT calling Cube Map - “Reflection Probe”. Why calling it different term when there is already a standardized term that exist in the industry?
Hi,
It is a speculation, since we do not have enough data,
I think the difference in unity 's approach is that it somehow “bakes” the static object’s reflections for a given set of positions and interpolates between them in order to create a computationally economic reflection of the environment for moving objects.
Cube maps are used to create a reflection of the environment for static objects.
Just guessing here
That’s my impression too. It’s similar to light probes. So at various positions in the world there are some kind of mini reflection maps (textures?) stored and some kind of clever interpolation is done between them to allow realtime reflections
on any number of objects scattered anywhere in the game world, just like light probes lets you have dynamic lights throughout.
This brings up a question I’ve wondered about for a long time. Say I have a player… let’s say I am playing with Kyle from the Asset Store… and I want him to have a reflective surface. If I then place him in a level with only one room, then I can just assign the room’s cubemap to his material, simple… But how do I do proper mapping on a dynamic character?
If I create a 100 cubemaps for my various indoor and outdoor sections, obviously I can’t just drop one onto my character and say he is now ready to go into the world… but from what I gather, cubemaps are generated from a single position (i.e. from the center of the room) so if I leave one room and enter another and simply swop cubemaps as I do so, I will be showing reflections from two completely different viewpoints so as I make the transition, obviously I am goind to see my character’s reflection jump from showing a green to now suddenly showing a red. Move 3 inches backwards and suddenly he is green again… Clearly this realistic lighting method is creating a much more unrealistic effect than having no reflection on my metallic objects at all…
And finally, my notion of triggering a cubemap swop on trigger enter might work in most cases but what about narrow corridors… between rooms… Do I create a cubemap for every single are in the game that has 4 walls (or skybox sides) visible? For large areas, possibly more than one per room? Will this mean that I never leave even a foot of the level without a cubemap trigger collider?
This really makes cubemaps seem to be rather a huge amount of work to use and really brings some doubts as to it’s actual usability. At least the way I understand it and laid out above…
So what IS the proper way of moving a main character with a reflective surface though a level?
Create tons and tons and tons of lightmaps, cover your entire scene with triggers then augment with tons and tons and tons of light probes?
Also speculation, but I’d guess that a “reflection probe” would be something that generates cubemaps in real-time for use on nearby objects. Eg: 1 “reflection probe” could generate a cubemap which is then used by several nearby reflective objects, instead of each of those objects generating their own cubemaps.
A cubemap is a texture. The probe is probably the thing that generates or stores or otherwise does something with that texture.
Well, if you have Pro, there’s this.
Otherwise I’m guessing some kind of generic cubemap without much detail would be an option.
@MrDude, just swapping cube maps as you described is pretty much exactly what most games do. They probably polish it a little more than that, though I expect that you could solve 95% of the issues just with a bit of trigger overlap so that you don’t get the switching effect in one spot, and fading instead of snapping between maps. Making them low res, slightly blurry, or giving them appropriate colour ramps would also help quite significantly.
Also remember that while some artifacts stand out easily when you’re looking for them, when you’re actually playing a game and there’s a lot going on and you’re not specifically looking for something like this it’s not really that noticeable.
Reflection probes for me suggest some kind of way to provide realtime reflections throughout the entire environment, not based on some static one-time cube map but - similar to light probes, probably putting some small low-res map at each probe and interpolating it somehow against other nearby probes to come up with something reconstructed
that looks like the right reflections? I hope it lets there be realtime reflections easily
of the kind that would normally need raytracing.