While working on my project,
I confirmed that an incomprehensible phenomenon occurs intermittently
For a clear comparison of the problem, I simplified HDRP Setting, Scene objets
There are two Profile Assets in the project
Default Volume Profile Asset and Scene Volume
What happened? Scene view and Game view are different.
Scene view is normal
However, the status of the game view is strange.
If i re-enable Scene Volume,
The Ground Tint of the default setting, which should not be applied this time, is affecting game view
What’s more incomprehensible is that when the camera moves to a specific position,
it refreshes and changes.
This problem does not always occur.
Even in exactly the same state, just restarting the play mode doesn’t happen, or it starts to happen again
I don’t have an answer, but it reminds me of temporal accumulation problems I have had at times. If I understand, in the game window the tint color is not changing immediately when the volume changes (causing the ground tint to change). Examples of temporal changes are clouds take a while to morph between settings, TAA on the main camera takes a while to adjust, etc. Or is it when the camera is in a certain position, things change unexpectedly…
If it was me, I would try with two volumes at different priorities as well. I have got suspicious of the global default volume. No proof, but I had strangeness going on at times. So I always drop a global volume with priority -1 into scenes now rather than rely on the global settings.
Also, you could try adjusting weights instead of enabling/disabling objects. I wonder if there is something being cached going on which enable/disable is encountering. Adjusting weights is a different code path if nothing else.
I also had a strange case that I never understood when the camera was looking in a certain location in a certain direction. Most things turned blank. I never worked it out. I ended up creating a completely new scene with all the same prefabs and it worked perfectly. No idea why, but I just shrugged, accepted it, and moved on.
That’s interesting.
I didn’t think test it by changing the weight.
There must have been an interesting result.
I was using the same method as you.
Default Global Setting set to almost empty
and each scene was required to set its own Global Scene Asset.
This must be a different use than the design intent.
(Although it works well, of course)
And the problem appears to have been successfully evaded
TAA: considered in the testing process.
I changed it to SMAA, It’s still the same symptom.
Or is it when the camera is in a certain position, things change unexpectedly…
→
Even this cannot be answered clearly.
Clearly, the symptoms change based on some boundary.
(For example, in the uploaded gif, the situation changes when the height changes by jumping.)
but.
The baseline for this is not clear.
I just think…
Perhaps internally, something’s buffer didn’t clear properly, and it felt like it wasn’t updated. (refresh)
This problem was similarly refreshed by enabling/disabling certain parameters without enabling/disabling the volume itself.
Perhaps, in the refresh process of some parameters, something initialization seemed to be resolved.
However, this was only an additional effect, and could not be a cause or a solution.
I spent my day on this
When I simply confirmed that the workaround worked,
I decided to just accept it.
but I just shrugged, accepted it, and moved on.
→ I agree.
very interesting
one thing to consider is that PBS has to precompute on most if not all param changes, much like if you were trying to volume blend with different PBS values, you’d lag speak for a moment.
Disabling the local volume to create the fallback
may not precompute the scene/game views equally for the ambient probe update.
IIRC, PBS has update options at the bottom that default OnChanged, this may not recompute SS or Ambient probes using weight sliders or turning off and on.
As you say, it seems to be a problem like PBS’s update mode.
However, even if i set it to RealTime, the same problem appears and disappears in a moment.
It doesn’t work out perfectly.
I don’t know why an overridden value that shouldn’t be applied is being referenced