Hello. Who knows who to make emission in reflection probe? Please see the attached screenshot. Thanks
Hi, sorry I don’t understand your question?
Side note: Emissive in reflection probe will be store without any pre-exposition. Which mean you can’t store an emissive object more than 65535, it will be clipped. To be able to go to a larger range, you need to use the advanced setting: “Range compression factor”
https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@7.3/manual/Reflection-Probe.html
Hey. Well as u see. Reflection probes reflects the object itself but without emission. How to add that emission into reflection?
Slightly out of topic here, but if I may ask a few questions about this feature (since I recently implemented it myself):
-
Is there a way to auto set the range based on the brightest pixel of the reflection probe? (and if not, why not? I found it very useful and it removed the guesswork)
-
Was remapping the black point of the reflection probe also considered? (I decided against it in my implementation for mobile)
-
Is the compression factor able to go lower than normal, so that compression artifacts are less visible after DXT/whatever compression?
I did the above for my own custom probes and it was a huge win for ETC2/ETC compressed probes for Android (although that’s a very different use case than what HDRP is aiming for).
Example:
See reflection probe settings in the HDRP asset, you should be able to use the drop down to select the settings for probes, and allow post fx / emission to be rendered into probes. Not always recommended since bloom is an optical effect if that makes sense, so it is a guess why it is not default
With probes as far as I know everyone can configure it in the HDRP asset like they do cameras, which includes post effects.
Ah sorry, have wrongly check the screenshots.
So works for HDRP 7.3.1 .
Which version are you using?
you should be able to use the drop down to select the settings for probes, and allow post fx / emission to be rendered >into probes
Nope, the bloom from emissive is coming from the main camera postprocess due to emissive intensity inside the reflection, you dont need to configure postprocess for reflection (and it is not supported currently).
Using 7.1.8 and it says its the last available version
Ok found the 7.3.1 will check now
Haven’t done anything special:
- install template
- add a planar reflection
- change ground to mirror (mettalic one, smoothness one)
- add an emissive cube
can you explain your repro step?
Also Mac or Windows (or other?)
The OP is using reflection probes instead of planar.
The OP is using reflection probes instead of planar.
Right, sorry I am dumb :P, should have read carefully.
I can reproduce the issue. We will investigate.
Yeah. But basically now i tried to use planar. Same result. No emissive in reflection. =)
And steps i reproduced it are the same u did
I’m on windows in case its relevant)
Hi,
so after digging into it I finally find the root of the issue.
Your emissive objects have certainly an exposure weight of 0 ? (or != 1.0)
If you try with 1.0 it should work.
I discover that we don’t support this is not correctly supported by our reflection system (either planar or cube they works exactly the same).
We will add that to the documentation.
For tech detail, the root cause of the issue is in LitBuiltinData.hlsl code
// Inverse pre-expose using _EmissiveExposureWeight weight
float3 emissiveRcpExposure = builtinData.emissiveColor * GetInverseCurrentExposureMultiplier();
builtinData.emissiveColor = lerp(emissiveRcpExposure, builtinData.emissiveColor, _EmissiveExposureWeight);
We apply an inverse exposure multiplier based on the weight. BUT this inverse multiplier when we render reflection is 1.0. For reflection we don’t apply any pre-exposure otherwise it will not work with the scene.
The consequence is that when the reflection texture is read, we will apply the scene pre-exposure on it, BUT the emissive haven’t be inverse expose by the current exposure of the scene, thus Emissive will be largely decrease whereas this shouldn’t have get any impact (with exposure weight setup to 0);
We are discussing if there is a way to fix this.
Hey, thank you for digging into it. It works indeed now. Though u must put rly big numbers into emission intensity which is not a big deal(i just dont like it:smile:). Thank you
Just a note here. It is not arbitrary big number. Emissive is light. Like any other light (area light etc…), so it use the same kind of unit and is exposed the same way. If all your lights in your scene are based on real world values with a correct exposure for them, then the value for Emissive will be coherent. But it is true that this number in nits is very high (thus why we also propose EV100, where you can put 10 for example).
Thanks for the note
I have a follow-up question: how does this work for unlit material? if unlit material works in the main camera pass (looks fine in the scene with 15EV exposure), what do I have to do to make it not black in planar reflection probe?
Turns out I need to output to Emission slot with Emission intensity matching the scene EV.