Search Unity

UBER - Standard Shader Ultra

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

  1. Shodan0101

    Shodan0101

    Joined:
    Mar 18, 2013
    Posts:
    141
    Hi Tomas,

    Thank you for the amazing work you have done! Love your Uber shaders they are amazing! I have a question regarding GGX implementation. As Unity 5.3 has GGX integrated and replaced Blinn-Phong "Normalized Phong".

    http://blogs.unity3d.com/2016/01/25/ggx-in-unity-5-3/

    Tomas, when using Uber shaders in my project do I still need to load the: Internal-DeferredShading_UBER shader with "#define UNITY_BRDF_GGX 1" into GraphicsSettings\Deferred\CustomShader slot to allow Uber shaders to have GGX BRDF in Unity or can I just use Uber as is now with Unity 5.3.2 (Deferred: built-in shader) "default settings" and received GGX as my BRDF?
     
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    You don't need. UBER uses now GGX by default as well. The thing is that my custom deferred lighting shader is not only about using GGX, but it handles POM self-shadowing and translucency.

    UBER 1.1 is for Unity5.3.1 (and up) only. Current UBER1.04 has broken specularity in this Unity version. Also UBER1.1 introduces new translucency setup in deferred.

    Tom
     
    Last edited: Jan 29, 2016
    Shodan0101 likes this.
  3. Shodan0101

    Shodan0101

    Joined:
    Mar 18, 2013
    Posts:
    141
    Thats Great!! Thank you Tom for taking the time to reply!
     
  4. RickyX

    RickyX

    Joined:
    Jan 16, 2013
    Posts:
    280
    @tomaszek Just to let you know, recent Unity updates fixed all of the problems i've had.
     
    hopeful likes this.
  5. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    For those users who still experience problems with directional specular lightmaps (baked/realtime), I set UBER1.1b on my server:

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


    You might report me if this fixes the problem.

    ATB, Tom
     
  6. Seneral

    Seneral

    Joined:
    Jun 2, 2014
    Posts:
    1,206
    I could not get it to install yet... explorer crashes when I try to open the first zip, saying it is corrupted. Ok, trying WinRar, this one decides to ask for the second rar when this is not in the same folder, but If I specify it, it crashes. Same when it is in the same folder, then it simply crashes. Could you maybe provide a solid archive for installation?

    Edit 1: Ok I somehow got it to extract a package from all the archives:)

    Edit 2: Seems to work now! Many thanks for the update! Though I don't have any parallax on some objects anymore. Switching to Standard shader gives them atleast normal parallax effect, where UBER neither gave that nor POM, disabling and enabling didn't fixed it, reassigning heightmap did neither, etc. I'm trying in a new project right now...

    Edit 3: Ok I found out why I did not get POM on some textures: Height data is taken out of alpha channel as of 1.1. In the last version I was using, this was not a requirement, though... Anyway, seems to work now, thanks!
     
    Last edited: Jan 30, 2016
  7. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    Hi, Sorry if this has been asked already I looked through a few pages but couldn't find anything.
    I'm wondering is it possible to apply snow like RTP at runtime Globally for all materials using Uber Shader. I have RTP set up with a slider to apply amount.

    Thanx Jimbob

    Edit! Oops I just found the Script Thanx, Looks pretty straight forward, I just enable snow on the materials, select the stuff I want the controller to use, then add the script to my slider.

    Code (CSharp):
    1. public void SetTerrainSnow ()
    2.     {      
    3.         script.globalSettingsHolder._snow_strength = snowSlider.value;
    4.         script.globalSettingsHolder._snow_Frost = snowSlider.value;
    5.         snowScript.SnowLevel  = snowSlider.value;
    6.  
    7.         script.globalSettingsHolder.Refresh ();
    8.     }
    Hi im also wondering about another issue, with RTP i get some small glitches where it shines a tiny hole every so often... Im using 5.3 and latest RTP Uber

    Thanx Jimbob
     
    Last edited: Feb 2, 2016
  8. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    For RTP questions ask on its forum. The issues is present with water enabled only ? I'm not sure what issue you're refering to, but RTP3.3b is availale on AssetStore which should fix dots problem.
     
  9. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    Hi, after building my game, the snow no longer set on uber untill I restart the scene. Is there a refresh function I can call at runtime? I'm wonderng if I call 'SetupIt ();'

    Thanx Jimbob


    edit... OOMMMGGG So Beautifulll, works perfect Sorry & Thank you Sir! :D
    I do have RTP3.3b on Unity 5.3 but still get some white dots, I checked to see if gloss was set to high but they are set to 0.1, and I set mitmap to -0.75

     
    Last edited: Feb 3, 2016
    KnifeMedia, tomaszek and Seneral like this.
  10. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Show me white dots in closeup screenshot. Try to disable any postFX - are dots black then ? Tell me exact list of features used.

    Tom
     
  11. wdw8903

    wdw8903

    Joined:
    Apr 2, 2015
    Posts:
    48
    Hi, I just notice uber shader has bigger highlight than standard shader in forward rendering. Is it right?
    uber.jpg standard.jpg u2.jpg st2.jpg
     
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Lex4art likes this.
  13. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    tomaszek I ve a little question regarding specular maps.
    Since I created some specular maps by myself and replacing them with the default specular maps of an asset. Do I also have to check them as "Alpha from Greyscale" like Heightmaps in the Texture Setting? Some Specular Maps are better working if I check this box other don't look to good. So right now I am trying to get what the best / default approach would be.
    Thanks a lot.
     
    Last edited: Feb 5, 2016
  14. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I don't know what you mean "specular maps". Specular color in specular workflow ? Or your textures store smoothness ? Selecting alpha fom grayscale prepares alpha chanel of texture basing on desturated RGB channels. For smoothness UBER uses alpha channel. if your texture doesn't have it it's meant to be white maximum - (mirror smoothness). Alpha from grayscale can fix it then if you have gloss stored in grayscale DXT1 (RGB) texture then.

    Tom
     
  15. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    Yeah I mean the smothness from the Specular Map Texture.
    I created two screens:

    spec1.PNG spec2.PNG

    The Specular Texture was imported from unity without the "Alhpa from Greyscale" checkbox checked. Playing with your smoothness options did not give me really good specular results (reflections etc). After checking this checkbox it works better on some textures but sometimes it's too much or not realistic. Disabling the checkbox gives me better results than.

    So my question is simply does make the Alpha from Greyscale option to true makes sense for specular textures and for your smoothness options or should this not be checked on? Is this normally the default? As you commented some posts before I also was always wondering why my heightmaps did not do anything and after setting the Alpha from Greyscale option to true everything worked like a Charm.
     
  16. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Sc=pecular texture has PBR spec color on RGB, and smoothness on A. Heightpmaps takes only A channel (so you can export them as Alpha8). Seems like 2 things are misunderstood - spec color is "reflectivity color and amount", smoothness is another, independent parameter.

    Tom
     
  17. ehdeekay

    ehdeekay

    Joined:
    Nov 9, 2012
    Posts:
    18
    I'm having trouble setting the Global Params.

    I have it sitting on an Object in the scene, works fine in editor. When I set the values at run-time from script it seems to not set the values.

    IE. this.gameObject.GetComponent<UBER_GlobalParams>().SnowLevel = 1f;

    Doesn't do anything.

    Could you direct me to what I am doing wrong?

    Thanks,
    -ADK
     
  18. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Modifying property in C# script doesn't automatically set it as global shader parameter. Find Shader.SetGlobal in the script that sets snow level globally for all materials in scene.

    Tom
     
  19. ehdeekay

    ehdeekay

    Joined:
    Nov 9, 2012
    Posts:
    18
    Thanks for clarifying this.

    One last thing. If I wanted to change the snow color globally how would I do so? There is no option on the Global Param.

    I would like to be able to switch between snow/dust coloring.

    Thanks again.
     
  20. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    In UBER you need to iterate thru all materials abnd set their snow color property (refer to shader code to find the name of property). Remember that changing alpha will influecne snow coverage when snow is set to be in "local" (not controlled globaly) mode.

    ATB, Tom
     
  21. ehdeekay

    ehdeekay

    Joined:
    Nov 9, 2012
    Posts:
    18
    Perfect! Thanks Tom. Amazing product by the way, would recommend anytime.
     
  22. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    A quick video of a rock formation(model created with photogrammetry) using uber shaders phong tesselation and dynamic snow shader. Uber is really a great set of shaders :)


    The original pre youtube result are also much better and crisp. I haven't found yet a good set of h264 compression parameters for 1080p/60fps encoding :(
     
  23. Jackrabbit82

    Jackrabbit82

    Joined:
    Mar 13, 2013
    Posts:
    16
    Really epic shader ! But i'm having and issue i can't wrap my head around with the POM Advanced. Something must be wrong with my Height map because i'm always having some noisy transparent artefact in the depth of my result. However the POM Extrusion seems to be working fine with the same Height Map. Any tips on what could be the cause of this ? :) thx in advance !
     
  24. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Screenshot please, I can't tell what kind of issue you're facing.

    Tom
     
  25. Jackrabbit82

    Jackrabbit82

    Joined:
    Mar 13, 2013
    Posts:
    16
    Sorry here it is ! :) I've tweaked values a lot and the issue is always there whatever the settings i'm putting in the POM Section. Also i tried a lot of different setup for my textures. I'm a noob with substance designer so i tried other means, since it looks like what certain renderer do when you're in 16 bits. So far no changes or tweak to the textures have been successful, even if that's probably the problem ;)
     

    Attached Files:

  26. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Looks like at the very bottom of your POM advanced some pixels got clipped. Although threshold is set to 0 (UV clip bottom cut slider) could you try to set such pixels to be not completely black (in alpha channel which is used for heightmap/parallax) ?

    Tom
     
  27. Jackrabbit82

    Jackrabbit82

    Joined:
    Mar 13, 2013
    Posts:
    16
    that was it thx ! :) i had no alpha channel and now that i've placed a not completely black color i'm getting rid of these noisy clipped pixel thx a lot !
     
  28. KnifeMedia

    KnifeMedia

    Joined:
    Jun 15, 2015
    Posts:
    108
    I have one more image to show - UBER is so beautiful :_) All UBER objects, no other shaders because that would be blasphemy ;)

     
    nxrighthere and tomaszek like this.
  29. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    I'm thinking about picking this up for my game, But I was wondering if it can handle any sort of hue shifting at all? Currently I'm using this to handle all of my color changes, and since its a building game basically everything uses it :p

    https://www.assetstore.unity3d.com/en/#!/content/34248

    would something similar be Doable using the layer system in this? Each Object only has one changeable color so nothing fancy! Or even just a masking system so certain parts of the texture don't get colored

    Edit: Nevermind! the extra color controls in the secondary map does exactly that! thanks!
     
    Last edited: Feb 25, 2016
  30. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    Does the Uber 'Animated Emissive' include meta-pass that can be toggled (?) or does that need to be activated per object in script using DynamicGI.SetEmissive?
     
  31. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I'm handing meta-pass, but I'm not sure if it would be automatically grabbed, because material is not physically changed - it's shader effect, so might need to refresh frequently GI manually with DynamicGI.UpdateMaterials(), but to be honest - I haven't tried it yet.

    Tom
     
  32. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hi!

    Is there support for wetness or snow on the 2 blend vertex shader? and do you plan more vertex blend variants? They're awfully useful and still used widely in games.
     
  33. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    The only functionality we do not have for 2 layers variants is POM. Other parameters (like wetness coverage or snow coverage or ...) can be controlled by other 3 vertex color channels (configurable in shader #defines section)

    Tom
     
  34. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Thanks Tom, great stuff :)
     
  35. DotTeam

    DotTeam

    Joined:
    Feb 12, 2016
    Posts:
    196
    Hi Tom,

    Is there possibility to export shader made with UBER? So if other user has not UBER, shader still would work there.
     
  36. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I don't get your idea - would you like to redistribute UBER shaders (in any form) for other Unity3d users ? That would be strictly forbidden. You can, however, use UBER shaders in your final projects without restrictions.

    Tom
     
  37. DotTeam

    DotTeam

    Joined:
    Feb 12, 2016
    Posts:
    196
    Idea is to use material made with UBER shader
    in my own paid asset. For example Sci-Fi Heavy Station Kit base.
    Just final material is called ".shader", that is why i called it so.
     
  38. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Your kit uses materials. That's fine. If materials use UBER shader you would simply
    redistribute content from my package. Simply you're not allowed to do this. That's the point.

    EDIT:
    However if you would like to redistribute materials ALONE (without any content from my package) - you can do this. If you setup all parameters in material using UBER shader. Then remove shader and ask your users to install UBER and select right shader. That's fine. Take into account that any texture reference to UBER content (for example glitter/snow texture) will be broken. For users that has UBER - they will only need to select UBER shader on material you made and place in your package. For users that does not have UBER you need to prepare separate materials.

    Tom
     
    Last edited: Mar 3, 2016
  39. DotTeam

    DotTeam

    Joined:
    Feb 12, 2016
    Posts:
    196
    Well. I bought UBER shader. And not going to post it as a "demo". I would like to have materials made with it as one of main features of my paid Kit.
    To answer your question. As long as you buy my Kit or get voucher from me - you can use it in your package as "demo" or as full version, because it is yours.

    I am not going to "redistribute" your UBER.

    .shader file, which has all features of material,
    as i know is a tiny baked spark of UBER shader with no additional configuration.

    And my question was. That i bought UBER package. And how do i export .shader made with UBER.
     
  40. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    If I buy your Kit doesn't mean it is mine. It is not mine. Mine is only license to use it in my products (like games, presentations, etc.). In my AssetStore packages I can not use any part of your package without your permission.

    I still don't understand what you mean by "export shader" ?
     
  41. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    I think he means because he bought UBER and will use the shaders in his Scien Fi Level (UBER is added to Materials) if its possible to sell this Scien Fi Level on the Asset Store with your UBER Shaders included. So his level uses UBER Shader for everyone that is buying his Asset without having to buy UBER itself to make this possible.

    He wants not to include the whole UBER folder, editor scripts etc only the generated .shader File made by UBER if you add it to materials and play with options.

    So as I understand he is asking if the Level can be sold with the UBER styled look (thanks to the "exported shader file") but without any UBER functionalities like Editor Options / Functions / Scripts.
     
    Last edited: Mar 3, 2016
    DotTeam likes this.
  42. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    Doesn't matter how you slice it, including parts of UBER in your own package and giving an end user that functionality through reselling it as an included shader would be forbidden by the license on the product. UBER is just a package of shaders, so including one of those shaders in an asset is essentially making money on someone else's work. The recommendation is to do as @tomaszek recommended, or just make a demo scene in webgl or standalone that shows it using UBER and just show that it is compatible with it.
     
  43. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Let me quote a bit from an email response I gave to devCharge:

    "If your user can get your materials rendered by UBER shader, there is no way to prevent such users from using UBER shader without actually buying UBER. That's the point and that's not fair."

    How would you envision giving people shading solution without ... UBER shader ?

    Tom
     
    RonnyDance likes this.
  44. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    True and understandable answer tom.
    I just tried to translate his idea ;) For me your answer was always understandable and clear. I own UBER and RTP myself and I am a happy customer :)

    Cheers
    Ronny
     
  45. DotTeam

    DotTeam

    Joined:
    Feb 12, 2016
    Posts:
    196
    @tomaszek @RonnyDance @CaptainMurphy I was happy user of UBER and i think that UBER is simple yet Professional tool. But since it has not ability to export shader data - like Shader Forge does... UBER is just not for us.

    We at DotTeam are just few guys that can do assets. Not Presentations, not Games.
    Only modelling, mapping and texturing and other such basic things.

    We saw that some other developers at Asset Store on their assets had Custom Shaders made with Shader Forge, and we thought that we may have Custom Shaders for our assets too, but made with UBER instead.

    Because we are not really into nodes... we got an idea that Simple solution from UBER will do.
    Looks like it will do. But not for simple assets. Only for Presentations and Games.

    UBER is not for us. It is only 3 days after purchase but could we ask for refund? Because what is the point for not turning it in, as we do not gonna use it. It is just dust keeper at shelves of our library for $50.
     
    Last edited: Mar 3, 2016
  46. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It's kind of fatal misunderstanding of what UBER is in comparison to ShaderForge. ShaderForge is not a set of shaders. It's a tool that allow users to make their own shaders with visual editor. So users that otherwise would need to have in-depth shader knownledge, or at least basic coding kownledge, can make their own shaders. That's why some artistic content packages are equipped with shaders done by artists (smart artists) even if they can't code shaders classic way themselves. Recent Man. K4 packages is an example here. If a user make shader in ShaderForge he can do anything with such shader. Just because the shader he did is his intelectual property - he invented the shader - ShaderForge can't make production ready shaders for users (by guessing what kind of shader user need).

    The same way we can exploit our games using Unity (which is tool to make games, not a game itself). The same way I can use MS VisualStudio to make an app.

    UBER is set of ready made shaders (BTW that are unlikely possible to be done in SF, because they are pretty complex and packed with a lot of features - that's why it's named UBER shader). It's like you would cross the line buying stock images and place them in your package on AssetStore. But you're pretty much allowed to use your camera and do anything you want with photos taken by you. So - by analogy - ShaderForge is your photocamera while UBER is set of hi-quality pictures which you are not allowed to redistribute reselling them as "photo collection".

    Anyway - I won't add any additional info for UBER product page. It would look a bit naive. Show me another shader package on AssetStore that allows for redistribution of its shaders in your package. Alloy ? Skyshop ? AdvancedSurfaceShaders ? AdvancedFoliageShaders ? WinterSuite ? CarPaintShader ?

    Regards, Tom

    P.S. It's not about I'm clinging to these $50 that hard. Give me your UBER order number and purchase date in private and I can ask Unity for refund on your behalf. Still I'm simply amazed how could UBER shaders package might be mistaken with ShaderForge concepts.
     
    Deleted User likes this.
  47. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Same, he has no real understanding of game development if he confuses the two. I wonder if he should be doing assets at all for this market. Anyway, no fault of Tom here. Nothing is misleading.
     
  48. DotTeam

    DotTeam

    Joined:
    Feb 12, 2016
    Posts:
    196
    @tomaszek Well i am here just asking things. And answer to users as DotTeam support. Sure thing i may not understand something and something important too.
    But i am not the one from DotTeam who makes decision what to put in package and what not. For legal things there are other member of DotTeam.

    So i was asking, if we could Export shader. Answer is no. Ok. I will say that to him.

    Again, we are small team and all doing our part. My task is to ask and to answer. Before asking i may not consult about how that looks from license side. So please do not look at me hard. What i get as answer i then send as info to my team. And they think about good things.

    As for the refund. Well if nothing is misleading that is ok. No fault of Tom? That is ok too.

    Thing is i saying that buying UBER was our fault not Tom's misleading. I was writing modifed version of post right before Tom has answered.
     
  49. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    Perhaps this question is totally stupid but I am wondering anyway:
    I did not try it until now and I think I read that it should not be possible, but is there a way to use dynamic snow effect of UBER on moving Objects like characters? I am asking because lets say I am using Morph3d Characters in a World where I use RTP for Terrains and UBER for objects / meshes. The world is using Dynamic Snow and Rain of RTP and for Objects I am using the same with UBER. Let's imagine it's snowing. Is there a way to get my moving character or animals with the snow shader of Uber in this terrain? Like snow affecting everyhting terrain, objects and also moving objects in this world.

    Just wondering because this would make a cold snowy world really realistic.
    Thanks
    Ronny
     
    Last edited: Mar 4, 2016
  50. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It might be a problem of snow mapping in world vs. local space. When snow is mapped in world space and your object covered is moving you'll see strange effect. You can, however, try to experiment with 2 layer shader and manually decide where to place 2nd layer that in your case would be setup to resemble snow as close as possible.

    Tom