Search Unity

UBER - Standard Shader Ultra

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

  1. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I guess the variant you're trying to get doesn't exist in build. If none of your materials export to build use the variant it will be excluded from standalone player. You can use shader variant or (much simplier) put a material in scene that uses the variant (it deosn't need to be visible anywhere). You can also put such dummy material on the list of assets included always in build.

    Tom
     
  3. KnifeMedia

    KnifeMedia

    Joined:
    Jun 15, 2015
    Posts:
    108
    Look what I made with UBER - full interactive demo scene coming soon! (work in progress):



    I love these shaders :D
     
    botumys, Detniess, ikazrima and 4 others like this.
  4. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    looks great :)

    whats your post-processing stack?
    did you use wetness on the fabric, looks rally cool
     
  5. KnifeMedia

    KnifeMedia

    Joined:
    Jun 15, 2015
    Posts:
    108
    I'm using Scion post processing with SSAO above and Anti aliasing.

    The cloth isn't using wetness, just POM mixed with a normal map and a moderate level of smoothing. gives the specular effect you see there. The model is basically a standard Unity plane with the texture on cutout and clamped. Shows how impressive UBER POM is to give it such depth!
     
    John-G likes this.
  6. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Hello,
    I'm having an issue with the tessellation shaders. The same shader works great on one object, others have an issue with scale in editor vs. in game. In the editor: set to depth of 0.1 and it looks good, but the depth is flat in a built game. The only way to look good in a built game is to go to extremes in the editor. Any idea of what would cause the discrepancies?
    Thanks
     
  7. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    The whole thing looks horrible for me for some reason :/
    Is my GPU too weak for UBER or am i doing something wrong ?
    Is translucency DX11 only ?
    I'm a real noob with shaders i don't even know what i'm doing, or it's just my GPU afterall...
    What's happening? Look:









    https://www.dropbox.com/s/r8mcwlspgh9kiak/1.png?dl=0
    https://www.dropbox.com/s/svdptlvalnuiuz5/2.png?dl=0
    https://www.dropbox.com/s/1awdiufem3xl4oo/3.png?dl=0
    https://www.dropbox.com/s/t1bbf9zmsmhd21t/4.png?dl=0
    https://www.dropbox.com/s/em16wymcz10rv7c/5.png?dl=0
    https://www.dropbox.com/s/pi2sza5c9mr2vhc/6.png?dl=0



    EDIT:
    I have my differed shader set to custom > uber's differed shader.
    If i disable translucency it does almost nothing, so it's defenetely not even applying.
     
    Last edited: Jan 18, 2016
  8. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Actually, I have no faintest idea what can be wrong with object scale in editor and in build. I displace things in object space. Makes no sense to me to have it different in build. What's the Unity version you're using for build ?

    At first glance your textures are apcked with strongly degraded quality. It looks terrible at skyboxes in the background. Is it mobile target set for your project ? Skybox and reflection probe used on my example scenes are HDR RGBM. Is your project set to be linear ? Translucency works - look at the top of candle (your 2nd screenshot above). Only tessellation is DX11 only feature.

    Tom
     
  9. botumys

    botumys

    Joined:
    Apr 16, 2009
    Posts:
    707
    A new video of my catacombs. I'm using uber and tesselation.
    (1080p 60fps on youtube)

     
    robymv, tomaszek and KnifeMedia like this.
  10. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Like a lot the modelling (and new to Unity5.3 SSR usage). It's deferred then (in forward I've noticed screwed specularity). Will need to update soon (with better translucency in deferred as well).

    Tom
     
  11. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    Okay. What would you recommend doing, where would you direct me to fix that ? Is it just somewhere in unity or my GPU truley is too weak. And no, this is actually PC, not mobile. Where's the translucency at the statue at the start though ? I can see some of it on the candle yeah. And there's no translucency on ear either but i'm guessing that becouse tessellation is dx11 only ? Or not i don't know i'm a total looser at visuality in games. And what about magma ? It looks nothing like from the video and also there's something i didn't show. When i put snow on the statue, the snow first of all looks horrible, second of all it melts instantly as it hits the statue, it atleast looks like it's melting. Sorry for taking your time and thanks in advance.

    EDIT: no actually it doesen't look like it's melting it just has a wierd like animation, the snow moves in all directions it looks nothing like in the video, horrible.

    EDIT: oh and yes my project is set to linear color space

    EDIT: i really feel like it's shadowing problem. Becouse look at all of thoose shadows they just look horrible, especially on snowball
     
    Last edited: Jan 18, 2016
  12. botumys

    botumys

    Joined:
    Apr 16, 2009
    Posts:
    707
    Thanks Tom :)
     
  13. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Look at build settings. Your background looks like hevaily, badly compressed LDR cubemap. Is it PC target for build ? What's the Unity version ?

    Tom
     
  14. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    Running on latest unity version.
    I didn't run it in a build but just through the editor.
    I gave my friend the package just to test it, and it works fine for him :/-
    I just tried it in a fresh project and set color space to linear, differed shader set, and anti aliasing disabled, and it's still the same thing, EVERYTHING looks horrible and nothing like in the video :/
     
  15. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    What's your GPU then if you suspect this might be the issue? Current UBER is not Unity5.3 ready though (will make an update ASAP).
     
  16. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    Well my friend ran it on 5.2.1, so that might be a problem hmm..
    My GPU is ATI Radeon HD 4350

    EDIT: i mean it might really be that 5.3 doesen't support it. My friend ran it on 5.2.1 so that's why it worked for him.. But then again it still could be my GPU... I'm waiting for that update now.
     
  17. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I'll post here about update available, but ATI HD4350 is indeed very old, low end, hardware.

    Tom
     
  18. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    Looking forward into it.
     
  19. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Your hardware is DX9 (most probably), but main problem is that Unity5.3 introduced kind of bug when importing exr textures. Gerlos (third sky on the UBER demo - clikc on third ball) works fine, while the rest give very badly decoded values (ugly biased and even negative ??). Need to look into the problem more. Maybe U5.3 patch will help.

    EDIT: Actually, when I use the texture as reflection source, it works, but with skybox shader they're broken somehow.

    ATB, Tom
     
    Last edited: Jan 19, 2016
  20. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    If you find a way to fix this issue without an update for the whole asset, please let me/us know (That is if something small and stupid is cousing this).

    EDIT: and did you try the whole thing with 5.3 ? Does it look horrible like mine ?
     
  21. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Yes, exactly on Unity5.3 ambient lighting for two first example skyboxes is wrong. I'm currently installing U5.3.1p3 to see if this is fixed (Unity mentioned something about wrong amgient GI in some cases fixed ikn U5.3.1p1). That's not the only problem. I need to update lighting as well (specular highlights are damped currently - look at direct specular lighting in forward - we have only diffuse lighting there).Will report more on this soon.

    Tom

    EDIT: Yep - unity patch U5.3.1.p3 fixes the ambient light problem.
     
    Last edited: Jan 19, 2016
    hopeful likes this.
  22. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    So basically my whole problem is fixed when i update once again ?
     
  23. zanedesir

    zanedesir

    Joined:
    May 18, 2015
    Posts:
    4
    Hi there Tom I bought the UBER shader recently and was having problems with the ambient source set as Skybox I was getting very dark, almost burnt looking shadows in 5.3.1f1 similar to what RickyX was getting. Glad you update this thread regularly it seems with the p3 patch to be running okay the Ambient intensity slider actually changes things now with ambient source: Skybox selected, where as it made no difference before. Things look good with the intensity set at 1 now
    Thanks, keep up the good work
     
    hopeful likes this.
  24. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    So the recent patch fixed the problem i was having :S ?
     
  25. zanedesir

    zanedesir

    Joined:
    May 18, 2015
    Posts:
    4
    Hey RickyX i was not having the same problems you were with the skyboxes looking very degraded in quality, but the mesh shadows looked exactly the same as yours in 5.3.1f1. It seemed to me the problem lay with the skyboxes when switching the ambient source to color for example I got results that looked more like Tom's demos. With the P3 patch everything seems okay with the Skybox set as the ambient source try it and intensity at 1... it maybe will fix your problem you can always revert to the official release if it is not working for you

    Btw I am running an ATI Radeon HD5750 i am assuming that although you have a lower spec card they are similar enough that you may benefit from patching to P3
     
  26. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    Thank you for taking your time to help. I'm gonna try that out now and edit this reply to say if it works or not.
     
  27. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    OK, here is early access to UBER1.1 update on my server:

    http://www.stobierski.pl/unity/UBERUpdate.php

    Still I'm inspecting some glitches, but it's possible that they are not UBER related, but are simply Unity problems. If Mac users could try tessellation shaders in the update I'd appreciate. For me it doesn't work in forced opengl4.1 (Windows). When I don't clamp it (opening in opengl4.5) tessellation works. Still some zwrite examples seems to not work while I remember they worked in glcore mode on Windows. This makes me thinking it might be kind of regression. I exported package above in Unity 5.3.1p3. Ambient lighting seems to be better comparing to U5.3.1f1 (problem noticed by RickyX), but still it seems to be problematic on some objects for this first skybox.

    Tom

    P.S. It's build made for U5.3 only. It's best to remove old UBER installation first because I replaced scripts and functionalitites for UBER_Deferred treatment. At least it should now work with RTP without problems.

    EDIT: found the reason it doesn't workd in OGL4.1, simply we need to comment out all #pragma target5.0 in tessellation shaders and it works then (pure dx11 target5.0 is too high for opengl4.1 which has tessellation but doesn't have compute shaders like dx11 SM5.0 has).
     
    Last edited: Jan 20, 2016
    MS80, John-G and Seneral like this.
  28. MS80

    MS80

    Joined:
    Mar 7, 2014
    Posts:
    346
    Hi Tom!
    I get the following error message if I want to download the 2. , 3. or 4. zip file part:
    "Download count limit for this invoice number has been exceeded"
     
  29. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    How do we use this updater ? It asks for order number and date.
     
    Last edited: Jan 20, 2016
  30. MS80

    MS80

    Joined:
    Mar 7, 2014
    Posts:
    346
    I filled in both, order number and date. It worked just fine the last time with RTP 3.3 a few days ago ?! I also could download the first of 4 parts?!
     
  31. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Thanks, I'm in Unity 5.3p3. I see something that leads me to believe its UVW based, the same working material on another mesh (with similar mesh density) makes it go nuts. Ill keep looking into it, any specific UVW rules besides the obvious breaks at UVW seams?
     
  32. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Actually no special rules. Can you check if the problem comes from meshes being batched (either static or dynamic way) ?

    Tom
     
  33. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Get the invoice you got from Unity in email when bought the package (invoice is pdf file in attachment). There is order number starting with "OR" then followed by 9 digits. Type in these digits in order number field of my updater. Then specify purchase date in right format (year-month-day YYYY-MM-DD), click submit request button. List of 4 links to download should appear. Download them all (z01 to z03 files are 31 457 280 bytes , zip is 28 243 548 bytes). This is multipart zip archive. On windows simply click inside .zip file in windows explorer, select unity package, Ctrl+C, Ctrl+V in outside folder - windows will extract it. Make sure nothing broke the transmission of files (check sizes of zip and z01-z03 files first before extracting).

    I got all attempts in my logs. There was pretty many request issues from different IPs matching one order number (probably yours). In such case I can't help, because I'm not able to verify your credibility as official user. I'm not making any assumptions here, simply remind to keep order numbers private, because they are the only way for AssetStore publishers to verify invoices (and we don't have any other personal information about users). You need to wait for official update available on AssetStore. I plan to submit it today.

    Kindest Regards, Tom
     
  34. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    To avoid the complications i'll rather wait for the asset store release, sinice @MS80 couldn't do it.
     
  35. MS80

    MS80

    Joined:
    Mar 7, 2014
    Posts:
    346
    How can this happen?! The error message appeared after clicking on part2 for the first time ?! Of course I keep my order numbers private, I've just used it for your updater! You should have seen 2 different ip adresses, one from my office and the second from home, as I tried to download again in the evening from my other workstation! I have logged into updater 3-4 times after I got this error message...
    I'm a official user, to verify this I will you provide ANY information you need, just drop me pm and tell me what you need!

    Nevertheless, I can wait for the offical asset store update. :(
     
  36. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I submited UBER 1.1 final version on AssetStore. It will take probably more than week to aprove, so I uploaded again zip files to my server. Removed overloaded ordernumber request entry from my database, so you should be able to download it. Do it from single IP location (don't relog in net because it might result in different IPs for the order number).

    ATB, Tom
     
  37. MS80

    MS80

    Joined:
    Mar 7, 2014
    Posts:
    346
    That worked! :)
    Thanks Tom, sorry for making trouble and thread spamming.
     
  38. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    I'm trying to use Uber, RTP, Standard Assets (SpeedTree and Water), and a small handful of other things and I keep running into the max number of shader keywords no matter how hard I try. Is there some way to deal with this?
     
    ksam2 likes this.
  39. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    may not be a helpful reply but
    i had that problem once
    and (quite some time ago) either deleting the library
    or just switching the unity version
    solved the problem (is probably kind of a unity bug)

    had that problem never since and i use a lot of shaders
     
    hopeful likes this.
  40. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    @makeshiftwings - I would not be surprised if there is a Unity bug related to the shader keyword count. I've no solid info on it, but I saw a "keyword limit exceeded" error on a very small project recently. Something is probably amiss somewhere, either with the count, or something is accidentally generating more keywords than expected.
     
  41. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    I tried deleting the library and rebuilding but alas, no luck.

    Yeah, I'm wondering if that's the case. In the error that shows the list of used keywords, most of them don't actually show up anywhere when I've searched the text of all .cginc and .shader files in my project.
     
  42. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Keywords only used in cginc files, but decalred only in shader files. Unity5.3 increased number of keywords used internally... I even removed 1 keyword from UBER1.1. Keywords seen in project are of 2 types:

    1. stored in materials (permanently, no mater you changed shader to "keywordfree") - you can search whole project using AssetDatabase class to find all materials (project and scene ones). Then list keywords used by these materials. It's often the case that keywords "hang there". For example developer introduced toggles in inspector (which by definition produces keywords while they are not used in shader code anywhere). Or resigned from some keywords but didn't clean unused keywords in materials distributed in package. You can clear them manually (removeing from keyword string arrays that are attached to materials)

    2. global - we can set some global keywords by scripts (and Unity Unity uses it a lot for different lighting scenarios). The shame is that we currently CAN NOT list used global keywords, only check if a keyword is set or not. You'd need to sweep over scripts from packages you're using and find places where global keywords could be used.

    I had to do it many times. For eample I decided to hardcode setup for SCION or TOD (using #define KEYWORD 1 instead of #pragme shader_feature) and tweak their scripts to be sure only used keywords get set.

    Tom
     
    Last edited: Jan 25, 2016
    hopeful and makeshiftwings like this.
  43. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Blegh.... I had no idea it was that complicated. I am using Scion and was considering TOD, and noticed they have a ton of keywords, and I also do have some old unused materials that may have stuck around after removing their shaders. I guess it's time to go through old art folders and delete any materials that I'm not using.

    I did notice that the newest version of RTP now includes a Horizon[ON] shader that uses a bunch of new keywords, even if you don't have Horizon[ON] installed. I noticed there was a #pragma multi_compile line in it that was commented out but the keywords there were still showing up in my list; now it makes sense that there was probably a material or editor script referencing them even though they were taken out of the shader.
     
    hopeful likes this.
  44. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Good catch, I forgot to remove 3 useless parts of Horizon from RTP editor folder (for you it only matters to remove material, missed this when cleaning package for AssetStore - simply I used the same framework for custom inspectors on RTP as I made them for HorizonON once). Look at RTP thread for example screenshot.

    ATB, Tom
     
  45. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    @makeshiftwings - FWIW, I don't even have TOD, Uber, or RTP installed in that small project yet, but I do have Scion, Horizon[ON], ShaderForge, and MCS. Maybe I'll see my keyword abuse drop once I've eliminated a bunch of unneeded materials.

    All the same, maybe Unity should double the keyword limit again. It seems awfully easy to hit 128. ;)
     
    ksam2 likes this.
  46. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Yeah, last I heard, they were working on something to avoid having a keyword limit at all, like changing keywords to be local to a shader, and that the 128 limit was just a bandaid for Unity 5.0. Buuuuuut that was like a year ago and they haven't made any progress on fixing it yet.
     
    ksam2 likes this.
  47. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    Looking forward to that. Hopefully it will happen soon. :rolleyes:

    (EDIT: Maybe it's part of the planned "Full Binary Shader Serialization" that's on the roadmap for 5.5?)
     
    Last edited: Jan 25, 2016
  48. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    For any of my next releases I'll try to avoid using multicompile keywords like a plague. I maybe even try to reuse some existing (for example some of used by Unity their standard shaders/assets). Keywords names in my shader will become unclear (like _SPECGLOSS keyword used on standard Unity shader could mean anything in my shader), but it will save it for limit. Also - shader recompilation will be still better idea. We would need to make shader copies (like in configurable shaders in RTP) and compile-in features needed. Once I had got big expectations on multicompilation shaders and that they will resolve problems (to make super UBER shaders), but actually now they introduce more fuss than it's sometimes worth it...

    Tom
     
    hopeful likes this.
  49. duplexius

    duplexius

    Joined:
    Apr 24, 2015
    Posts:
    44
    Hey Tom,

    I'm just writing myself a tool to find the used shader keywords in all materials in the project. Do you know where I can find a list of all Unity standard keywords?
    I couldn't find it.
     
    Tethys likes this.
  50. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I don't have such list eighter, but for example Unity standard shader or Unity vegataion, terrain shaders sets keywords in materials. Use these shaders, deal with features to turn some on and look at keywords beeing set on materials that use such Unity shaders. For global keywords - there is probably no way to list them. Alhough you can see the full list on console when you exceed the limit :). Figuring out which are Unity's and which not might be cumbersome.

    Tom