[Official] 5.0 - Feedback request for Reflection Probes

Hello Beta Testers!

We would like to hear your thoughts on our new Reflection Probes for 5.0. Please take a moment to answer the following questions to help us make Reflection Probes the best it can be. Please try to answer all the questions to give us more context for your feedback, especially the questions about who you are and how you plan to use Reflection Probes.

Who are you?

What kind of game are you trying to build or would like to build?

How does Reflection Probes fit into that? What use-cases do you have?

What are the GOOD things about Reflection Probes that you like?

What are the BAD things about Reflection Probes that you dislike?

How can we make it BETTER?

Do you like the Reflection Probes workflow?

How do you spend most of your time working with our Reflection Probes features? Anything bogging you down?

When you learned to use our Reflection Probes, what stumped you or had a steep learning curve?

Thanks for taking the time to provide your feedback to help us make 5.0 even better!

Erik

Who are you?
Artist for Camouflaj

Q: What kind of game are you trying to build or would like to build?
A: Creating Stealth Action game for PC, Mobile

Q: How does Reflection Probes fit into that? What use-cases do you have?
A: We are using Reflection probes for every room environment. Things like glossy tile, mirror reflections, High Gloss Metals

Q: What are the GOOD things about Reflection Probes that you like?
A: Easy to author within engine, has decent results after you setup volumes

Q: What are the BAD things about Reflection Probes that you dislike?
A: Still unclear when you should use Reflection Passes 0-4. Probe volumes are limiting and should support custom volumes not just cubes

Q: How can we make it BETTER?
A: Add more support for custom volumes for reflection probes.

  1. I suggest two strategies, First just allow user to point to hand author mesh render that was imported from another 3d Package.
    1a. Second have built in editor that allow user to create volumes within Editor. Probably would need to leverage tech similar to Pro-Builder.

  2. Allow for proxy cards that can be attached to dynamic geo like doors so reflections then support animated states at a minor overhead

  3. Allow for rough proxy volumes that you can attach to character rigs. This function will only support simple geo that you wouldn’t need skin mesh render for sack for overhead. You could just parent volumes to the bones to suggest some reflectivity

Q: Do you like the Reflection Probes workflow?
A: It gets the job done

Q: How do you spend most of your time working with our Reflection Probes features? Anything bogging you down?
A: My time is spent trying to add square volumes that are not square. Then trying to come up with ways to mask the fact the reflections don’t align up with the ground correctly

Q: When you learned to use our Reflection Probes, what stumped you or had a steep learning curve?
A: The biggest issue we had is that be created our own BSP system and if you leave Reflection Probes to iterative the connection will be broken between them and the scene. Forcing the Author to turn off iterative rendering and having to hand bake all the probes.

1 Like

Who are you?
Nick Konstantoglou, Lead Artist at www.kickback-studios.com

What kind of game are you trying to build or would like to build?
Would rather not talk about our next game. It’s realistic looking.

How does Reflection Probes fit into that? What use-cases do you have?
I had made my own shaders and we had a system that made parallax corrected cubemaps, since I like my shiny surfaces. Having a built in system is more than welcome.

What are the GOOD things about Reflection Probes that you like?
They are pretty fast, HDR and convolved.

What are the BAD things about Reflection Probes that you dislike?
I don’t understand exactly how the parallax projection happens. It seems it autofits to the bounding box of the objects it includes, which could be unwanted some times. If we could have total manual control, it would be cool.

How can we make it BETTER?
From day 1, I thought the handles for the box could have a way to snap to vertices (horizontally of vertically), it would make accurate placement really easy. Also a way to re-center the probe without moving the bounds would be cool (you can move the center without moving the bounds if you have edit bounds check, but if you edit the center numerically (to zero them out) is moves the bounds as well. Also, for some reason, there is a HUGE jump in time needed to update when going from 256 to 512 (it should be roughly 4 times longer, but it’s much more than that, not sure why).

Also, an option to include an hdr disc for lights in the cubemap would be cool.

Edit: Also, similarly to what pattybobatty said, you could implement everything Sebastian Lagarde has ever posted on cubemaps :wink: It would certainly be welcome.

Do you like the Reflection Probes workflow?
Yeah, it’s pretty reasonable.

How do you spend most of your time working with our Reflection Probes features? Anything bogging you down?
Well it’s not 100% related to the probes, but. I’m having a bit of problem adding the feature to my own custom shaders. I have a skin shader (which uses its own custom lighting) and I’m trying to add support for the cubemaps and it has been a pain. Maybe a cool macro could be written, or proper docs on what happens in the standard shader so we can pick things from it we want to use in our own shaders.

When you learned to use our Reflection Probes, what stumped you or had a steep learning curve?
Not much. At least the current iteration of them has been pretty easy to understand. I’m not 100% why box projection is off by default.

My name is Kashif Riley and I am an artist.

I am working on a fighting game.

It will allow me to quickly to create the probes that I need on a per object basis if I see fit. And setting up box projection is a snap.

They are quick and easy to set up. Nuff said.

At the moment, nothing.

I would love the ability to bake exposures into the probe, just like more HDR renderers have. Having multiple exposures will really help your scenes, especially with rendering cubemaps to be used on objects.

EDIT: So Reflection Passes at the exposures… could you guys rename this to “Exposures”?

Very much

Right now, nothing major is bogging me down. But as a warning to users who plan on using this in your workflow, if you use custom cubemaps, at any time with GI, you will have to rebake the cubemaps.

I was kinda stumped at first with the settings, but I have caught on.

Who are you?
Paolo Surricchio, graphics programmer at http://www.camposanto.com/ working on http://www.firewatchgame.com/

What kind of game are you trying to build or would like to build?
Firewatch. Geometry wise, an open world game set in the Wyoming wilderness

How does Reflection Probes fit into that? What use-cases do you have?
We use IBL lighting so reflection probes are the base of our lighting system. Since we moved from Unity 4 custom lighting solution to Unity 5, we are still porting parts of the rendering pipeline over. Using an IBL solution means that theoretically we would like to fully use this system everywhere.

What are the GOOD things about Reflection Probes that you like?
Easy to use, easy to manipulate, good hooks into the standard pipeline.

What are the BAD things about Reflection Probes that you dislike?
Nothing really BAD about it.

How can we make it BETTER?
Custom meshes for reflection probe influence would be nice*;* a more thorough api around reflection probes would be great.

Do you like the Reflection Probes workflow?
yes

How do you spend most of your time working with our Reflection Probes features? Anything bogging you down?
Not really no.

When you learned to use our Reflection Probes, what stumped you or had a steep learning curve?
Nothing

I do a alot of everything.
3d artist, programmer, designer, etc…

dream game is a hack and slash where i go all out on the art and gameplay.

How to Improve:
real mip blurring. currently just blends to lower res and looks trashy on middle rough surfaces(metals are often in this range). Marmoset skyshop actually stores a pre-blurred version in the mip. makes it look amazing!

Reflection Cards, Box Projected is nice but falls short in many areas. also lacks shape dynamism.
distance based roughness. roughness is a cone not a blur. should be sharper at contact points.

some built in refresh rate options for realtime would be nice.

Deffered per-pixel probe sample. do reflection sample in deffered pass. this allows multiple reflections on a single mesh/better localization of reflections. also cheaper as it doesn’t pay for overlap. also you don’t have to distance check objects all the time. could be an option in CGIncludes prolly.

Screen space reflections would be really nice as well though not really required. they do make reflections more predictable as well as lightening workload on the artist. can work with less probes.

loving it so far though, keep up the the awesome! =3

1 Like

I should also add that you guys get major kudos for allowing users to put a reflection probe component per object… wicked awesome.

I am surprised and very curious about this comment. We do full convolution on the mipmaps.
The mip maps should be very high quality.

Are you sure there is a quality difference for skyshop vs unity builtin?
Do you have some images for comparison?

It would be fantastic to get a bug report for a cubemap generated from skyshop vs unity builtin, side by side, where you see it having worse quality.

1 Like

Hi my name is Michael Lam and I’m Technical Artist.

Q: How can we make it BETTER?
I have a little request or idea. Since picture can say thousand words, so I make a picture to show what I wish for ;):


Q: How does Reflection Probes fit into that? What use-cases do you have?
My main goal here is want to have full dynamic scene like day / night cycle.
Many user will benefit too, such as attach the realtime reflection probe to a main Character or main Vehicle…etc

I know new beta that we can make a custom script to update the reflection probe, I think add those common feature in editor make it easier for many user.

For the scripting wise, we can also add some other conditionals to update the probe via script. Something like if the sun changed, then update …etc. That user can take care of it for their need.

How do you spend most of your time working with our Reflection Probes features? Anything bogging you down?
It will be awesome that If there have new API to convolve directly for RenderTexture Reflection Cubemap. I know now we can only do it via texture import setting. (please correct me if I’m wrong) By the way Blinn / GGX model convolution option will be great too.)

Anything else about reflection probe: I like it a lot, really sweet!:slight_smile:

2 Likes

Can I ask what “Runtime Update” should do? You mean you would choose from script, when to update that specific probe ?

okay sorry should’ve includid pics. =3
In Unity any surface not completely smooth looks rather trashy:
1871518--120259--Bug3.png
notice the random pixelation. this happens on almost all middle ranges. also accenting the cubic nature at higher roughness where the edges of the cube show.
1871518--120260--Bug2.png
and for the grand finally! Skyshop:
1871518--120261--Skyshop.jpg notice how smooth the reflections look (sphere in the bottom left-ish). they even added glow to the high values in the smooth reflections to act as bloom. looks like GGX as well. it results in a smooth and impressive look to everything. everything just has that look you expect from photography. pretty as balls. pun deeply intended =3. current unity probes look kinda gross when rough and don’t have that shinny glow when smooth. just doesn’t measure up at the moment sadly =<

also final note: is this just a bug with my version? i havnt downloaded b15 yet(doing so now).

2 Likes

The way I imagined it, is we could have an Inspector option to update after a set time/frame interval (sampling frequency) that automagically take a new probe and swaps it… So, probably very wasteful but no script needed. Maybe a fade time to blend the new probe with the old…

2 Likes

You can do that with a very simple script though. I understand the convenience of having it accessible from GUI, but having to script it puts you into the mindset of “hmm, maybe it shouldn’t update all the time”.

1 Like

Well, After you build the scene, the reflection probe won’t update by default. The “Runtime Update” will do pretty much the same way what “Editor Update” does that update the reflection probe when it is in editor play mode and after the build the game.

I mean the Inspector GUI “Runtime Update” option give user quick access for reflection probe to set it to runtime update mode. I believe that will be helpful for artists of non-programmers. For more complex conditions how to update the probe, programmer can choose the option “Runtime Update = Never Update” and then they write their own code to update it.

[Edit]
This Inspector GUI “Runtime Update” is just a suggestion, i know it may cause some performance issue, if user created a lot of realtime update probes in the scene. Ignore this suggestion If it is not practical. I can make a simple script to update it for now.

1 Like

I’ve noticed that the reflections of emissive materials, on objects with smoothness values between 50-100% look really bad. It seems the blurring of the emissive shapes within the reflection is at a lower resolution than the reflection maps resolution setting. Specifically I see huge chunky pixelated squares that appear blurred around the emissive objects outlines. Any one else seeing this?

EDIT: This is exactly what **Cynicat **was reporting above, albeit he said it better and actually included screenshots.

What kind of game are you trying to build or would like to build?
3D open world Action RPG for PS4.

How does Reflection Probes fit into that? What use-cases do you have?
We use them everywhere, they’re essential.

What are the GOOD things about Reflection Probes that you like?
The results are nice!

What are the BAD things about Reflection Probes that you dislike?
As of b12, they don’t yet blend. Heard they will though.

How can we make it BETTER?
Box projection mapping should be allowed to be rotated? or some solution.

Do you like the Reflection Probes workflow?
It’s OK. I have the same problem as I do with light probes though, for big levels, it’s a real chore plonking them down and fitting them together like tetris. Can’t we just stretch out an umbra like area and Unity handles placing them automagically without me having to deal with it? Ditto for lightprobes. That stuff really all needs automating within reason tbh.

I understand it being manual, but perhaps a compromise could be reached. As for lightprobes, I’d love that to be entirely automated :stuck_out_tongue: Automating lightprobes would give us more editor time to manually deal with reflection probes. So it’s a knock on effect.

How do you spend most of your time working with our Reflection Probes features? Anything bogging you down?
Placing so many of them and lining them up.

When you learned to use our Reflection Probes, what stumped you or had a steep learning curve?
Nah, all straightforward. Let people know that they’re essential or their PBR looks fairly rubbish :wink:

Thanks for taking the time to provide your feedback to help us make 5.0 even better!
No problem.

@Cynicat , Joachim_Ante
I think I found out the reason why default Unity reflection cubemap looks worst than Skyshop.
In the beginning I thought the cubemap size is the matter of the quality, but I found out the compression is the main issue that cause the reflection looks really bad.
I baked a reflection cubemap from Reflection Probe with 128 resolution, then compare the mip 3 and mip 4 between Truecolor and Compressed with the same cubemap texture.
1872812--120364--Six_Frame_Cubic.jpg

Now you can tell why it looks bad. Also I think the skybox reflection (in Lighting window) is compressed by default.
I remember I read the Marmoset Skyshop documentation mention that the compression will cause the image quality problem with RGBM texture.
That should be an easy fix for Unity team, just bake all the internal reflection texture with Truecolor !

5 Likes

And maybe let us choose the default reflection size?

1 Like

Another thing that would be nice is having the name of the Reflection probe within the scene dictate the name that is used once the probe itself is baked. In a production setting we want the ability to rename the probes so its easier to trouble shoot. As of right now the probes are always generated with a generic name. You can override this but I have noticed there are times these connection is broken with the updated probes. When this happens it defaults back to the generic name and not the name that is provided. Having a hundred probes named ReflectionProbe-0 - ReflectionProbe-99 is not ideal

Who are you?
I’m a freelance graphic designer / app designer.

What kind of game are you trying to build or would like to build?
I work mostly on various serious gaming projects and also aim for architectural demonstrations jobs.

How does Reflection Probes fit into that? What use-cases do you have?
It fits in everything since it is complementary to the rendering of the new standard shader.

What are the GOOD things about Reflection Probes that you like?
I didn’t notice any performances drawbacks so far, which is nice considering the huge graphic improvement they provide.

What are the BAD things about Reflection Probes that you dislike?
Their bounds are way too limited and aligned to the world. We need more complex shapes than a pre-oriented box.

Also, the handles were way too small and difficult to see and now they seem to have disappeared: this is very wrong. :frowning:

When positioning a probe and setting the bounds, we have to work blind because other probes bounds aren’t shown. This leads to blanks zones.

How can we make it BETTER?

I tried Rprobes on bigger scenes and we need tools to make it simple and tidy.

First, we definitely need a Rprobes mode in the editor: it would mask all non static, show statics game objects in grey and highlight every Rprobes zones in colours so we’d see where we left blanks and easily set them up.

Second, bounds should be definable with a custom mesh. We could make our own Rprobes zones in a 3D modeller soft, and simply drag and drop it in the scene.
A “is reflection probe” import option for 3D objects would not use mesh renderer and make them Rprobes: the pivot point of each mesh would be used as the eye of the probe while the mesh itself would define the bounds.

Here is a simple example: we can see a small piece of level design and the corresponding Rprobes cluster.

This is much easier to set up and modify in a soft like 3Dsmax.

Do you like the Reflection Probes workflow?

Yes, the basics are good. It just need to evolve.

When you learned to use our Reflection Probes, what stumped you or had a steep learning curve?

It was fine but I thought about making such a Rprobes system myself so it felt familiar. Still, i think this is a simple solution and that it is easy to use.