Search Unity

Scion - Filmic Post Processing

Discussion in 'Assets and Asset Store' started by Aieth, Jul 9, 2015.

  1. Manny Calavera

    Manny Calavera

    Joined:
    Oct 19, 2011
    Posts:
    205
    Congrats on the release!

    Is the Bloom effect intended only for PBS? Or does it work with other shaders?

    I have a scene with lots of whites that I do not wish to bloom. Would I be able to write a shader for a SpriteRenderer and tell Scion to bloom only those specific areas?
     
  2. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    The bloom isn't necessarily intended for anything, but it works on a physically based premis. It simply means that brighter surfaces will bleed onto not as bright surfaces. It is a fullscreen effect without exceptions, so if you only want certain object to bleed you have to be sure those objects are quite a lot brighter than the rest of the scene (not talking 50%, but rather 500%).
     
    Last edited: Jul 31, 2015
  3. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    this is included in Jove 2.0 ?
     
  4. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    It will be. I am splitting Jove into two parts, Jove as a renderer and Scion as the post process. Currently its all baked into Jove as a single whole. I am working on refactoring Jove to make this happen. In the meantime those who own Jove can PM me their in voice numbers and I will hand out download links for Scion.

    EDIT: Also for all those who have purchased Scion already, I would be deeply grateful for a review or two on the Asset Store :)
     
    Last edited: Jul 28, 2015
  5. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    oh its a bit off topic but Jove 2 wont run on mac right ?
     
  6. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    No Jove 2 is DX11 only and Mac still only supports DX9 level features.
     
  7. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Patch 1.1 is going to feature
    - Support for up to two color correction textures and blending between them
    - The option to not include certain objects in the depth of field
    - A third focal mode. A nonrealistic in focus range, instead of an in focus point. Useful for e.g third person games

    Here's an artsy photo of the Sponza scene
    RandomPic.png
     
    ZJP, chiapet1021 and hippocoder like this.
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
  9. Z43D

    Z43D

    Joined:
    Jan 2, 2013
    Posts:
    100
    Ahh, forever shortening the list of plugins that I need in my project. Just go ahead and add in some AA while you're at it ;)
     
  10. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I kind of argue against AA (for now), it's best to see what buffers unity might be exposing in future first ;)
     
  11. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Yeah I want to do motion blur, but I am holding off on that for now until I know what Unity is making. When you have motion blur temporal AA isn't far away.
     
    Cynicat and hopeful like this.
  12. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    I'm going to be supporting color grading LUT's that work in
    Unity
    Unreal Engine
    Amplify Color
    Chromatica

    Did I miss anything obvious? If anyone has any suggestions/desires now would be the time to speak up :)
     
    ZJP and hippocoder like this.
  13. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Depth mode for color grading ;) far pixels take the 2nd lut and near pixels take the first lut, and it's lerped between! Firewatch does this and it's a really cool way to replace fog too (specially if curve based).
     
    AdamGoodrich, testure and chiapet1021 like this.
  14. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    This might be out of scope to include, but Amplify Color has a handy feature that lets you select GameObject layers that don't get color grading. I use it so that in-game objects that are supposed to be back lit displays don't have their colors adjusted. Those displays look weird with more aggressive grading otherwise.
     
  15. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    If you need to make you're scene a lot more better you need this, I worked on my camera's image effects for a long time but this asset makes my camera a lot more alive in just a few moment.
     
    Aieth likes this.
  16. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Sounds like they just use a mask, so the non-grading objects are rendered again with replacement shader to form the mask texture. This is always going to be a bit slower ie higher draw calls - but not hard to implement ourselves if scion will optionally have a mask for grading (which is what you're technically asking for I guess)...

    Then if you really wanted to go full retard on features you could use the dual lut support to have different grading depending on the mask instead of depth (but place the burden of generating mask texture on the end user), so there's a lot of ways to reuse the same functionality I guess!

    Adding mask (optionally depth lerp + curve) support also enables things like interesting screen wipes, highlighting items, and so forth, making Scion much closer to what AAA actually does for practical reasons.

    I'm actually talking about my request and steve's being able to reuse the same code functionality in the shader if anyone's confused.
     
  17. DirtyHippy

    DirtyHippy

    Joined:
    Jul 17, 2012
    Posts:
    224
    I picked this up to play around with. It looks excellent and the adaptive stuff is really cool. It does use more CPU then a few standard stacked post effects (but I didn't use DoF / vignetting / chromatic with the Unity post effects) but presumably significantly lower GPU. However, Scion seems to have a higher constant CPU cost, even if you disable some of the effects, which is why I point this out even though it is an apples to oranges comparison.

    I took a few minutes to look through the code and did some profile sampling. One, structs are being abused a bit, presumably to avoid pressuring the GC. Some of the structs are monstrous (especially one that is a composite), and they are allocated every frame. Still, a minor thing. I was hoping there would be a way to skip some of the steps if you didn't want to evaluate the options every frame since that is really for tweaking, and I would prefer just to force an update when options change. But it doesn't look like this would improve much as the updating seems required.

    I cannot for the life of me get this to look correct in dark and light situations. I.e. during mid-day (using Time of Day), the default settings make the scene very dark, unless I increase the exposure - but those same settings make the night time extremely bright, almost like it is a full moon. I could not find a set of constants that retain the overall light aesthetic regardless of time.

    Last, I really prefer assets don't include demo assets directly in the import tree. It requires me to have to remember to uncheck the standard assets, and the demo, each time I import. I know this makes it easy for the most users, but I would much prefer a demo package be included that I could import manually if I wanted it. Frankly, I think this should be mandatory for all assets but whatever, this is clearly user preference :)

    Overall, though, I have been looking forward to something like this for a while, and I will continue to play with it as new versions are released. Great work!
     
    stalker_23b likes this.
  18. stalker_23b

    stalker_23b

    Joined:
    Jul 28, 2011
    Posts:
    87
    The asset is great! Big thanks for making and publishing it!

    There is first results i was able to get, with comparsion :




    Scion produces very smooth image. Bloom is actually maybe too smooth, it covers big areas and i just can't get small bloom highlights from it. I think this is good and physically correct, but i believe there IS small specular highlights in the real world rendering.
    I.e. small speculars on metal parts lit by sun - can i get that from Scion in some way?
    Same for lens dirt - it is very smooth and covers big areas of image. Can't get lens dirts just around highly lit areas.

    Tonemapping gives less control compared to Deluxe Tonemapper. I can't get enough contrast from it yet. I think curve parameters should be exposed to let differentiate dark and light areas.

    And of course, it will be great to get color grading integrated.
    Also, i hope motion blur will make it in. I am using Amplify Motion and is great, but performance is an issue.
    Needless to say, good AA need to be also in )

    About performance, Scion is definitely faster compared to stack of same effects.
     
    ZJP, blueivy, Aieth and 1 other person like this.
  19. stalker_23b

    stalker_23b

    Joined:
    Jul 28, 2011
    Posts:
    87
    Did you try tweaking Min and Max exposure in Exposure Settings? I also get this problem, but i thought i will fix it using this params
     
  20. DirtyHippy

    DirtyHippy

    Joined:
    Jul 17, 2012
    Posts:
    224
    Yeah, I tried that (I mentioned that in my post). I don't think it is possible to do with a single value. You might need to modify that value as a function of the time of day. I am going to play with this some more, since I really, really want to get rid of the horribad unity post effects from my stack and use a modern approach by a professional, which this clearly is.
     
  21. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Agreed, min/max isn't going to be enough because you might still need bright things like campfires, and so forth. No one single setting will work - same as a real camera I guess.
     
  22. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Just wanted to say how much im enjoying Scion, great job! Nice and fast too.
    Only see one issue in vr, bloom glows occlude differently and cause them to not sync correctly in stereo3D.
    Example:
    Strong emmisive material behind a pole, at some point as it fully occludes, the eyes lose sync. Its like one eye occlused before the other. I havent had this issue with other blooms i've used.
    Thanks
     
  23. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Sounds very odd that you are seeing it only in Scion's bloom and not other bloom packages. There's really nothing that special about it, it spreads the incoming light values. It doesn't touch anything that could cause occlusion. Could you perhaps illustrate with screenshots?
     
  24. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    No problem, ill take a much more serious look at it vs. others and if really is i'll post screens.
    Could be something else.
    Thanks
     
  25. Dolkar

    Dolkar

    Joined:
    Jun 8, 2013
    Posts:
    576
    The idea behind the min/max settings is that you should adjust those to bring a scene lit by full daylight to the desired brightness by changing the maximum exposure and your darkest nights to acceptable levels with the minimum exposure. That alone should be enough, as anything in between is handled by the automatic exposure adjustment. The final exposure offset should only be used when you find all of your lighting setups uniformly too dark or too bright or as an added image effect.

    That kind of setup works well for our day / night cycle. Though, the default values for it are likely to be wrong, because it depends heavily on the scale of the light intensities... a sun with an intensity of 1 is going to need a much lower maximum exposure setting to look good than a scene with a sun of strength 100.

    Well, min/max exposure is not a single setting.. it's the range of possible exposure values that can be used. Just like a real camera, it has physical limits as for how bright and how dark it can make the image... and the automatic exposure feature takes care of the rest.

    I've been messing around with the exposure workings some time ago and I found that basing the exposure adjustment on the linear average of the brightness of all pixels has some flaws. In your example of a night scene with campfires, and maybe that's the issue you're referring to, when the rather small, but relatively very bright campfire comes into view, the average illuminance becomes rather high and the screen is darkened to the level where you can only see an underexposed campfire and not much else. I've changed this on our side to use a logarithmic average instead, which looked much more natural. Human vision is inherently logarithmic, after all. I've brought it up to Aieth, but I don't know if it has made into Scion or not.
     
    hopeful likes this.
  26. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I'd be really interested in something like that being added, or if it won't be, could I trouble you for your tweak if it's not a problem? :)

    Re: linear - probably faster to calculate.
     
    Last edited: Aug 5, 2015
    hopeful likes this.
  27. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Scion uses a logarithmic average, not linear :)
     
    Dolkar and chiapet1021 like this.
  28. DirtyHippy

    DirtyHippy

    Joined:
    Jul 17, 2012
    Posts:
    224
    So I was able to fiddle with the min / max exposure settings to get it pretty close to what I want for the basic use case. I'm still not quite sure how these particular settings work to be honest, but it does look good.
     
    one_one likes this.
  29. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Thanks for posting the comparison :) It is fun to see. I will see if I can't add in some minor range modification to the bloom. I also intend on expanding the tonemapping, so that will come.

    Thanks for the feedback. I'm not sure what you mean by expensive CPU side though, I'm seeing nothing like that on my end. The struct setup takes a microsecond or two (not millisecond) on my computer. The entire post process chain with everything on takes 0.5ms CPU time, where 90-95% of the time is spent on SetPass and Blit calls, which would be more numerous in standard post processing. If this isn't what you are seeing, can you post a screenshot of the profiler or something?

    And yeah I am using structs in a way not intended in C# ;) There's nothing wrong with it performance wise though, in fact it is likely faster than using a class as it is all stack allocated. What you are suggesting would only save performance in the order of a microsecond or so.

    About the min/max exposure. Scion calculates an exposure similar to how a digital camera works. It is a logarithmic scale and is basically a multiplier to all the incoming light. If you move the min and max values it clamps how far this adjustment is allowed to go, so you can stop the multiplier from being too small or too large.

    I agree about the demo assets. That was actually a mistake on my side when upgrading from Unity 4 to Unity 5. I will have them in the root assets folder from the next patch.
     
  30. stalker_23b

    stalker_23b

    Joined:
    Jul 28, 2011
    Posts:
    87
    I can confirm good performace boost from switching to Scion on Xbox One. It takes only 0.8ms on CPU, which is nothing compared to previous stack of effects. And it producing great image )

    I am playing around with settings, trying to find ideal white point and exposure bounds same for all scenes, but i think manual tuning for different lighting conditions is needed.

    There is some interesting smooth images i was able to get from playing with it :
    cVxy6ED.jpg
    lvUnmug.jpg
    LWw6RJz.jpg
    nmJCuId.jpg

    Scion is kinda revolution in rendering for our project, talking about performance to quality ratio!
     
    blueivy and Aieth like this.
  31. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I had a question related to bloom effects. There are couple of popular ones on the asset store of course, but I've not yet seen anything in the ballpark of the bloom effects that are part of the YEBIS effects product. I assume licensing YEBIS would be several thousand dollars or something, but I don't know. For all I know, it may even possible to license it and use it with Unity. I wonder if it'd be possible for an asset store bloom effect to at least *approach* the quality and features of the YEBIS bloom specifically.

    I was first aware of YEBIS 2's incredible bloom (can't remember what they call it) when messing around with Substance Painter. Still shots don't really capture how cool it is. After recently playing Arkham Knight, I suspected that was what they were using, and confirmed it when I found this:
    http://www.develop-online.net/tools-and-tech/behind-the-lens-of-yebis-2/0195588

    The subtle lens flares and rainbow type effects are super dynamic and interesting and really add a lot to Arkham Knight

    Given the goals of Jove and Scion to enable AAA quality rendering, has there been any thought of incorporating at least some elements of a YEBIS-like bloom effect into Scion or a "Scion Deluxe" or something? I know there's a dirty lens option, but the YEBIS effects go WAY beyond that. It may be way out of scope, but I can't help but think that it's a hole in what's available to normal Unity developers.
     
  32. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    Any idea when Scion will be compatible with mac?
    In the meantime, IT LOOKS AWESOME, i will post some screenshots as soon as i can.
    :)
     
  33. braaad

    braaad

    Joined:
    Oct 4, 2012
    Posts:
    102
    I had the trial working in Unity at one stage. Regarding price, it may have changed now, their "standard" price that I was told by sales had 2 commas.

    I noticed Paradox3d has a lot of the same effects although I haven't had a chance to look at the source to see what they are doing with these.
     
  34. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    *gasp* Seriously? Wow, that's some high dollar middleware.

    The "Tres Comas" thing comes to mind...



    Hmm, that's interesting. I'm guessing that even though it's open source, the licensing might not let you just rip out the parts you like though.
     
  35. braaad

    braaad

    Joined:
    Oct 4, 2012
    Posts:
    102
    Haha, yeah I was going to go further with the SV reference but wasn't sure if anyone would get it. Unfortunately I'm not even in the two comma club yet so I can't afford it.

    Correct.
     
  36. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    924
    Hi, I've just finished playing with the demo, and I'm very impressed by the quality, amazing job!

    Yet, there is something there that makes the scene appear a little flat. I guess it's the bloom that's too...diffused maybe. I tried many different bloom solutions and assets, and this looks like one of the "physically accurate" kind. Which is nice, but sometimes something a little more vivid may be preferable.

    I understand your main goal is probably to recreate a realistic set of post processing effects but... what about some little more artistic freedom on the result? Could you expose more variables for us to tweak (eg: "Expert mode")?
    I think being able to tweak the bloom from... somehow linear to exponential would be a nice addition. In my opinion overly emissive materials do not really shine using Scion, looking at the demo and the pictures.

    What about a simple "Intensity multiplier" slider for bloom for artistic purpose?

    Could you please post a different screenshot with fluorescent, sci-fi lights to make a comparison. Maybe it all depends on the tweaks.

    I know I could just use anothe bloom filter, but that would defeat the purpose of using a single compact solution like Scion. And I'd really love to use it in my next project.

    Thanks for your time :)
     
    stalker_23b likes this.
  37. abar

    abar

    Joined:
    Jan 12, 2014
    Posts:
    72
    This looks really interesting. Does the exposure require a fp16 framebuffer or is 8-bit ok? Colour correction would be a nice addition because I pretty much always have it turned on, but it's not a deal breaker because it's fairly cheap anyway, so combining it probably won't make all that much difference.
     
  38. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Still a screen's worth of particles in fill... :) I'm glad he added it!
     
  39. thoorne

    thoorne

    Joined:
    Jul 22, 2012
    Posts:
    64
    Hi,
    I've just bought asset and I'm experiencing numerous errors.
    Just after importing:
    After adding component:
    After hitting play button:
    Please note I'm using Macbook Pro and targeting PC/Mac.



    Edit: Ah, I saw OpenGL note in the first post. Looking forward for update.
     
    Last edited: Aug 8, 2015
  40. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    Hi,

    Scion is not working on my machine.
    I get this warning message in the log :

    Bloom shader not supported on this platform
    UnityEngine.Debug:LogWarning(Object)
    ScionEngine.ScionPostProcess:platformCompatibility() (at Assets/ScionPostProcess/ScionPostProcess.cs:182)
    ScionEngine.ScionPostProcess:OnEnable() (at Assets/ScionPostProcess/ScionPostProcess.cs:153)
    UnityEditor.DockArea:OnGUI()


    Now, I cannot believe my machine does not support Bloom :)
    It does not work in either DX9 or DX11, I'm on a Nvidia GTX 860 .
    So basically, I cannot use any of it right now , as the Scion script disables itself automatically because of this bloom shader not supported.

    What's the problem ?

    Thanks !
     
  41. yvesgrolet

    yvesgrolet

    Joined:
    Jan 22, 2014
    Posts:
    10
    Looks great :)

    Do you know if it run on PS4 and XBoxOne ?
    We tried several post processes on the asset store and most of them doesn't work on consoles without sometime heavy modifications.
     
  42. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Hopefully by next patch. Worst case scenario it will have to wait until Unity 5.2, which if memory serves me right is released exactly one month from now. There are some strange issues with 5.1 that I'm not sure if I can work around.

    I'm going to take a look at possible extensions to it. The thing though is that using curves would require a rewrite of all the shader logic. It wouldn't require a lot of work, but it would end up considerably more expensive. So I'm going to try and figure out how to expose more customizability without sacrificing performance.
    In general though, the "secret" to using the physically based approach is to not fix things using post process, but fix them in the scene. E.g if you want more bloom, make the source brighter.

    Scion runs in LDR rendering as well, but it defeats the purpose of a lot of the components and it doesn't look nearly as good.
    It isn't as cheap as you might think bandwidth wise though. Assuming full HD and 60fps, that is 0.5GB/s. Once for a read and once more for a write, meaning a total of 1GB/s

    Yeah I'm hoping to have it working by next patch. At the very least it should work when Unity 5.2 hits. There are some weird things going on in 5.1 that didn't exist previously and are apparently being fixed in 5.2.

    I have seen that before and in that case it was caused by the user being over the keyword limit. If Scion doesn't get to use the keywords it needs the shader compiler will fail. Could you go into ScionPostProcess/Resources/Shaders/Bloom.shader and copy the compilation error? Should help to narrow it down.

    It should, with an emphasis on should, at the very least from the next patch onward. There's a chance some semantic is wrong for PS4/Xbox One but other than that it should be completely compatible.
     
    Last edited: Aug 8, 2015
    hopeful likes this.
  43. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    Someone recently posted screenshots using Scion on Xbox One.
     
  44. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Oh right. Well then I guess it is confirmed that it does indeed run on XBox One ;)
     
    chiapet1021 likes this.
  45. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    @Aieth : Interesting, what keyword limit is this ? I'm running this on a empty project.
    So, if I go to the shader, I get this :

    error : unrecognized identifier 'UNITY_UNROLL'
    warning : implicit truncation of vector type

    Does this help ?
     
  46. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Ah yeah. That's a macro that was added in Unity 5.1. It doesn't exist in 5.0. I can PM you a compatible version in a few hours or you can fix that error manually right now by doing a search and replace.
    In Monodevelop, go to Search/Replace in Files and make sure "Look in" is set to either "Current project" or "Whole solution". Then type "UNITY_UNROLL" into find and leave the replace box empty. Then hit replace.
     
  47. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    or, I can just upgrade to 5.1, and this will work ?
     
  48. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Yes :)
     
  49. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Looking at YEBIS it seems like it does a lot of things. Could you possibly post/link to a few screenshots demonstrating the specific effects you are after? If one would be to ignore CGI talk now and describe it in "common" terms, it seems to be you are talking about the glare effects? How the camera lense distorts incoming light and causes rainbows and stuff?
     
  50. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    it worked :)
    Thanks !