A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Image Effects' started by Chman, Oct 10, 2016.
Hmm too bad, i was looking for alternative water reflection.
I have an error when i use this kit on my main camera for VR, the image is stacking on top of each other.
I only have Anti-alisaing and AO on.
Sooo artifact-free when it comes to SSR is quite difficult if you want to keep it fast enough to be usable (SSR is conceptually broken so...) but we're still looking at fixing some of the most glaring ones.
Thanks for the screenshots, do you happen to have this scene in a minimal project? I'd be interested to give it a try...
As for contact hardening, because we chose the "fast route" for this SSR you can either have contacts or nice blurry reflections but not both at the same time. If you go into ScreenSpaceReflections.hlsl you'll see the following line:
#define SSR_ENABLE_CONTACTS 0
Set it to 1, right click the shader folder and reimport. You'll get an alternative SSR version that may work better for you, depending on your needs.
Planar reflections are the best when it comes to water, especially calm water. You really don't want to use SSR for that even though some games have tried. "Tried".
Yeah that's a very good point. the only problem is we all know that planar reflection in unity suffer from different lighting result and no fog. Except if you have some pointer to fix that i'm all ear
@Chman Oh btw it seems the current ssr doesn't fallback to reflection probe, this know issues right?
It should fallback to reflection probes correctly (at least it does in my currently opened project)... If it doesn't for you, a repro would be welcomed
Well, within reason
Just sent you a pm.
What if any changes to SSR will come in V2 (assuming this is V1 talk so far, of course!) ?
should've fallback to reflection probe isn't?
also randomly i'm getting same black reflection on top of screen
@hippocoder we are talking about the latest actually
We're talking about V2.
(or at least I was!)
Just wanted to clarify since the previous pages weren't, so its tad confusing for other readers.
Regarding probe fallback, do you guys have box projection ticked and a decent arrangement to cover the area?
Probe fallback seems to work fine for me, I'm doing a bit more extended testing now.
well that's mean something broken in my project.
Edit : Wait why my image showed up broken?? *sigh
fine, here in case people wondering https://imgur.com/WkfnOep
Edit2 @Chman latest pull v2 spam the editor with exception error for OnPreCull and OnPostRender
It looks like the camera is outside of the probe area and the top camera plane is showing the lack of information to fill in with...
How to change V2 settings :
GameObject.Find("Global Volume").GetComponent<PostProcessVolume>().sharedProfile.TryGetSettings(out b);
b.intensity.value = bIntensity;
b.color.value = bColor;
b.enabled.value = true
even if in that case it should've fallback to reflection probe isn't?
Maybe this is a silly question but, how can i get God rays with the new post-processing stack asset? there is no check or option in the list to add god rays... if not... is there another solution to add god rays? :/
Try SunShaft from standard asset's image effects
Or True Volumetric Light from github
RenderTexture.GenerateMips failed: render texture does not have mip maps (set useMipMap to true).
This is spamming my console with the latest V2 post using 2017.1.1p1...
Thanks for resolving this - I thought that it was new requirement for render texture settings that I don't need at all, good to see it is just v2 related bug...
You can prevent it by disabling the SSR component for post. I think this will be resolved in a future engine update according to github.
At a guess I'm going to say it's to do with the blur texture not needing mip maps for SSR.
Yeah I think the intended release to use this with is 2017.2. That error doesn't happen in the latest beta.
Tried latest b11 and latest from github and it smashed the crap out of everything else so it's a no go for us at the moment
The post effect rendering is entirely broken in the ui with massive dials, errors etc.
It's a bug introduced in Unity 2017.1p1 and 2017.2bsomething. It's been fixed internally so it'll be in a future patch.
FYI current v2 fully works with Unity starting with 5.6, 2017.2 is not required at this time. This may change in the future though.
Have you tried out this SSR implementation? The stochastic approach will allow for sharper reflections which could work nicely with your water.
I have an outline shader that I wrote similar to what this tutorial covers, except that it's an internal outline: https://willweissman.wordpress.com/tutorials/shaders/unity-shaderlab-object-outlines/ This is NOT the "move the face along the normal" outline technique.
My shader uses the depth buffer of the image to determine if an outline pixel is occluded (if a pixel is occluded, it is discarded). The problem occurs when I attempt to use temporal anti-aliasing in conjunction with my outline shader. The effect goes completely crazy. I've attached a picture of what happens to this post.
I do not have this problem with fast approximate anti-aliasing. I would really like to use the temporal anti-aliasing effect since it also cleans up some of the artifacts from the SSAO. Note that I am using forward rendering, and my outline script is currently set to run after the post processing effects (if I attempt to run before, the problems are even worse).
TAA jitters the screen view by less than a pixel and uses the difference between each frame to create a pseudo-subsampling effect, this is why TAA seems to continue to look better once the camera stays still. I see your shader is likely a vert/frag shader instead of just a surface shader. If it was a surface shader, this would usually be handled for you by default from unity's built in macros. Otherwise you have to add the proper macros yourself to your shader code to handle the jitter I believe, though I haven't had to do it yet so don't know the specific details.
FXAA is just a smart-blur of the rendered image so it wouldn't have the same problem.
stochastic is awesome but has problem with transparent surfaces.
Every SSR effect has problems with transparent surfaces, that has nothing to do with the stochastic approach.
I don't think that's an issue specifically with the stochastic implementation, that's an issue that a lot of camera effects have had recently, I forget what the fix for it is though but that effect should be able to be updated to get around it
edit: It is the [ImageEffectOpaque] at line 404 that causes the issue. Comment out that line and your transparent objects will stop displaying though other meshes.
Unfortunately though, even with that, it doesn't seem his effect is programmed to trace reflections on transparent surfaces, but neither is Unity's SSR from V1, haven't tried their new V2 version yet though, but I doubt that one will either unless they switched to their new renderloop system... but it's 5.6 compatible, so that's unlikely too.
Well if you read that thread you should notice that i've used that already
Indeed, I'm sensing a bit of snark, but it's been weeks since I've read that thread, as you can see I posted in it as well, it's easy to forget a name, but I was impressed with your water when I saw it back then.
Where i can find SSR v2 ?
Oh sorry if you getting it that way, didn't mean it like that.
Is there any chance that we'll see the MiniEngine AO in the post processing stack? They've distributed a package for Unity but it doesn't play so well with the post processing stack.
Just a quick warning about this SSR implementation: with base quality settings / half-resolution render target it takes 17.6ms to render on PS4 (and ~8ms on a GTX980).
It's already in v2.
When I did perf comparison with V1 Post-processing's SSR, the performance was similar if not better in many cases, on PC at least. Are you saying the V2 is a decent performance improvement then?
SSR in v1 was pretty slow as well (although not as slow but slow enough to not be usable in production). v2 is a lot faster. We get to ~2/3 ms on PS4 with sensible settings and TAA enabled. Still not as fast as I'd like honestly. When it comes to SSR you get what you pay for, quality or speed. Pick only one.
I Already tested SSR1 with low settings and i get very good performance.
Where can I download SSR V2?
any news about the black edges area in the SSR when blending with reflection probe?
Regarding V2 SSR, I like it's visual and quality a lot, 3ms does seem like I would like to use it in some areas but not others. Am I right in thinking we can just change the quality or even turn it off and on as we move around the level via the built in volume blending system?
In any case you're one of the guys sweating over my game's visuals and I have to say: thanks a lot! All the optimisations you do are very appreciated
Are you using Single pass stereo? The most common error with shaders not compatible with SPS is a double screen effect. If you are using Single pass then untick the effects in the profile one by one until you find what's causing the issue.
By the way, global fog is an option both in the post processing profile and also on Unity's Lightning tab (per scene).
Though, last time I checked v1 and regular V2, they had a lot of compatibility issues with Single pass. Maybe the last beta fairs better, but I don't currently have the time to test it (so I just quickly changed to regular stand alone effects). If you do test the latest beta and it works well for you let me know, lol.
Just click on "Clone or download" and select "Download ZIP", From now AO and SSR are in profiles instead of PostProcessLayer.
Also remember to use the new Volumetric AO which has better quality and performance, just change mode to "Multi Scale Volumetric Obscurance".
Can someone please help explain to me how to use this tool? It's not as straight forward as the original Unity post processing scripts.
Should I just be using the post process volume script by itself like below? Also how come the chromatic aberration settings are disabled?
Layer on camera and volumes all around. Just make sure to set layers for the volumes. If you just want to mess with it, have one volume and set it to global.
To enable the settings click on the circles on the left. I haven't tested it, so I'm just guessing, but I think the intent is that if you haven't checked the circle, the volume leaves the setting as is.
Yeah we use single pass, cool will have a look. but I have no effect enbled and get this as soon as I have the component on the camera
The V2 stack is very similar to the UE4 way of doing things. Once you wrap your head around the intended workflow it's actually a really nice setup.
Hey all! So we're using v1 of the post processing stack, and we're encountering this issue where ambient occlusion is applying to emission (running in deferred, applying to ambient only). Looking at the code, this seems to be intentional. I'm not sure this is correct though... It can make things like lightbulbs darken so much that they don't seem to be emissive at all! I've attached a couple images, one with it applying to emission, one with that disabled in the shader.
Looking at the code of v2, it's in there as well (with additional features!). What's up with this? It really does seem wrong, but it might also just be beyond my current understanding.
Legacy Cinematic Effects SSR vs V2 :
I think most legacy effects has more options and are easier to get better result
For example post processing stack's depth of field is very limited in settings. But legacy one has lots of options and features