Search Unity

UBER - Standard Shader Ultra

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

  1. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    well I can imagine corners version is situational but could save a few million polys :)
     
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    You probably refer to post FX which is SE bloom with dirty lenses. Translucency is when you look thru the object against the light. Try exe standalone rather than webplayer. Translucency should be more pronouced on point light (actually it's turned off in web player).

    3) I'll check this out.

    4) I put strong scatter factor so it look like rim light. You can adjust it. Take a look at standalone demo build and ice block example.

    It should be used in linear I'd say. In gama it also works but doesn't look that good. Anyway - demos are produced in linear.

    Tom
     
  3. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Translucency map and occlusion map (they are used together on different shannels of occlusion texture) are baked in Xnormal. Upgrade to newest xnormal to have translucency map available at the bottom of the map list. There is button "texture channel mixer" at the top of my material inspector - use it to merge textures (ao with translucency). You can configure a lot of things in UBER. texture channels that are used and vertex color channels used for anything. Like - detail coverage (default - red channel). Snow (g), water ripples (b), water coverga (a). Ambient occlusioncand a lot of more parameters can can be controlled via vertex colors. Look at the beginning of the sahder code - there is config section. Also UBER configuration .cginc file is at the same place where shaders are. Look inside and adjust things or simply look there to figure out how it's mapped. (params vs. vertex colors).

    Tom
     
    overthere likes this.
  4. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Which Unity version do you use ? I submited this from U5.1.1, but 5.1.0 should also work. HDR color picker has been introduced in 5.1 I believe.

    Tom
     
  5. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I've also saw it. To make a build of the example scene I needed 25GB allocated in my system... But it's not question for me probably. I'm just humble shader coder. But seriously - I've got no idea. Maybe there are so many shaders with so many variants that Unity keeps track on some how ? Ask Unity. Meantime you could try to delete variants that you won't use - for example if you'd like to stick to specular setup - remove metallic ones, and the opposite. Of course - removing specular shaders will break example scene, but we're talking about your project now. Then you could see if things get better with your RAM needed.

    Tom
     
  6. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    I was more thinking that it might be a planned feature for this package, too. Then again, it should be enough to use the hue-shift for characters and use this pack to create some eye candy for environmental props.
     
  7. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Thanks for the xnormal tip! I use it all the time to get my mesh normal maps, didnt realize there was a new version.
     
  8. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    xNormal has been doing transmittance maps for some time, i feel bad cause i recommended Tom to get Knald without considering the fact it relies on gpu compute (OpenCL) to be so quick, but if you have a decent GPU the latest version of knald will give you mesh AO and transmittance maps in a few seconds, along with the other maps it can create from a colour or normal map (height, normal, derivative, ao, cavity, convexity), and now has a full blown baker for high/low poly mesh map creation for every main need i can think of except curvature (that springs to mind right now, theyre adding support for other map types as the 1.1 beta continues).

    Worth a look, i consider transmittance maps as natural a part of my workflow as normal, height or ao maps and xNormal is rather slow and has a clumsy interface so i do suggest investigating Knald. Substance Designer has a good baker but no transmittance map support and i'm seeing that method of translucency becoming ubiquitous as it's so pretty for so cheap, plus the interface isnt nearly as focussed as Knald
     
  9. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Checking knald out today! Yeah xnormal is slowwww but works well and is free :)
    thanks!
     
  10. LudiKha

    LudiKha

    Joined:
    Feb 15, 2014
    Posts:
    140
    I get a significant spike in RAM usage as soon as I import Uber into any one project. RAM usage in the editor generally goes from ~200MB RAM to 3,3 - 4GB RAM. I suppose this isn't how it is supposed to behave?
     
  11. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    After importing the package editor ram usage went to around 6 gb for me. Restarting the editor after the import though brought back down the ram usage to normal levels, so i guess there is nothing to worry about there ;)
    Btw i bought the package also to support Toms great work, thanx for the option to upgrade if we had rtp!

    Edit: In an empty scene changing a simple material to Uber-Core increases ram usage momentarily to over 2 gb until the material ui is loaded.hmm is it supposed to work that way?
     
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It's probably because UBER has very many variants. I can't tell how Unity internally handles it. I'm sure they don't compile every variant, but they manage it somehow anyway. Maybe we should ask Unity about it.
    In editor it might be a pain. But in build I saw it has no impact at all.
    Tom
     
  13. DennG

    DennG

    Joined:
    Dec 5, 2013
    Posts:
    158
    Awesome!
    I'd like to see a comparison between UBER and Alloy...
     
  14. knotFF

    knotFF

    Joined:
    Apr 13, 2013
    Posts:
    66
    Two things:
    Does it work with Substances?
    The documentation appears to be empty. I would like to have a look through before purchasing it.
     
    nuverian likes this.
  15. ArchVizPRO

    ArchVizPRO

    Joined:
    Apr 27, 2014
    Posts:
    457
    I can't belive my eyes !
    That's incredible! Tomasz you surpass yourself !
    I am wondering about what i can do now !
    Thanks!
     
    Last edited: Jun 26, 2015
  16. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    Immediately bought!!!
    And for all RTP customers, UberShader it is for only 25$ dollars
     
  17. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Bought and tried... really nice work!!
    I did notice a possible bug with presets.
    i loaded the included preset and created a few. When i restarted unity, they were gone from the list. Also, is there a way to create a preset and have an apply button that keeps the textures and existing shader settings intact (tiling...).

    Loooove this asset, thanks!
     
  18. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    I think I found a bug.

    I've added snow and water to some of my game objects. I set these values using the Uber Global Params along with my weather script. I've not fully implemented show in my weather yet so I just set GlobalSnowLevel = 0f; at the start.

    In the editor rain/waterlevel works and there's no snow however when I build my game, there's always snow on the objects. I'm not really sure why it would be different but it is. Any ideas please?
     
  19. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,362
    I get an upgrade option in the page, what is this ?

    Have i bought something and i can upgrade from ? It does not say what it is an upgrade from

    Thanks
     
  20. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,304
    Did you buy RTP?

     
  21. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,362
    Yes, so that is an upgrade from that ? That would be cool :)

    Will i still be able to download RTP as well ?
     
  22. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It's lighting part of the shading pipeline which is on Unity side. I mean - I enlarged features that are are more or less BRDF/GI independent (exception is translucency). You could try to use anchor override functionality per object - in your case - the building. When you're inside - set it to the reflection probe that's put inside. When tyou're outside - override it with outdoor version.

    Tom
     
  23. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Ear in the example is build on substance material. I can put additional textures that are not dynamic, but the answer is YES - get substance, change shader for the material to uber, and you're on. Inspector of UBER is present out of the box.

    Tom
     
  24. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I believe you can surpass yourself with this toy. When you could make such impressive demos without it :).
     
  25. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I'll triple check this. Preset are supposed to be stored permanently in .asset file. Maybe you need to save your scene before leaving Unity ? I need to check when exactly my scritbale object represented as .asset object in project folder get updated and saved to the disk when we deal with changes on the inspector level of UBER material.

    Currently you can restore whole state (like whole material with shader and all settings) or select a feature to be restored separately - like water settings only, so you can move water parameters from one material to the other.

    Tom
     
  26. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Maybe function taht sets global shader parameters is not called on the start of the build. Check this and call it in case I've overlooked this.

    Tom
     
  27. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    RTP users get UBE for $25. RSP users for $1. When you got both of them - $1 applies.

    Upgrade is upgrade. You still have access to RTP. The license won't get invalid.
    Treat it as kind of "bundle", but working one direction. First buy RTP, then you get UBER for $25. So you've got them both for $45+$25. $70 bundle price for both which I believe is very attractive.

    It's how AssetStore works - it currently doesn't show you what's the base product for upgrade. maybe because Unity considered this feature to be used for Lite - > Full version. For example RTP Lite to RTP full. I just used the functionality to make %50off promo for RTP users.

    Tom
     
    Veljo_Hagu and Dreamaster like this.
  28. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,362
    Very cool news :), thanks.

    This new pack is really lovely

    BTW, what is the RSP pack i see mentioned ? I only know of RTP

    Also how long do you plan to keep the lower price offer active ?
     
  29. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572

    Yes it does. I tested mine with it and it supports both Substance workflows. UBER Metallic shown below.

    Vol2_UBER.jpg
     
    Last edited: Jun 27, 2015
    KRGraphics and tomaszek like this.
  30. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    The lower price upgrade will be hold as long as RTP is for %50 of its regular price. I'm keeping it for $45 instead of $90 for some time, but maybe I'll be back to $90 or adjust it at some inbetween level like $60-70. UBER is meant to be %50 off for RTP users. So is RTP will be $70, Uber will be for $35 I think. Maybe I'll adjust price for UBER as well (rather up than down) because of possible improvements I plan to introduce.

    Tom
     
  31. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Could you give us close-up screenshot with POM ? I'm really curious about details that can be get using this.

    Tom
     
  32. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    Oh wow, this looks bloody great. I prefer to use Jove, but this package definitely has tons of potential uses in projects where I can't use Jove for various reasons (e.g. when traditional Camera is required etc.) Having more options with the Standard shader is a tempting proposition. Great discount for RTP owners too!

    Having an issue downloading and importing it, though. First, the downloads tab of the Asset Store is stuck at 8% no matter how long you wait, across multiple restarts of the Editor. Not sure what's up with that, maybe it's an Asset Store bug linked to the Upgrade feature you have used - e.g. maybe asset store is using old RTP package size vs. the size of downloaded package to calculate the percentage, thus never breaking low percentage points. Might very well be that because Import button is active and seems to show complete set of files.

    Second issue is out of memory crashes on import attempt. I haven't had luck importing the asset yet, unfortunately. Trying restarting the process a few times at the moment.

    Edit: Yep, something is definitely very weird with shader import in the latest version of Unity. Restarting the import from 64-bit editor worked, thankfully (with a 6-7Gb usage spike).

    Edit 2: Unfortunately, the spikes aren't there just for initial import - switching to a new shader for the first time can make the 32-bit editor crash too (requested memory in the crash report was at insane 10Gb, I think - just after loading the scene with one object/one shader, and switching that object to another triplanar shader). I'll have to hop onto 64-bit editor releases until this is fixed on Unity side I guess.
     
    Last edited: Jun 27, 2015
  33. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    Found a potential issue: Dynamic Snow and Glitter are not applied correctly without Secondary Normal Map being filled with something (most noticeable is absence of dissolve masking, for example). Stumbled upon it while trying out the values and reproducing the Hebe material.

    Also, is diffuse scattering/snow actually respecting the conservation of energy like other parts? I'm able to produce some very extreme highlights that don't match the incoming light. If that's intended to allow the stylistic freedom, it's all right, but if possible, it would be nice to have a tooltip or a color-coded highlights (GUILayout.Box or something) under slider areas showing the range of values that actually are physically correct.

    By the way, nice texture channel mixer tool you have there, it's a great little bonus that can be useful for many artists.
     
    Last edited: Jun 27, 2015
  34. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Update:
    i removed the uber folder from my project and i built fine in 15 minutes. With Uber installed, it was near 45min (i cancelled) stuck on building scene 0 . I gave to reboot after, windows is wrecked. Its using over 6gb of Ram...Guess i will uninstall for now...im on Unity 5.1.1p2
    ------------------------------
    Anyone else seeing consistently much longer build times? Mine is dramatically longer...
    thanks
     
    Last edited: Jun 28, 2015
  35. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572
    Hi Tom,
    Below are close ups using POM. I also decided to try out one of my Panels containing glass and emissive for you.

    Vol2_UBER02.jpg Vol2_UBER04.jpg Vol2_UBER03.jpg
     
    Last edited: Jun 28, 2015
  36. Red Spark

    Red Spark

    Joined:
    Jun 7, 2014
    Posts:
    13
    Awesome demo!
    I have a question regarding lightmaps though. Does POM with Z-write work well with lightmap or any other UV2 textures? And in particular, when rendering crisp static shadows, will Enlighten take that Z-write into account?
     
    Last edited: Jun 28, 2015
  37. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Looks like you wrapped the update function to make it editor only:

    Code (CSharp):
    1. #if UNITY_EDITOR
    2.     void Update()
    3.     {
    4.         SetupIt();
    5.     }
    6.     #endif
    Would performance take a beating if it was updating in the build? I'll try it out anyways
     
  38. radimoto

    radimoto

    Joined:
    Aug 23, 2012
    Posts:
    257
    Hi Tom, I just purchased Uber and I'm trying to test it out on Mac OS X 10.10.3, using Unity 5.1.1p2. I managed to import and open the Examples scene once but it locked up during one of the demos. When I try to open the Examples scene unity locks up completely with the following errors in the editor log:

    Load scene 'Assets/UBER/_Examples/Examples.unity' time: 3949.552734 ms

    GLSL shader load error (stage 1 shader 55):
    ERROR: 0:444: Types 'vec3' and 'float' in conditional operator do not match (and no applicable implicit type conversion)


    (Filename: /Users/builduser/buildslave/unity/build/Runtime/GfxDevice/opengl/Compiler.cpp Line: 63)

    GLSL shader load error (stage 1 shader 55)
    ERROR: 0:444: Types 'vec3' and 'float' in conditional operator do not match (and no applicable implicit type conversion)

    this continues many times until the following:

    Receiving unhandled NULL exception

    Launching bug reporter
    Obtained 8 stack frames.

    EDIT 1 - I tried re-importing and noticed the following shader error on import:

    Shader error in 'UBER - Specular Setup/ POM Extrusion Map': 'bumpTexValRegular' : undeclared identifier at Assets/UBER/Shaders/UBER_StandardInput.cginc(682) (on opengl)

    Compiling Vertex program with DIRECTIONAL SHADOWS_OFF _WETNESS_NONE _SNOW _NORMALMAP _SPECGLOSSMAP _POM_EXTRUSION_MAP_ZWRITE
     
    Last edited: Jun 28, 2015
  39. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I've noticed RAM spike but didn't related it to any missing normalmaps. I though that Unity just "need that much RAM" in case shader with that many variants appear. Although I can't tell what actually need that much RAM. So - it looks like some Unity behaviour related to shader which is obviously not intended. UBER itself doesn't allocate that much RAM I believe. Eventually I will double check texture importers. Maybe they produce such effect (but where is GC behavior I'm just asking ?). Could you provide me with more info about your RAM tests ? How could I check the behaiour and what worked for you in terms of better RAM management ? I would appreciate a lot tests and help from users in this field. Would save me a lot of precious time to focus on improving my package further.

    Tom
     
  40. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    With setting 4 global variables it's not that much problem, but maybe call this function only when your params actually change in cosiderable range. Like - if wetness change by 0.000001 it makes no sense to call SetupIt(), if it changes like delta is 0.01 - call it.

    Tom
     
  41. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    My example scene built in several minutes (hi end i7) with 25GB RAM consumption (had to increase swap file on my SSD drive because my 16GB physical RAM was not enough and it crashed !), and yes it is insane. I'd really love to know what's going on out there... When it's built it's fine - projector takes sensible amout of RAM (was around 300MB).

    Tom
     
  42. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Z-write is only taken into account for realtime lighting. For enlighten - special meta pass is called which doesn't take into account POM effects. For realtime GI it's pretty enough. For hi-res baked lightmap - POM will still work. There are switches in shader that allow you to use direction of light from olightmap - for these best ones - separate specular directionals. With z-write however - POM displaced features won't cast/receive self shadows because there are no real lights that cast shadows out there. W/o z write POM self-shadowing can still work - shader can take most dominant light direction and use it as direction of light therefore computing self shadows. For example you've got a surface with very tiny features with POM. In realtime self-shadows can be of very high resolution (when you heightmap is high res). In lightmapped environment you can still have the same crip self-shadows from sinlge screw on your hi-tec texture seen even if there is no realtime light in the scene. Of course - it costs the same calculation like for single realtime light. The difference is that the self-shadows are not baked (would require insane amount of RAM for textures) but computed realtime.

    The conclusion is - UBER can be used with lightmapped scenarios quite well to the reasonable extents mentioned. Z-write still works (we see intersections with objects), but lightmapper doesn't work on POM level, but the original geometry level.

    Tom
     
  43. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Nice - have you tried with self-shadowing ? On my example scene - the cube with animated lights - I used this and it can add a lot of depth when all these small features like crews, bumps produce crispy shadows on the surface.

    Tom
     
    hopeful likes this.
  44. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Hi,

    I'm fighting with openGL currently. That's why I put the statement on the product page that it's currently on testing stage for openGL. I'm sure it will work on openGL desktop as soon as... The problem is I'm on PC and in force eopngl mode my U5.1.1 just crash on empty project (no UBER). This make my life even harder... Your feddback is very valuable because it at least give me some direction. Could you contact me PM ? I'd like to have output code - with errors, but you could give me the line in resultant GLSL code which I can match with the source shader code (which is then transplated into GLSL by Unity). Then I could squash bugs and inconsistences quite fast and make it working for Macs. So - any help from Mac OSX users is really welcome here.

    Will check carefully your variant and check if I can find the bug.

    Tom
     
  45. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    To clarify, my second post about snow/glitter that you are quoting is completely unrelated to RAM issues and happens in the 64-bit editor where I got the asset imported and working correctly. I realize that the RAM issue must be on Unity side and already created the bug report right from the crash window.

    So I'm mostly asking whether snow (with edge masking and such) and glitter being missing until a material receives a secondary normal map is a bug or an intended behaviour; and about snow adhering to conversation of energy as it's capable of producing some very extreme highlights. I don't think those things are side effects of the RAM issue or are related to it in any way, so don't worry about that :)
     
    Last edited: Jun 28, 2015
  46. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Any ideas about builds being triple the amount of export time with Uber?
     
  47. ArsKvsh

    ArsKvsh

    Joined:
    Dec 13, 2014
    Posts:
    17
    Unusable at all because of memory leaks. Overflows all my RAM when importing and causes crashes of Unity. Waiting for fix. Hope you will solve that problem.
     
  48. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    Same here, my import took 45 min after crashing the first time. Then unity is very unstable, even requiring full pc reboots.
     
  49. ArsKvsh

    ArsKvsh

    Joined:
    Dec 13, 2014
    Posts:
    17
    I suspect that it could be Unity bug. I doubt very much that ordinary shader (shaders couple) can cause so unordinary issues. So let's wait when Tomasz will find where is the problem.
     
  50. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    @Tom - Thanks so much for this new shader package, this is an amazing product and one we are looking forward to playing around with. Just amazing looking and great set of features. We currently use your RTP pack for our smooth voxel terrains (we use TerrainEngine by Dyox) and Alloy for almost everything else. Now, with your new shader package we will have everything else we would ever need, and can compare against Alloy to see what package we like better for certain features. It looks like they both have their strengths for sure! :) Anyway, thanks again, great job!
     
    DennG likes this.