Search Unity

[RELEASED] Candela SSRR V2 Advanced Screen Space PBS Reflections for Unity 5

Discussion in 'Assets and Asset Store' started by LIVENDA, Jul 22, 2015.

Thread Status:
Not open for further replies.
  1. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    What you mention is Not a limitation of Candela V1 or even V2, it is the way Unity works period, if you need to exclude objects in reflections you need to render another buffer, there is no other way to do it (also keep in mind we need to make sure it works with other third party products). In forward mode you have to do this exclusively if you require high precision information regarding depth for example. Like you mention 'just works' does not happen magically out of thin air, it took us a long time to make this happen and a while before others (almost two years)

    V2 makes use of all available native buffers provided in Unity 5 to increase and sustain performance as well as many other additions and changes which contribute to an overall better and faster product.

    Cheers,
    Michael

     
    8Infinite8 likes this.
  2. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    So... I've Upgraded.

    Wanted to Try it, but Looks like it's not working.

    I remember on the Old Candela V1 I just put it on the camera and instantly had at least something working.

    And on the Documentation it even says:

    "Now that you have CandelaSSRR applied to your Camera....If you now run your scene you will see reflections"

    So What am I doing wrong?

    Could you upload a Video explaining how to actually make it work.

    I remember that I was never Able to actually get the Effect I wanted on the Old Candela, I guess I never understood how to use it propertly.

    Can you help?
     

    Attached Files:

  3. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    can you show your materials? Are you using standard or standard spec? dont use a spec map for now and turn the glossiness all the way to the right...
     
  4. spraycanmansam

    spraycanmansam

    Joined:
    Nov 22, 2012
    Posts:
    247
    I'm well aware of how unity works :)

    Does V2 create both a depth buffer and a depth/normals buffer? ...or just the depth/normals?
    If you're only rendering additional depth buffers purely for excluding objects, is there an option to use the default depth/normals information from the g-buffer to save performance if that functionality is not needed?
     
  5. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    Hi,

    All Unity auto generated buffers are used as much as possible, in the new Deferred Shading the performance is the highest.

    Cheers
    Michael
     
  6. LightYarn

    LightYarn

    Joined:
    Nov 18, 2012
    Posts:
    56
    Had the same problem and I recognized my target platform was set to android. Switchting back to PC/Mac/Linux got the plugin to work.
     
  7. spraycanmansam

    spraycanmansam

    Joined:
    Nov 22, 2012
    Posts:
    247
    Sorry can you clarify how many extra buffers you're generating. One might be workable for us, but I know that the two extra buffers in V1 were too much for our project.
     
  8. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    Thanks for this! We had a couple of other users with this issue and were seriously stumped why it was not working:) in our tests all was good.

    Certainly, can you please contact us via e-mail so we can help you further, thanks.
     
  9. Rico21745

    Rico21745

    Joined:
    Apr 25, 2012
    Posts:
    409
    Why answer this over email? I'm interested in the answer and I'm sure others are as well.

    Performance is very important and if this asset doesn't perform, it's useless unless you're doing archvis work.

    Do you have any performance numbers? How many ms does Candela V2 use when running? If it varies, you can always provide a best/worst case scenario comparison.

    Some simple profiler screenshots while candela is running should show us all we need.
     
    buttmatrix likes this.
  10. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    Hi,

    In forward mode we render depth and normals in Deferred, all native Unity buffers. The reason for not releasing performance profiles is mainly due to the fact Candela V2 has number of performance/quality options and no single setting is appropriate for 'everything', it's primarily pointless, rest assured overall it is significantly faster then the previous version. V2.1 (already submitted) linearizes the performance differences further. Candela V2 has enough settings to provide the user to get the best performance /quality ratio for their target platform/scene.

    Also to help you out here is a latest review

    'I'm always on the look out for assets that can take my graphics to the next level. I got this about a week ago and was truly gobsmacked. I've used this with Alloy 3 and the results have been amazing, it's really helping me achieve that AAA look. Today I used it with the standard shader on another project which also worked beautifully. To my surprise it's also pretty fast costing less than screen space ambient occlusion. Get it while its cheap' 5 stars


    Cheers!
     
    Last edited: Jul 28, 2015
  11. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    Hi I have another Question.

    I managed to make it work but it Only works on Deferred, when I switch to Forward it doesn't show anything, and it is supposed to work with Forward if I'm right?...

    Anyways, the other thing is... Someone Asked about a specific reflection and how it was possible with SSR... and you Said it is not only SSR it is also RayTraced Screen Space Reflections.

    Ok so I tried to replicate that situation, and what I got was hmm.. ok this image explains it better.

    upload_2015-7-28_13-23-19.png

    I can't see the upside down face of the cube.
    As I understand this would be expected using SSR, but as on the image on the left it does show the yellow surface, As I understand that's because of the RayTraced SSR right?

    So What am I doing wrong?
     
    buttmatrix likes this.
  12. Don-Gray

    Don-Gray

    Joined:
    Mar 18, 2009
    Posts:
    2,274
    Are you sure, try changing the color of the cube, looks like it's blending with the grey plane. The shadow looks right.
     
  13. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    is not the Color being Blended with the grey plane

    upload_2015-7-28_14-6-35.png
     
    buttmatrix likes this.
  14. AaronClark

    AaronClark

    Joined:
    Oct 14, 2013
    Posts:
    39
    SSR does not reflect what is not seen, just a limitation of the method. Best bet is to add reflection probes for off screen / back facing objects.
     
  15. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    Yep... SSR is culling faces that it is not seen... the closest thing to this is actual ray tracing which I did one time and forgot where... you can also use a real time probe for this...
     
  16. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    As A1taIR Asked:

    And Livenda Answered

    That conversation was one of the reasons I decided to Upgrade... so..

    My question here is... what am I doing wrong?, as I understand that should be possible.
     
    buttmatrix likes this.
  17. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    On the rightmost cube, what is that distorted area of the reflection nearest the cube? It looks to me like Candela is trying to write the bottom of the cube twice, but at an odd angle, which doesn't sound like expected behavior ... if it is indeed culling what it doesn't see.
     
  18. AaronClark

    AaronClark

    Joined:
    Oct 14, 2013
    Posts:
    39
    There are no floating boxes in that video they posted, they use examples that hide the limitations / show the strengths of SSR.
     
  19. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    I hate smoke and mirrors. Honesty is the best policy for me.
     
  20. AaronClark

    AaronClark

    Joined:
    Oct 14, 2013
    Posts:
    39
    I agree though at the same time a lot of what we do in game dev is smoke and mirrors :)
    There should be a well laid out "what this asset can/can't do" section with best practices on usage.
     
    hopeful likes this.
  21. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    So I should Model a Door to test it?

    That's why people didn't believe the pictures on first place, and said they were photoshoped or using reflection probes or something else... But Livenda said it was real and posted a video... so My Guess is just that I'm doing it wrong. and I want to know how to use it properly.

    Or even if I have to "Fake" it... I don't mind, I just want to know what's the trick, what should I take into consideration to also trick people with this
     
    CastleIsGreat and hopeful like this.
  22. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    Yes if that's the case Ok, I also want that, a section with the Tricks on how to do it to make it look good and how to hide the limitations.
     
  23. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    Yeah, if there's smoke and mirrors, I want it to be coming from me: the game dev. Give me the secrets! lol

    What I don't want is for the plugin dev to misrepresent the package using smoke and mirrors on their end.
     
    daville likes this.
  24. Don-Gray

    Don-Gray

    Joined:
    Mar 18, 2009
    Posts:
    2,274

    Okay, though now what is being seen in the underside reflection is very strange, like it's doing some sort of strange UV thing on the cube, multiplying tiling?
     
    hopeful likes this.
  25. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268

    Yes if I have to "trick" stuff to make it look good I don't mind, as long as the end Player doesn't know it won't matter.

    But in this case, those tricks should not be hiden to us the Developers...

    And yes the thing happening in the underside reflection is weird.... The texture has 8 squares on the side, and on the reflection you can see the 8 squares, so all that weird thing is like an extra UV thing
     
  26. 8Infinite8

    8Infinite8

    Joined:
    Jul 27, 2013
    Posts:
    112
    It's a limitation of SSR, that's not Livenda's fault. Of course they will market with the best content possible. The same thing will happen in UE4.
     
  27. SIV

    SIV

    Joined:
    May 7, 2014
    Posts:
    182
    Hello,

    I tried it with an Atlas texture based asset, and there is almost no effect at all ! (asset used is top down sci fic from M) also whats the sci fiction asset that you used on the video ?

    Thanks
     
  28. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    I understand that this

    upload_2015-7-28_21-58-45.png

    is a limitation of SSR, that's what I understood about how SSR worked, and that's what I expected from Candela V1.

    But then this image came:

    And People where skeptic about that being SSR, and asked about that... and Livenda said it was real, and an actual feature of the product just adding it... he said no tricks where used, no reflection probes, no photoshop, but the real thing.

    So then I decided to try it myself... and What I still don't understand is how to achieve this kind of reflections.

    Either I'm using it wrong... or Candela V2 is not capable of doing that and the Image is doing something tricky to get that Yellow thing reflected.

    I want to know what it is.. I want to know how to do that... if that's a marketing trick I would want to know how to do it, to also impress people.. we are the developers not the final gamers, secrets and tricks on how to make this look awesome should not be kept hiden from us.
     

    Attached Files:

    buttmatrix and CastleIsGreat like this.
  29. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    I just tried it in my Cornell Box scene and I am NOT happy :(... i just dropped this onto my scene and the models I am using are not reflecting the environment.. or each other and I am using Alloy as my shader set... I will be getting a refund unfortunately...
     
    hopeful likes this.
  30. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    This is what I am currently dealing with :( not thrilled.
    Screenshot 2015-07-29 00.16.19.png
     
  31. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    First, as others have mentioned SSR cannot reflect what is not seen by the camera, what you are seeing with the cube is called Biasing. The ray that is being traced has no information about what is under the cube, Try turning off the 'sky reflections' option, you will see that it shortens the Bias. These values are hard coded and Very important, in Real-life situations, in a game environment , tuned to provide the best results in general. You shouldn't worry about it too much. This is one of the reasons, pixel perfect probe reflections are used as a fall-back Together with SSR.

    If others are interested, We can expose the Bias settings in the next update, however we are reluctant to do this as it adds more settings for the user to tweak and this is not always a good thing. The current tuned parameters from our real game environment tests are good for almost all cases.


    A Cornell Box is possibly the worst way to test SSR whether you use Alloy or Default Unity standard shaders, please read my post above. It is best to test in a real-game environment and understand that SSR is not a Global end all be all reflection solution, it is for local reflections and more than sufficient in almost 90% of the cases. Also, the roughness values in Alloy are probably reversed , V2.1 has an option to reverse the roughness/smoothness values coming in.

    Cheers!
    Michael
     
    Last edited: Jul 29, 2015
  32. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    522
    @LIVENDA First short thing: Nothing should be reversed for the roughness values for Alloy. We write the deferred buffers as per standard. :) My main question tho:

    Why does this appear to not respond the specular color of the material? I just created a material with a _black_ specular color, but fully smooth, and the reflection is visible. It appears that only surface roughness/smoothness affects the presence of the reflection. This behavior is present whether using Alloy, or the Unity Standard Shaders. I would expect a fully smooth, but barely specular material to have next to no visible reflection (an example of this would be waxy foliage). Instead these materials possess a Candela reflection of equivalent intensity to glossy plastic.

    May I ask if this was an intentional design choice, or an oversight?

    reflecspec.png
     
    punk likes this.
  33. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    522
    Also, a minor thing (but annoying). Changes to the inspector values are not registered with the undo system. You should probs fix that :)
     
    punk likes this.
  34. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    382


    Here's it working in a real game environment works out of the box with Alloy I did nothing special, values where not flipped, I do agree with both things that xenius said above though
     
  35. 8Infinite8

    8Infinite8

    Joined:
    Jul 27, 2013
    Posts:
    112
    You say it yourself. It's a limitation of SSR.
     
  36. StaffanEk

    StaffanEk

    Joined:
    Jul 13, 2012
    Posts:
    380
    Infinite, are you trolling daville?

    He is talking about the claims that Livenda made. See the image of the door he posted. Look at it. No really look at it. Look at the reflection of the ceiling obscured behind the doorway.

    To help daville out. I'm pretty sure Livenda used a base color background for items not in the screen view.
     
    Last edited: Jul 29, 2015
  37. 8Infinite8

    8Infinite8

    Joined:
    Jul 27, 2013
    Posts:
    112
    And what's wrong with that. Livenda didn't make any claims about being able to render reflections outside of screen space. People need to understand that SSR isn't a perfect solution. You have to go in educated and not presume things.

    You have to use it wisely and as Livenda quite rightly stated in many places in this thread, mix it with reflection probes!!
     
    LIVENDA likes this.
  38. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    I actually mixed it with reflection probes... but maybe the real litmus test will be when I put it in a real level... and I am making a 2.5D game where anything behind the camera is not rendered. I even applied a gold shader and nothing was reflecting.
     
  39. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    It does respond to specular color (change the spec color in spec path and albedo color when metal, reflections will change color and same response as probe reflections) and it is done by choice for consistency of the two standard shaders and consistency between the metallic (albedo color used when metallic) / specular variations of the standard shader.

    It's a little confusing, I'll try to explain.

    Standard Specular workflow ~>(simplified explanation) The luminosity of the specular determines the metalness and the spec color is the reflection color (does not change reflection strength), not the albedo color. The Spec Alpha is the roughness which modulates the gloss level and strength.

    Metallic workflow ~> Albedo color will determine reflection color (does not change reflection strength) as metalness is increased, again alpha of metallic channel sets the gloss level and strength.

    For both, only roughness determines reflection strength, then the roughness + spec attenuation is used inside candela to calculate the correct Schlick fresnel falloff.

    Caveat, this as mentioned is done to be consistent with Unity method of PBS shaders, doesn't mean it is the correct method:)

    The undo:) fix will be in V2.2, thanks for pointing this out.
     
    Last edited: Jul 29, 2015
  40. spraycanmansam

    spraycanmansam

    Joined:
    Nov 22, 2012
    Posts:
    247
    [/QUOTE]
    Sorry, but unfortunately it appears they essentially did.
    They quite clearly stated that the results shown were "100% Candela V2 only". See the posts below.

    Please keep in mind that I'm not trying to antagonize Livenda, but it's this kind of behaviour that makes a lot of people hesitant to buy the product. I really really really want it, but I just can't bring myself to purchase it again.

    If this truly is the case, then I think daville's questions of how to achieve the same effect are more than valid.
     
  41. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    This is getting silly!
    Let me make it absolutely clear, again, NO reflection probes have been used in Any of the screenshots at all. Look at the video again please. For one thing, you cannot use the current unity reflection probes for pixel accurate reflections like in the video and screenshots, it's impossible:)



    We already explained what daville has pointed out, it is the internal Biasing which must be there for SSR. Please read our posts above. Also the door way reflection you pointed out, it is the masking from reflections and is normal and the best it's going to get without doing what's called depth peeling, which will be very expensive performance wise.

    Cheers!
    Michael
     
  42. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    I'll give this another shot... :)
     
  43. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    Great!

    Cheers
     
  44. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    522
    @LIVENDA If possible, a checkbox in the effect that caused the intensity of the specular color buffer to influence the presence of the reflection on a pixel would be deeply appreciated. I know it might not be the best to have on as default (as the Unity Metallic Standard Shader either has a bright metal color there, or flat grey *grumble*), but for those of use with nuanced control of that channel, it would be deeply appreciated to be able to 'tune' the reflection intensity independent of surface roughness.
     
  45. LIVENDA

    LIVENDA

    Joined:
    Oct 31, 2013
    Posts:
    275
    Yes, I was going to suggest this as well, we will try to add this in V2.2 , we just don't want to inflate the number of available parameters as it could inadvertently have an adverse effect over all, but this option I think is a good one! Thanks again.

    Cheers,
    Michael

    I just want to be clear to anyone else interested in these additions and requests (this goes for almost all other products), just because we agreed on possibly adding this, does not mean it will be in V2.2 or in any version, we have to test it and test it again and make sure its appropriate, so don't assume we promised this and that. Every addition has repercussions somewhere else in the code and most importantly over all usability of the product for everyone.
     
    Last edited: Jul 29, 2015
  46. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268
    Livenda please, I have the feeling that you're not reading or understanding my question, Think you are thinkin I'm asking about you using reflection probes, wich is not the case.

    I don't know if it's my Bad English, I'm sorry about that, but my main language is Spanish, I can Ask again in spanish to explain better.

    That was not my original question, that's something else that came up, and I understand that explanation, but is not what I'm asking, I'm Ok with that.

    This is close to what I was originally asking... I was asking about that door, and Tried to replicate the same situation using a cube.

    What I still don't understand is how to achieve the reflection on the door... and what settings or things take into consideration to do a reflection like that yellow thing.

    Could you explain how I should use propertly your product to take te best advantage of it, and I can understand what I'm doing wrong?

    As I said I trust it can make that stuff on the video, I'm Not calling a liar, I already admited that I must be doing something wrong.. I want to know what I'm doing wrong and how to do the things right to get the same effect of the Door.

    I can ask again in spanish if something is not well explained...
     
    Last edited: Jul 29, 2015
    LoghamLogan and hopeful like this.
  47. Sinaz20

    Sinaz20

    Joined:
    Nov 16, 2009
    Posts:
    53
    If you go back and watch the video, you'll see that that part of the floor is bright yellow. What you're seeing there is not a reflection of a yellow ceiling piece, but an omission of renderable color information, and the yellow of the floor coming through that artifact.
     
  48. Sinaz20

    Sinaz20

    Joined:
    Nov 16, 2009
    Posts:
    53
    @LIVENDA

    We've just upgraded to V2 on Unity 5.1.1p4.

    We are not getting any reflections from any of our shaders, any stock PBR shaders, or any of your supplied Candela shaders.

    We can see some tone on the objects changing when we enable or disable the Candela component, though.

    I've checked our target platform, and I've moved the camera closer to see if it's a fall-off issue. We've tried all the render paths just to see some glimmer of effectiveness. We have the player settings at max quality. What could we be missing?

    Can you think of any more things to look for, or can we contact you directly for more targeted support?
     
  49. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    268

    That's what happened to me before, and I switched from Forward to Deferred and then it worked.
     
  50. SIV

    SIV

    Joined:
    May 7, 2014
    Posts:
    182
    Hey when you think you can answer my question ?
    "I tried it with an Atlas texture based asset, and there is almost no effect at all ! (asset used is top down sci fic from M) also whats the sci fiction asset that you used on the video ?"
     
    punk likes this.
Thread Status:
Not open for further replies.