Search Unity

UBER - Standard Shader Ultra

Discussion in 'Assets and Asset Store' started by tomaszek, Jun 23, 2015.

  1. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Your material misses blending variables _SrcBlend _DstBlend (refer to values that are set by inspector or check at them in debug mode - Idon't remember numerals for right blend mode out of my head now). Also set _Zwrite to 0 for transparent stuff.

    Your materials can't be judged because they misses textures.

    Anyway - using "Transparent" mode which is "glass like" approach means alpha premultipled blending. That is - specular highlights, reflections and emission will be added on the top of material despite of mask taken from albedo alpha channel. For emission to work with such transparent material you would need to provide UBER with emission texture with the same mask as you have on albedo. If your material has emission as constant color it would add on the top (ignoring albedo transparency mask).

    Using "Fade" transparency mode in UBER inspector (and Unity Standard shader) doesn't add spec nor emission on the top so it would work for you.

    Remember that transparent stuff is always drawn as forward regardless of camera mode. For deferred it's drawn after deferred passes (gbuffer+lighting+reflection).

    Tom
     
  2. Daft_Hunk

    Daft_Hunk

    Joined:
    Nov 15, 2016
    Posts:
    15
    Yes ! It did the job perfectly, thanks a lot :D
     
  3. Monil

    Monil

    Joined:
    Apr 24, 2012
    Posts:
    14
    Hi Tom, after upgrading unity to 2019.1, Uber shaders don't react with alpha (cutout, transparent, fade) or I missed something?
     
    amynox likes this.
  4. amynox

    amynox

    Joined:
    Oct 23, 2016
    Posts:
    80
    Hi Tom,

    I'm getting the same problem as Monil :

    after upgrading unity to 2019.1, Uber shaders don't react with alpha (cutout, transparent, fade)

    Thank you for your help
     
  5. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    240
    Hi, the same issue here too.
     
  6. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    I'll take a look at this issue ASAP.
     
    amynox and Bartolomeus755 like this.
  7. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    OK, I've just submitted 1.2h. It has U2019 compatibility issues solved (local keywords that affected transparency). Also fixed shadow casters that use "Write into depth" variants. Included it also for U2018.3.2 and up. This feature should work back just fine (as far as DX11 - PC, XBox One, PS4 consoles are concerned). Tested UBER against "Substance in Unity" plugin (v2.2.2). It seems to work now. We only need to make sure texture data mappings are correct (i.e. default data for parallax is taken from alpha channel, but it's configurable though - refer to my docs).

    Tom
     
    Last edited: Apr 29, 2019
  8. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Guys, a bit of trouble here. Unity suddenly demands my personal website to be up-to-date and related to my Unity work. Badly I need to update it - right, but why now... They never demended it and my personal website is just my musical portfolio. Since it would take some time to prepare it there's maybe another option to deliver my Unity Connect profile to AssetStore instead. For this I'd need to make it "complete", so would be great to have there any references.

    Any of my users having Unity Connect profile to give me some reference, testimonial?

    https://connect.unity.com/u/tomasz-stobierski-1

    Otherwise pushing UBER1.2h update can take quite some time... :(.

    Tom
     
  9. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,928
    Yeah, Unity is being weird in that they won't let UAS developers issue updates to their existing customers if the developers have not first met some arbitrary criteria on their websites. The new policy is causing problems here and there.

    IMO, if they really need this personal website upgrade, fine. But they should tie it to the submission of new assets, not updates on existing assets. Doing it the way they're doing it hurts UAS customers.
     
  10. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    I couldn't word it better. I've got Connect profile, but I don't get the references required. I can understand the policy and I realize that when someone plan to sell assets he needs to show his dedication and provide contact info so that users haven't impression of buying something from someone who could just disappear next week. So, well, but isn't it enough to just take a look at hundreds of 5star reviews for my current products as they are on UAS since 2011...

    For those who need to just work in Unity2019, let me simply list changes I've made to files to get the 1.2h update fix. As we don't know how long it will take to get the update officially. For all UBER shaders exchange all occurences listed below (Ctrl+F/H - find and replace in a project):

    change #pragma shader_feature ___ _PARALLAXMAP to #pragma shader_feature_local ___ _PARALLAXMAP
    change #pragma shader_feature _ _ALPHATEST_ON to #pragma shader_feature_local _ _ALPHATEST_ON
    change #pragma shader_feature ___ _DETAIL_SIMPLE to #pragma shader_feature_local ___ _DETAIL_SIMPLE
    change #pragma shader_feature ___ _PARALLAX_POM_ZWRITE to #pragma shader_feature_local ___ _PARALLAX_POM_ZWRITE

    Problem is that when UBER points fallback shader and the same keywords are defined as local in fallback, they must defined as local also in main shader, otherwise they don't get picked by Unity for rendering.

    You can safely do find/replace operation globally in a clean project with UBER shaders installed. In case you have more shaders, it's more safe to keep an eye on what's being replaced because there's a chance we would replace it on other 3rd party shaders.

    The other fix with shadowcaster, I'll maybe make a compare later or 1.2h gets updated on UAS before.


    ATB, Tom
     
  11. Monil

    Monil

    Joined:
    Apr 24, 2012
    Posts:
    14
    Hi Tom,

    Thank you for your help
     
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    OK guys 1.2h has been accepted. You can get it from UAS. It's now on madness sale as well!

    Tom
     
    hopeful and Bartolomeus755 like this.
  13. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    240
    Great news, thank you for the great support.
     
  14. blanx

    blanx

    Joined:
    Feb 26, 2016
    Posts:
    47
    Hi,

    I am wondering if I am doing something wrong with the shader when creating iOS apps.

    When using the Uber Shader I always have to enable extra shader features translucency or snow effect to receive scene lighting on the objects. Even if then turn down the values of that effect to zero.

    Am I doing something fundamentally wrong? Had this in any Unity version and using linear rendering.
     
  15. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    By iOS you mean desktop (+laptop) Macs based on OpenGL rendering backend? I could try to install newest UBER and force openGL mode on Windows to check it (if Unity still allows for forced openGL mode). What's the Unity version you're currently working with?

    Tom
     
  16. blanx

    blanx

    Joined:
    Feb 26, 2016
    Posts:
    47
    We are developing on Windows and OSX machines.
    We had this on all Uber versions up to the newest which is also in use here.

    What you mean by force opengl mode?

    Currently we use Unity 2019.1.1f1
     
  17. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Unity editor under windows has ability to run in openGL mode as opposite to default DirectX11. It's achievable via opening Unity with command line param (-force-glcore). I use it to test wheter my shaders compile correctly for openGL which is kind of "testing rig" for Mac users. I don't have Mac to test it in genuine OSX environemnt. Anyway - opened laest UBER in U2019.1.0f2 using openGL4.5 and example scene works with different types of lights both in forward and deferred. I can get it working using UBER both - specular and metallic core shaders (no additional features).

    It's also possible that you have Metal api involved, not openGL, but I have no idea how to test it on windows then. I'm wondering what can be the reason of such behaviour on your side, but since I can't reproduce it I'd advise to use translucency rather than snow. It has almost no overhead on shader performance.

    Tom
     
  18. zornor90

    zornor90

    Joined:
    Sep 16, 2015
    Posts:
    169
    Hey @tomaszek , I tried updating to 1.2h, but even after running the UBER_ImportFirst package, it still seems to show #pragma shader_feature ___ _PARALLAXMAP in all the shaders

    If I completely delete the UBER/Shaders folder and run the UBER_ImportFirst again, it says I have everything I need and does not create the shaders folder again

    This is on Unity 2019.1
     
  19. blanx

    blanx

    Joined:
    Feb 26, 2016
    Posts:
    47

    Good to know that it has no big impact using it that way. Maybe I find the time to make a video to illustrate the problem or maybe setting up a demo project.
     
  20. ayrton2389

    ayrton2389

    Joined:
    Oct 25, 2013
    Posts:
    23
    Hello, @tomaszek.
    Is there any chance to get Uber shader snow to work with unity terrain?
     
    Last edited: Jun 1, 2019
  21. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Unity - no, but my other package RTP (Relief TerrainPack) has quite similar implementation comparing to UBER. You can easily integrate both. Also - being UBER customer you can get RTP %50 off.

    Tom
     
  22. tavovallejo

    tavovallejo

    Joined:
    Nov 22, 2014
    Posts:
    13
    Hello, @tomaszek.
    can i make some tweak so i get a second diffuse map, more like a decal map.
    I've been baking many textures just to add decals. tried at runtime but it was so slow.
    I'm already using secondary maps, so it's not an option for me, I tried anyway and it did not work
     
  23. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Sorry for late response. What are your needs exactly then? How secondary maps don't work for you? How would you like to UV map 2nd texture and how would you like to blend it?

    Tom
     
  24. Reamso

    Reamso

    Joined:
    Sep 4, 2017
    Posts:
    1
    Hi!

    I've tested Uber on Unity 2019.1.8 and #pragma shader_feature ___ _PARALLAXMAP seems to be there when imported in a brand new project.
    Anyway it's a great asset which delivers stunning graphical results with an high level of customization. GJ!
     
  25. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Import first package is only a package with scripts. Shaders are placed in the 2nd sub-package. But what I could suspect is that Unity Asset Store gives you guys wrong UBER version when taking it under Unity 2019.1. 1.2h has been submitted with 2019.1.0. Under 2019.1.8 UAS should give you 1.2h as well. Check _verinfo.txt file placed in UBER folder. In case it's still wrong version try to clear package cache (google for the place on your HD - it's easy to find) and download it again. Such situation happens from time to time within Unity. Anyway - 1.2h version is supposed to have correct local keywords defined.

    Tom
     
  26. zornor90

    zornor90

    Joined:
    Sep 16, 2015
    Posts:
    169
    Yup that did it, thanks!
     
  27. lordzeon

    lordzeon

    Joined:
    Jun 1, 2018
    Posts:
    14
    Hi Tomas, maybe this question was made several times, i have a project too advanced and dependant in shader graph shaders to roll back to Standart now, but i really like your shader and it suits perfectly for what i need, so, there is some way to port this to LWRP or plans to do so?
     
  28. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    It is on the roadmap, but first I'd like to finish the other flagship product (new RTP release).

    Tom
     
  29. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    I'm trying to use UBER dynamic snow, but the snow isn't appearing on the object. See screenshot, the level is 1 (color is red to make sure it's visible). Any idea what I'm doing wrong?

    thanks
    Dave
     

    Attached Files:

  30. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    What's the UBER, Unity version and the exact shader used? I'd try to reproduce it.

    Tom
     
  31. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    2018.4.3, using UBER - Metallic Setup/Core shader....but I realized that awhile ago I pruned the Snow keyword from the UBER shader (since i wasn't using it then, and was hitting Unity's 256 keyword limit).

    So now I can see snow on it when I move the snow slider on the material. But it's not responding to Enviro snow -- on the UBER_Global_Params inspector, Snow Level is 1, but on the object material, it's still zero. Here's my setup for the integration -- do I have to do anything more than that to connect it to individual objects with UBER shader?

    uber-global-params.PNG
     
  32. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    It's a set of toggle/switch buttons onmaterial inspector - select which snow params are controlled globally and which one per material (look at the very bottom of your previous screenshot - section titled "Global control over").

    Tom
     
  33. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    Ah, right....ok, I've done that, and snow level on UBER_Global_Params is now 0.9....but still zero on the material. No errors in the log.

    uber inspector.PNG
     
  34. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Let me recall - it might be multiplicative so that you need to set snow level to 1 in material. Also - check in playmode as well. Not sure if it's always refreshed in stop mode.

    Tom
     
  35. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    That was it -- thanks so much!
     
  36. Langandr

    Langandr

    Joined:
    Feb 28, 2019
    Posts:
    1
    Hello there people,

    Using UBER in Unity 2018.2.20f1.
    I'm trying to enable/disable Wetness on my object during runtime depending on what weather my environment has.

    How would I go about that with uber?

    Help much appreciated : )
     
  37. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Just set global wetness level to 0 via weather script (inspector).
     
  38. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    When using Unity Fog (with Enviro Lite), some meshes with Uber shader don't respect the fog, they're fully visible. I didn't find anything in the docs about this, is there something I can do to fix it? (Unity 2018.3.4)
     
  39. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    You need to set desired fog type in UBER_ForwardFogType.cginc (UBER/Shaders) and reimport/recompile shaders. In case you need fog for some scenes while - just use fog strength set to 0. Or - this file is included with any UBER shader. If you need to have fog on per shader base you can set the same define in CGINCLUDE ... CGEND block in a selected shader (which you can also make a copy for sake of this). Like adding:

    #define FOG_EXP 1

    Set in shader header section (between CGINCLUDE ... ENDCG) will enable this fog type for given shader. I made it like this to reduce shader variants compiled, so it's kind of "historical" thing. I don't change it now. New set of customized shaders will be available as a replacement for UBER sooner or later (for classical and new scriptable pipelines).
     
    gecko likes this.
  40. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    Thanks....but hmm, we're using Enviro Lite and Standard (switching based on quality level), so would that edit break the non-Unity fog in Enviro Standard?
     
  41. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Can't tell how it's realised in Enviro, but fog can be realised either at shader stage (clasically forward rendering path) or as a part of image effect stack (deferred fog). If Enviro makes it per shader would it mean "Enviro" comes with its own set of shaders?
     
  42. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,024
    The Enviro Standard fog is an image effect, so editing the UBER forward shader as you suggested did the trick, no issues. Thanks!
     
  43. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    558
    Hi there I am trying to fix the sliding edge texture on curved objects. When my character walks past the edge the texture slides very noticeably in distorted way so I switched from POM Advanced to Tiiplaner Selective but it seems there is no POM option for Triplaner Selective.

    Is this a limitation of the POM or is this maybe something else causing it like bad UV?
    I attach a pic and video.
     

    Attached Files:

    Last edited: Aug 27, 2019
  44. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Although I couldn't open .mkv video file from your attachement (what's the format, maybe try with some generic h264 mp4) - I can say - curved objects with POM work with kind of approximative solution so some stretching is always to be expected. For surfacte displacement, triplanar selective works only with tesellation (POM would introduce too much texture sampling overhead). POM works fine on flat or gently curved surfaces otherwise there's a problem with solving silhouettes. For some simple shapes like cylinders we can mimic silhouette pretty fine, for general case it's not solvable easily (shell mapping was once invented, but since we have tessellation more than 10 years on the market such solutions are not used anymore in practice).
     
  45. L0ve3d

    L0ve3d

    Joined:
    Feb 9, 2019
    Posts:
    20
    Does Uber support the HDRP ?
     
  46. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Not (yet. First, I'd like to finish my terrain enovironmental package. Then I'll jump into upgrading UBER. Also - HDRP is sitll under production on Unity side.
     
  47. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    558
    The video uses the latest H265 so older players won't play it. I understand that it's a limitation of POM now so thanks I will try to hide the corners. Also important question does Uber work on consoles?
     
  48. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Yes - AFAIK (I hope you don't mean PS2).
     
    SilverStorm likes this.
  49. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    558
    I am having fun with Uber so far the results look great. Right now I try to understand the snow documentation but it's quite confusing. I am trying to make a fake AO effect at the edges using snow but I am not sure how. The default values make snow on top of model but I am trying for fake AO by putting snow on the side maybe you can help me with right settings to put snow on edges or maybe Uber can already do much better effect?

    You can see the default picture and what I am aiming for as attachments. I aim to make intersections of object look nice using tricks. I tried using Lightmap and SSAO but they very limited or bad result.

    I have other shaders that can do it but I can only choose 1 shader and it has to be yours.
    So can Uber achieve intersection masking?

    I bought this shader before of course it's very limited compare to Uber but it does have fake intersection mask example:
    https://assetstore.unity.com/packages/vfx/shaders/surface-shaders-71664
    Look at second and third picture in that asset store shader the desert pictures it show you what kind of blending I am looking for with ground by using color trick on mesh edges to fake blending.

    I also attached some pictures to help understand the snow trick and a third image showing fake AO.
     

    Attached Files:

    Last edited: Aug 29, 2019
  50. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    What are your requirements? Snow in Uber is generaly meant to be placed on the top of the model surface unless you specify very low slope damp value (then snow can show on the sides). Is snow needed or you're trying to use it different way? For fake AO - I'm wondering why SSAO can't make the job for you in the case you gave on the screenshot.
    Also - I'm unaware what "color trick" is done by the other shader to show fake AO. Does it rely on depth buffer state (like soft particles use to have smooth cross geometry blending). It's also worth mentioning my other product RTP can blend meshes with terrain - maybe that would be the option for you? (RTP can be bought at reduced price for UBER customers and vice versa).