Search Unity

SC Post Effects Pack [Built-in/URP] - 34 additional effects

Discussion in 'Assets and Asset Store' started by StaggartCreations, Jan 18, 2018.

  1. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    Code (CSharp):
    1.        
    2. public override GUIContent GetDisplayTitle()
    3.         {
    4.             return new GUIContent()
    5.             {
    6.                 text = "Black Bars (" + (BlackBars.Direction)mode.value.enumValueIndex + ")"
    7.             };
    8.             //return "Black Bars (" + (BlackBars.Direction)mode.value.enumValueIndex + ")";
    9.         }
    10.  
    Here's a fix for anyone who needs it, each instance must be changed to something like this.
     
    hopeful likes this.
  2. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    That's entirely correct!

    This appears to be caused by a typical yolo change in URP since the b9 beta. You can safely remove all the GetDisplayTitle functions until this is patched
     
  3. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    AH wasn't sure if deleting was safe but i posted a fix i managed with the API change XD
     
  4. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    Btw please consider adding a toggle to sharpen to change between having it processed by HDR or not or maybe perhaps add some kind of clamp?
     
  5. Firewall

    Firewall

    Joined:
    Apr 13, 2013
    Posts:
    2
    Effects do not appear to be working for me on the Built In render pipeline after doing a fresh install on an empty project in 2021.1.16f1 - are there additional installation steps needed outside of the installer window?
     
  6. WickedRabbitGames

    WickedRabbitGames

    Joined:
    Oct 11, 2015
    Posts:
    79
    Same problem. Built-in Render pipeline in 2020.3.18f1.
     
  7. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    What you can to verify if everything is set up correctly is to check if any of the the built-in effects (eg. Vignette) appear to work. If not, either the Post Process Layer component could be missing on the camera, or the volume object isn't on the correct layer

    Also note that effects are initialized with settings that render them invisible (to maintain blending functionality). An intensity/opacity/amount parameter will be set to 0 by default. Increase the value to start seeing an effect.
     
  8. WickedRabbitGames

    WickedRabbitGames

    Joined:
    Oct 11, 2015
    Posts:
    79
    In my case the Unity post-processing effects are working correctly. And I'm aware of how to use the intensity/opacity.
     
  9. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Not sure how, but it may that the shader related to any effect is hung up on any error. This is usually met with a "RenderingCommandBuffer: invalid pass index X in DrawMesh" console error.

    A way to verify this is to select any shader (in the Runtime/<Effect name>/Resources folder) and check the inspector. upload_2021-10-5_14-47-21.png

    If there's anything along the lines of "failed to open source file", you can right-click the Runtime folder and choose "Re-import". This can happen if the asset was imported in a project without the Post-processing package installed at that point. Re-importing the files gives them a kick and recompiles the shaders based on the project's current state, which should be only a one-time thing.
     
  10. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    Hi! This issue with fog intensely flashing when camera approaches rotation around -90.001 on Y has been a big problem for us, since we move the camera in the range of around 3000 units around world origin. It's been a while since your reply about it and I don't think it's been fixed since, so I looked into it again. I think I discovered a potential fix. In your class FogRenderer.cs, you construct a clipToWorld matrix based on
    worldToCameraMatrix provided by Unity. In the vertex shader, you derive worldDirection from multiplication of that matrix by clip coord that then gets camera world position subtracted. Since the issue pops up the further you travel from origin, I guessed that it could be fixed by fooling whole setup into believing the camera never moves from origin. To accomplish that, we can just:

    - Remove " - _WorldSpaceCameraPos" from o.worldDirection calculation in the shader
    - In the FogRenderer.cs, create a new TRS matrix from camera position and use it to remove contribution of camera position from worldToCameraMatrix.

    Code (csharp):
    1. var camTransform = cam.transform;
    2. var cameraPosition = camTransform.position;
    3. var cameraDirection = camTransform.forward;
    4.  
    5. // Operations from original version of the fog effect
    6. var projectionModified = GL.GetGPUProjectionMatrix (cam.projectionMatrix, false);
    7. projectionModified[2, 3] = projectionModified[3, 2] = 0.0f;
    8. projectionModified[3, 3] = 1.0f;
    9.  
    10. // This matrix will include camera position, which is sometimes extremely far from origin
    11. var worldToCamera = cam.worldToCameraMatrix;
    12.  
    13. // Construct a matrix from current camera position
    14. var trsFromCameraPosition = Matrix4x4.TRS (cameraPosition, Quaternion.identity, Vector3.one);
    15.  
    16. // If I'm using this correctly, this should counteract the position,
    17. // resulting in a matrix akin to worldToCameraMatrix from a camera at world origin
    18. var worldToCameraOffset = worldToCamera * trsFromCameraPosition;
    19.  
    20. // Operations from original version of the fog effect
    21. var inverseProjectionByWorldToCamera = Matrix4x4.Inverse (projectionModified * worldToCameraOffset);
    22. var trsFromProjectionZ = Matrix4x4.TRS (new Vector3(0, 0, -projectionModified[2, 2]), Quaternion.identity, Vector3.one);
    23. var clipToWorld = inverseProjectionByWorldToCamera * trsFromProjectionZ;
    24. sheet.properties.SetMatrix("clipToWorld", clipToWorld);
    Finally, for a good measure, since o.worldDirection is supposed to be a direction vector, it would make sense to normalize it in the vertex shader. This way, even when the calculation breaks down, weird length of the output will not leak through final color calculation and cause an intense flash.

    I think some other world space effects are subject to the same issue (like cloud shadows), so if this fix works reliably, it should probably go into a utility for easy reuse.

    I'm not sure it's a fix that's perfectly correct, but it does make the issue go away without causing any noticeable regressions so I'll take it :)
     
    Last edited: Oct 23, 2021
    hopeful likes this.
  11. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Nice find, and good effort! This does make sense, though projection matrices remain a bit complicated. I've been meaning to port the depth->world position reconstruction from URP to the Built-in RP. Since it doesn't succumb to this issue, and works in VR. But I'll try to see what these changes bring up.

    If I recall correctly, in the past you've had some issues with Fog and TAA. Causing jittering at the silhouettes of objects standing in front of the skybox, or distant geometry. The solution I found was to have Fog execute before TAA does.

    This requires modifying the PostProcessLayer script, and moving the Post-processing package to the Assets folder. In turn, this requires adding the "PPS" define symbol to Player Settings.
    upload_2021-10-28_14-51-54.png
     
  12. zfh2773

    zfh2773

    Joined:
    Nov 16, 2019
    Posts:
    27
    When will urp12.1 of Unity 2021.2 be supported?
     
  13. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    I'm aiming to finish an update this week, which will include finalized changes for URP 12 support.

    For now, you can simply remove all the GetDisplayTitle() functions from the scripts throwing an error. All other URP12 aspects were already pre-emptively covered in previous updates, which fortunately still work.
     
    zfh2773 likes this.
  14. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    An update on version 2.1.9. This took a while, since it required to restructure the asset, as well as the dev environment. I've at least made 2019.4 the minimum required version, with LTS support ending next spring, I think it's safe to assume all projects have already updated from 2019.3.

    Now, scripts for Post-processing and Universal RP are now both in a separate package, found in the Install folder. By default, the asset contains neither and must be unpacked based on what's being used. When first importing the asset, just the shared scripts/shaders get imported:
    upload_2021-11-4_12-2-30.png

    After importing, the installer will prompt to unpack the scripts (based on which framework is in use)
    upload_2021-11-4_12-3-31.png

    Though I can't stress enough that importing a script package, without having the correct dependency installed (post-processing package, or URP). All the scripts will naturally throw errors, this doesn't however mean the asset is broken. A safeguard against this had to be removed, since it can lead to crashes.

    The benefits being:
    • Fixes situations where Unity can crash, due to a compiler bug since 2020.1 (scripts being re-serialized with a different class extension)
    • When using URP, scripts will no longer revert to their (default) Built-in RP versions
    When updating the asset:
    • The installer will pop up again, with a message to update the scripts. Easy peasy.
    • Errors can occur, due to script changes, but these will be cleared after the update is complete.
    I've tested updating from 2.1.8 to 2.1.9 in different projects, and this appears to go smoothly.
    The old "_URP_VolumeSystem" package will automatically be deleted.

    Future work
    • My Trello board remains available for viewing here. Most things revolve around minor touchups. A tracers/ghosting effect is likely next on the chopping block.
    • Possible retirement of support for the Built-in RP. It's unclear how many people still use it, but as far as Unity is concerned, its on its way out. Having only URP to deal with, means I could double-down on it. I'll revisit this decision in 1-2 years from now.
    • URP is getting a "custom post processing" system, whatever that really entails. Should this mean overhauling everything (again), I'll practically be posed with 3 different versions of the asset. This either pushes for deprecation of built-in RP support, or switching entirely to this new system (breaking backwards compatibility). To be frank, this asset doesn't exactly sell that much anymore to warrant so much development overhead, making either call more likely.

    I'll be updating the documentation, after which the update will go live. This'll also verify compatibility with Unity 2021.2 and PS5.
     
    zfh2773 likes this.
  15. kzkzkz000

    kzkzkz000

    Joined:
    Nov 23, 2021
    Posts:
    2
    I really liked this asset.

    I would like to use this asset in URP. Is there a video to introduce it?

    Sorry, but my English is not very good and I could not read all the threads.
     
  16. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Once you're past the installation (for URP, you just need to hit the "Install effect scripts" button), adding effects works exactly the same as the built-in effects (Bloom, Tonemapping, etc). I can't offer anything other than English unfortunately .
     
  17. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    Ok looks like my last attempt at fixing fog/cloud shadows jitter and extreme flashing at some angles away from world origin actually broke all height based effects, so here is a better fix:

    1. Make this utility method available in a static utility somewhere, allowing any effect that needs world position to use it:
    Code (csharp):
    1. private static readonly int LeftViewFromScreen = Shader.PropertyToID ("_LeftViewFromScreen");
    2. private static readonly int LeftWorldFromView = Shader.PropertyToID ("_LeftWorldFromView");
    3. private static readonly int RightViewFromScreen = Shader.PropertyToID ("_RightViewFromScreen");
    4. private static readonly int RightWorldFromView = Shader.PropertyToID ("_RightWorldFromView");
    5.  
    6. public static void SetViewMatrices (Camera cam, MaterialPropertyBlock mpb)
    7. {
    8.     // 4. Setup material matrices
    9.     if (cam.stereoEnabled)
    10.     {
    11.         var leftViewFromScreen = GL.GetGPUProjectionMatrix (cam.GetStereoProjectionMatrix (Camera.StereoscopicEye.Left), true).inverse;
    12.         leftViewFromScreen[1, 1] *= -1;
    13.         mpb.SetMatrix (LeftViewFromScreen, leftViewFromScreen);
    14.         mpb.SetMatrix (LeftWorldFromView, cam.GetStereoViewMatrix (Camera.StereoscopicEye.Left).inverse);
    15.  
    16.         var rightViewFromScreen = GL.GetGPUProjectionMatrix (cam.GetStereoProjectionMatrix (Camera.StereoscopicEye.Right), true).inverse;
    17.         rightViewFromScreen[1, 1] *= -1;
    18.         mpb.SetMatrix (RightViewFromScreen, rightViewFromScreen);
    19.         mpb.SetMatrix (RightWorldFromView, cam.GetStereoViewMatrix (Camera.StereoscopicEye.Right).inverse);
    20.     }
    21.     else
    22.     {
    23.         var leftViewFromScreen = GL.GetGPUProjectionMatrix (cam.projectionMatrix, true).inverse;
    24.         leftViewFromScreen[1, 1] *= -1;
    25.         mpb.SetMatrix (LeftViewFromScreen, leftViewFromScreen);
    26.         mpb.SetMatrix (LeftWorldFromView, cam.cameraToWorldMatrix);
    27.     }
    28. }

    2. Call that method in any post effect renderer:
    Code (csharp):
    1. PostEffectUtilities.SetViewMatrices (cam, sheet.properties);

    3. Make an include file with the following content and reference it in all posteffect shaders that need a world space position:
    Code (cg):
    1.  
    2. uniform float4x4 _LeftWorldFromView;
    3. uniform float4x4 _RightWorldFromView;
    4. uniform float4x4 _LeftViewFromScreen;
    5. uniform float4x4 _RightViewFromScreen;
    6. uniform float unity_StereoEyeIndex;
    7.  
    8. float3 GetWorldPosition (float depth, float2 uv)
    9. {
    10.    float4x4 proj, eyeToWorld;
    11.    if (unity_StereoEyeIndex == 0)
    12.    {
    13.       proj = _LeftViewFromScreen;
    14.       eyeToWorld = _LeftWorldFromView;
    15.    }
    16.    else
    17.    {
    18.       proj = _RightViewFromScreen;
    19.       eyeToWorld = _RightWorldFromView;
    20.    }
    21.  
    22.    // bit of matrix math to take the screen space coord (u,v,depth) and transform to world space
    23.    float4 viewPos = mul (proj, float4 (uv * 2 - 1, depth, 1)); // inverse projection by clip position
    24.    viewPos /= viewPos.w; // perspective division
    25.    float3 wpos = mul (eyeToWorld, viewPos).xyz;
    26.    return wpos;
    27. }

    4. In any shader, just use the method above to get world position (and, if needed, world direction):
    Code (csharp):
    1. float4 ComputeFog(v2f i)
    2. {
    3.    float depth = SAMPLE_DEPTH(UV_VR);
    4.    float3 worldPos = GetWorldPosition (depth, i.uv);
    5.    ...
    6.    float3 worldDir = normalize (worldPos - _WorldSpaceCameraPos);
    7.    ...
    8. }
    No need for clipToWorld property, no jitter at all no matter where camera is in the world, and fairly precise per pixel direction/position. The improved precision is especially noticeable with effects like NDOTL from sun direction in the fog shader - if you face away from the sun and spin the camera, it was very noticeable how sun gradient jittered and jumped in random directions, and now it's much more precise, perfectly wrapping the sky radially even if you bias the calculation to reach beyond dot of 0.
     
  18. kzkzkz000

    kzkzkz000

    Joined:
    Nov 23, 2021
    Posts:
    2
    Thank you.
    I'd like to use the "black bar" effect, etc. Can I use it with URP?
     
  19. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Yes, essentially all the effects work in both the Built-in and Universal Render Pipeline.
     
  20. kenzen0

    kenzen0

    Joined:
    Sep 17, 2018
    Posts:
    16
    I asked a question on Twitter.
    Can I have a look at it?
    Or I'd like to see a video on how to use the sample with URP.
     
  21. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    Just here to say the asset is amazing I use it in every project, but I already bought it so I cannot help with making more sales, but rest assured I would buy it again If I had to.
     
  22. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Sorry, I'm taking a long break from Twitter, so I'm not checking messages there.

    I checked out your project, but you're using the 2D renderer in 2020.3. Custom post processing effect's aren't supported until 2021.2. There's also no volume profile set up to begin with, this would otherwise be shown in every effect's UI:
    upload_2021-12-8_14-9-51.png

    The usage of effects works in the same way as is does for the built-in Unity effects as outlined here: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/Volumes.html

    Thank you, that's appreciated!
     
  23. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Hi, 3rd user here with errors under Built-in, Unity '20.3.21

    SC installer popup tells me I have 'both' URP and Post Processing Stack installed and should delete PPS
    – it's not true, I do not have URP installed

    After unpacking the Built-in scripts for the effects
    SC menu shows under the add effects on my PP volume in scene, but adding any SC effect gets a broken component (there is nothing under the added effect in the PP volume list) and incrementing errors on the console.

    All other PP effects are working as expected, including Unity and 3rd-party fx.

    I rolled back to an earlier version of PP (version 3.2 to version 3.1.1 "verified"), same issue. SC effects are listed in PP, but load empty with errors.
     
  24. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    The installation of URP is detected through the Package Manager, the only explanation I have is that it must be installed (even if not in use).
    upload_2021-12-20_11-52-3.png
    It's worth double-checking if this in fact the case.

    Unpacking the script files manually, despite this error is going to cause compile or console errors. Since the code path for two different render pipelines are going to mix up, hence the first warning.

    There is the off-chance that another asset added a "URP" define symbol to the Player Settings, which will cause a false positive. You could check if this is there:
    upload_2021-12-20_11-55-0.png
     
    Immu and wetcircuit like this.
  25. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Preparing a few new features for next update, namely some image enhancers also employed in most blockbuster games nowadays.

    Sharpening is getting a Contrast Adaptive method (based on AMD's open-source CAS algorithm). HDRP already features this, but also incorporates AMD's upscaling tech.
    scpe_sharpening.jpg

    CAS effectively only sharpens pixels that are high in contrast (compared to neighboring pixels). Because it renders after TAA, this can be used alongside of it.

    (Little caveat: in URP, the radius parameter only works in integer steps, because the color input texture is point filtered)

    Color Grading LUT will have vibrancy control. Normally, a saturation filter will also saturate colors that are already saturated, and can blow out colors, creating banding artifacts. A vibrancy filter only saturates colors that are otherwise muted.
    scpe_vibrance.jpg
     
  26. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Version 2.2.0 is now available!

    I've tried out Unity 2022.1 (URP 13) and this apparently introduces some breaking changes due to the deprecation of an API. It is now expected to use the new RTHandles system, which supports dynamic resolution and only recreates Render Textures if the resolution was changed. This is in fact more efficient, but convoluted to abstract for older versions.

    This'll be the last update for Unity 2019, whose support is ending this spring. By that time 2022.1 will likely be released. Unity 2020.2/URP 10 already supports this (with some minor differences). So in order to adopt this new system, 2020.3 will become the minimum supported version moving forward.

    When updating there may be some console errors due to core script/shader changes. The installer will pop up with the option to unpack the now updated script files. After which any errors will be resolved.


    Added:
    - Contrast Adaptive sharpening method to Sharpen effect
    - Color Grading LUT, vibrancy filter
    - Radial Blur, now has a center and angle parameter, allowing for a swirl-like blur
    - Kaleidoscope, parameter to set the pivot point, horizontal/vertical splits and to maintain the screen's aspect ratio
    - (URP) Render features now have a dropdown to select allowed camera types (defaults to Game & Scene view)
    - (URP) Added option to Edge Detection render feature to execute before transparent materials are rendered

    Changed:
    - Backported depth to world reconstruction method from URP. This affects: Fog, Cloud Shadows, Sketch and Caustics
    * When the camera is far from the world origin, flickering no longer occurs when looking directly along an axis
    * Effects now support orthographic cameras
    * Now support VR rendering (Single Pass Instanced, in URP only)​

    - UI for effects will now show a warning/notification if the primary parameter hasn't been overridden, or is set to 0.
    * Clarifies why an effect is not visible.
    * Primary parameters are now always at the top of the UI, for every effect​

    - Radial Blur, blur amount now stays consistent, regardless of the amount of iterations.
    - Sunshafts now maintain a 1:1 aspect ratio
    - Fog/Cloud Shadows/Caustics/Sun Shafts now automatically use the brightest directional light (Fog Light Source and Sunshaft Caster components were removed).

    Fixed:
    - Project from sun option (Caustics/Cloud Shadows) not having any effect in Forward rendering.
    - Color Grading LUT, color inversion not actually correct when using Linear color space
    - Installer errors when using the asset as a package
     
    Last edited: Mar 1, 2022
    AlejMC and Lars-Steenhoff like this.
  27. rrahim

    rrahim

    Joined:
    Nov 30, 2015
    Posts:
    206
    I'm toying with the option of moving to a stacked camera setup in my project and I noticed that depth based effects do not work with the non-base camera.
    Does anyone know of a work around which can make this work?
     
  28. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    The reason why this fails to work is because the depth texture from the base camera doesn't properly carry over to an overlay camera. By the time it renders, every pixel that's suppose to belong to the base camera has a depth value of 0.

    Depending on what you're after, you can use a Render Objects setup instead. It gets around this limitation entirely.
     
    rrahim likes this.
  29. rrahim

    rrahim

    Joined:
    Nov 30, 2015
    Posts:
    206
    Thanks, this may just be exactly what I'm looking for.
     
  30. VincentPaquin

    VincentPaquin

    Joined:
    Sep 20, 2021
    Posts:
    19
    Hello,
    I've been a long time user of SCPE in my personal projects, and am currently working with a company on a AA game to be released on all major consoles, using URP.
    Looking for simple and efficient ways to improve visual quality, I am obviously suggesting the use of SCPE, but according to the documentation, PS4/Xbox One have not been tested since I have no access to dev kits.

    Which seems like a perfectly valid reason not to test it. However, you also mention should you run into any issues, please get in touch, as I’d be happy to investigate. And I would simply like to know if this is still the case before making a decision!

    I also understand Nintendo Switch doesn't fit in that category, since it is very close to a mobile device?
     
    AlejMC likes this.
  31. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    This is true! When it comes to specific platforms scripts/shaders generally work in a broad sense, Unity already handles a lot of API-specific things under the hood. But there can be exceptions where something minor flies under my radar and unintentionally breaks.

    For example, I once had a shader variable named "sample", which turned out to be a keyword reserved by PS5's rendering API. This is an easy fix, but was only possible because another user brought it up and was willing verify if my fix actually worked. There's a bit of time lost here, but ultimately leads to a solution.

    Nintendo Switch is a bit of a gray area, since it's indeed in line with mobile hardware, which brings forth certain performance limitations. Though in 2021.2 (URP 12) there is a generally optimization available that positively affects every platform.
     
    AlejMC likes this.
  32. VincentPaquin

    VincentPaquin

    Joined:
    Sep 20, 2021
    Posts:
    19
    Thank you for your reassuring answer, that was what I was expecting!
    We are waiting for 2021 to go LTS but from what you are telling me, I'm going to have to redo my benchmarks :)

    Not that I think anyone is going to complain about general optimizations.
     
  33. AlejMC

    AlejMC

    Joined:
    Oct 15, 2013
    Posts:
    149
    There are high chances that our small team will be testing CAS on Switch, to be able to render at something like 720p or 640p resolution and upscale from there. Don’t know yet how it looks, but will see if CAS would work slapped at the end of everything rendered, expecting soft parts (say bloomy and soft textures) tend to be kept as is while more contrast features would be sharpened.
    Early tests had the game already running at 60fps with most of Unity’s Built-In post effects (very heavy ones like SSR and DoF) but it’s missing that upscaling push… Alien Isolation on Switch and iOS use that and it looks so nice with it!
     
  34. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    To clarify, CAS stands for Contrast Adaptive Sharpening. It's something that's part of AMD's FidelityFX stack, but Dynamic Resolution Scaling (DRS) is another part of it, which is their upscaling tech.

    The CAS technique is an option on the Sharpen effect. But upscaling is a different beast, I believe that's something which needs to be neatly incorporated into the render pipeline itself.
     
    AlejMC likes this.
  35. bsy50642

    bsy50642

    Joined:
    Aug 9, 2021
    Posts:
    9
    Before purchasing, I would like to check if Edge Detection can be put in VR. In the asset store, it is said that support is not available for Built-in, but is URP applicable?
     
  36. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Yes, that is unfortunately the case. I believe this happend some time after Unity 2018.4, when Single-Pass Instanced/Multi-view VR rendering became the standard, but Unity's post-processing framework was never completely updated to support it. In URP this isn't the case, where Edge Detection (amongst others) works as it should.
     
  37. WickedRabbitGames

    WickedRabbitGames

    Joined:
    Oct 11, 2015
    Posts:
    79
    Unity 2020.3.30f1, SRP.

     
    Last edited: Mar 17, 2022
  38. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    These errors pop up when updating the asset to the current version. When importing the asset this window should have popped up, did it not by any chance?


    If not, you can unpack the "Effect Scripts" package found in the SC Post Effects/Install folder. This'll also update the shaders and resolve any errors.
     
  39. WickedRabbitGames

    WickedRabbitGames

    Joined:
    Oct 11, 2015
    Posts:
    79
    Thanks for the quick response!
     
  40. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    182
    Hi all. Having an issue with fog rendering in scene view but not in game window. I'm on URP 12.1.6 and Unity 2021.3.0f1. The other effects seem to be working fine, the fog effect is set to be rendered in base and overlay cameras both, but not having any luck with it. I'm kinda stumped. Any ideas?
     
  41. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    When it comes to depth-based effects, such as fog, the effect cannot properly render for overlay cameras. You can disable it for them on the render feature, which is the default set up.

    upload_2022-4-23_10-25-40.png

    This unfortunately can't be helped due to how the camera stacking system is designed. In believe as of Unity 2022.1 this will be possible with the addition of a "Depth texture" option on overlay cameras. But I'm not sure if this practically does what I think it will.

    If you're using camera stacking for something like an FPS, the alternative is a setup using Render Objects, this otherwise works perfectly.
     
  42. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    Figured I'd share a development update (v.2.3.0). The Trello board, which I use as a backlog tracker can be viewed here: https://trello.com/b/J5mEv8Cn/sc-post-effects. You can now vote on cards, which helps me prioritise tasks.

    URP
    I've been mostly occupied with refactoring the code that handles rendering the effects in URP. It's an abstraction that allows everything to work between URP 7 (2019.3) through URP 12 (2021.3), because every URP release tends to change drastically.

    Though, URP 13 (2022.1+) introduces a new paradigm that pretty divergent. It's likely support for Unity 2019 will have to be retired, since it doesn't support aspects that are now considered standard in URP (Unity 2020.3+). So far so good though!

    VR support is currently non-functional in 2020.3+, that's an oversight on my part, and I'm surprised no one noticed :p. I've meanwhile fixed this as part of the refactor.

    Built-in RP
    A substantial change for the Built-in RP is that I've managed to add complete support for Single Pass Instanced (VR) rendering. Ironically, this involved ditching the shader libraries that come with the Post Processing package, which were never updated to support this. I found that Unity's post processing framework doesn't actually support SPI, they're basically doing Multi-pass rendering (x2 more expensive).

    Effects that'll become VR compatible (URP as well):
    - Sunshafts
    - Fog
    - Sketch
    - Cloud Shadows
    - Caustics
    - Edge Detection
    - Lens Flares
    - (Distance fading option on any effects)

    A side note, this asset is current 50% during the spring sale!

    Everything needs a little more polishing, followed by a range of re-testing (particularly for the Built-in RP) to ensure there aren't any regressions.
     
    rrahim, jukibom and wetcircuit like this.
  43. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    182
    @StaggartCreations This is my set up. Single camera is set to Base. Still not working in game view.

    upload_2022-4-23_15-13-18.png
     
  44. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    182
    Actually, nevermind. Removing some of the unused renderer features corrected this problem. I guess something else was conflicting with the fog effect.
     
  45. Janoooba

    Janoooba

    Joined:
    Feb 9, 2016
    Posts:
    43
    Heyo, not sure if this has already been reported but I'm getting an issue with fog rendering fine in scene view but not game view when using the skybox colour option. (Built-In, 2020.3.33f)

    upload_2022-5-1_19-43-39.png

    I also seem to get this error right when it starts to happen.

    upload_2022-5-1_20-5-0.png
     
  46. StaggartCreations

    StaggartCreations

    Joined:
    Feb 18, 2015
    Posts:
    2,266
    That is indeed unintentional, it seems to be the case that the rendering won't work correctly if you have both the Scene- and Game view docked. Strangely, this doesn't seem to be an issue in Unity 2019.

    The technique behind the skybox color option has been reworked for an upcoming update, to be more watertight and much faster to render. This will practically solve this particular issue as well, but I'll be sure to double check.
     
  47. iansnyder

    iansnyder

    Joined:
    Dec 22, 2012
    Posts:
    27
    This is such a great asset! I'm running into an issue after upgrading a project (had to for console port :( ) -- if I add any effects to a Post Process Profile, they show up as Overrides, but if I Play or close and re-open Unity they're not there anymore. I've tried doing Save Project as well before closing Unity. Any ideas? Thanks so much!
     
  48. iansnyder

    iansnyder

    Joined:
    Dec 22, 2012
    Posts:
    27
    Nevermind, I was able to just nuke it and reinstall and it's working so I'm good :D
     
    StaggartCreations likes this.
  49. Janoooba

    Janoooba

    Joined:
    Feb 9, 2016
    Posts:
    43
    It actually seemed to have this effect even when I closed the scene tab entirely, but maybe it was leftover from when it was open. I typically don't have both views open at the same time. I instead just did that for demonstration purposes.

    Anyway, looking forward to the next update! Thanks for the hard work
     
    StaggartCreations likes this.
  50. spikezart

    spikezart

    Joined:
    Oct 28, 2021
    Posts:
    72
    Hey there. New, and just installed the SC Post Effects. A couple of issues I need some advice with please:

    1) after import the SC Post Effects asset window says "Both the post processing and the URP packages are installed (through the packages manager). The combination is not possible, please uninstall the Prost-processing package."

    I just imported the list when prompted, I looked again and didn't see anywhere I was meant to select part of the import.

    2) Ive created a global volume and when I add an over-ride I do not see all the list of effects listed in the documentation. For example Kuwahara is not shown.

    I'd be grateful for any advice.
    Thanks