Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UBER - Standard Shader Ultra

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

  1. Radius

    Radius

    Joined:
    May 11, 2013
    Posts:
    51
    Same issue here after upgrading to unity 5.4, anything using UBER is bright pink. I'm also only using metallic core no normal map for everything as well as 2 sided with the same settings. I imagine you just need time to update I'll leave them pink for a while.
     
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Unity changed implementation in its core files. I'm right in the middle of syncing them up to UBER. Will post udpate for U5.4 soon.

    I aws looking at Texture2DArray implementation. It's probably GPU wise, but we can't simply make an "array" that will store references to textures in project (to reuse them in any combination). Texture array is simply kind of packed object which we need to feed from the script (workflow for them is not yet available in Unity). They can solve texture sampler limit problems, but every array will take sum of all textures RAM. If we have 2 texture arrays that differ with one texture inside we need to pay cost of GPU RAM storage for both arrays.

    Tom
     
  3. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
    Upgrade question.

    I use RTP, but I see this : Upgrade price from Relief Terrain Pack v3.3 3.3c is €26.80.

    Is this a replacement for RTP please ?

    I mean can I do everything I did with RTP and Terrain Composer with this ?

    Then on the RTP page it says :

    Upgrade price from UBER - Standard Shader Ultra 1.1b is €37.52.

    I don't understand, they both seem to be upgrading from each other...

    Thanks.
     
  4. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    @tomaszek - can't wait buddy! I freaking love UBER, I mean I love the Standard Shader unity provides, but ehhh. I love Uber. uber is the cheap deal for amazing shaders.

    So as soon as you get it working in 5.4 (PLEASE TAG ME) in the post so I can know when you have an update done buddy.

    Alrighty, take care brother.
     
  5. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    UBER 1.1b for Unity5.4.0b10 is available via my updater:

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

    Tried my make instancing working. Hope it is, but actually can't test it without native DX12 environment (Win10)

    Tom
     
    Tethys, docsavage and Arganth like this.
  6. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
    Tom, could you please clarify my upgrade question above ? Thank you.
     
  7. Bagnol

    Bagnol

    Joined:
    Sep 5, 2013
    Posts:
    169
    @Freddy888 I *believe* it's a "loyalty discount" of sorts. Purchasing one gives you a discount on the other. UBER works great on your meshes, while RTP works great on your terrains - then if you have both, they work great together (with things like blending meshes to the terrain).
     
    Tethys and Freddy888 like this.
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Instancing is DX11 I thought?
     
  9. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
    @Bagnol

    Oh ok, I see, that makes sense.

    Is there a skin shader in Uber or can I use it to make one ?

    Uber works for the Indie version of Unity too yes ?

    Many thanks :)
     
  10. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Part of the demo is a scene showing translucency on a human ear model. If that will work for you as a skin shader, you can use that.

    So far as I know, if you're using Unity 5 there's no longer any features that work only in Pro. The indie version does everything.
     
    Freddy888 likes this.
  11. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    OK, I wish I never post this... :oops:

    Now I did my homework...

    I can't even tell why have I thought instancing is DX12. Simply I never used this nor read papers on it. I was always DX9 focused (which can do tricks of dynamically batched objects in smart vertex shader as well).

    To confess - I simply downloaded U5.4.0b10 built-in shaders. Looked into all included files (like UnityStandardCore.cginc). Found someplaces with "INSTANCING". Injected the same in my code. Shader compiled w/o errors so I was happy :). But - of course - it is NOT working instancing. However, when I created new "surface standard shader (instancing)" and analysed generated code I found Unity StandardShader has only part of code placed, so it's under construction. I can try to make instacing working in UBER, but I'm wondering how you would use it without declaring which properties are actually instanced. Without instancing properties buffer users will be able to make only clones of UBER shaded objects with different transforms applied. That would benefit from instancing (like it apparently does looking at saved by batching count when I test this instanced surface shader).

    More fancy instancing (like every object has different color or apperance thru instanced properties) seems to be usable only by scripting now.

    Anyway - UBER1.1b for Unity5.4.0b10 is available from my server and it compiles w/o erros. I guess it should just work now.

    Tom
     
    hippocoder likes this.
  13. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hahahah :D nice. Also, I figure Unity is rolling it out to mobile and console shortly (and mac) so it should cover all your customers :)

    Not sure anyone really has DX9 card any more. Some do I guess, but not important as it's 2 versions old now...
     
    Tethys likes this.
  14. Radius

    Radius

    Joined:
    May 11, 2013
    Posts:
    51
    Thank you for this update, however I am getting a message the file is corrupt when trying to unzip/install.
     
  15. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    upon importing the new version of UBER i get

    This custom render path shader needs to have at least 2 passes.
    UnityEditor.DockArea:OnGUI()

    and meshes are pink


    had no problems with the last version
     
  16. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    You need to make sure all your zips are taken. Sometimes server breaks in the middle they should be of 30mb (one 28mb).

    Weird. I installed the package on fresh project on Unity5.4.0b10 and it shown no problems. I can try doing it again.

    Tom
     
  17. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    tried it again
    this time on an emtpy project

    it only happens once I change
    the shader to internal uber in the graphics tab
     
  18. Radius

    Radius

    Joined:
    May 11, 2013
    Posts:
    51
    Hi Thank you for the quick update, I did get everything installed, however no change, everything pink still, did not fix my issues after full restart etc etc. I tried going back to standard shader temporarily but realized i'm using UBER for about 70% of my work so. If I can help by sending any more details let me know.
     
  19. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Hmmm, everything ? Maybe sime variants that are not used in example scene don't compile so that's why I'm not aware about the issue. Tell me exactly what shader do you use and with set of features turned on. Preferably screenshot of UBEr inspector (some features are set basing on textures present or absent in their inspector slots). Can you give me Unity output on pink shader ? What kind of error it reports ?

    Tom
     
  20. Freddy888

    Freddy888

    Joined:
    Sep 13, 2014
    Posts:
    165
    Is there any way I can make distant textures look more bumpy and rough rather than smooth and flat ?
     
  21. Radius

    Radius

    Joined:
    May 11, 2013
    Posts:
    51
    Hi all fixed now, everything seems to be working. I did a clean install and all good with the update you provided. thanks for the help. Must have just got into a strange state somehow.
     
  22. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
  23. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It doesn't break for me, but UBER deferred params (like translucency) are not passed anymore. Seems like U5.4.0b10 has broken CommandBuffer.Blit() implementation. Fortunately I found workaround, so if they won't fix it we will be able to live with it anyway... (filled bugreport and posted on U5.4 beta forum).

    Tom
     
  24. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    for F***s sake ^^
    it was my mistake

    downloaded unity 5.4 beta but something during install must have gone wrong
    or not finished and so the your new uber version did not work

    installed 5.4 again and now it works flawlessly.... :)
     
  25. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    The bug I've mentioned in post above Unity reported back to me as fixed in next release (b11).

    Tom
     
    hopeful likes this.
  26. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    Still experimenting with the shader suite, but this is some really impressive stuff.

    For the Refraction shader, I noticed that it is not possible to create recursive refractions (see Screenshot 1), wherein the 'bubble' and embedded cube are both using the Uber refraction shader. In addition, there are issues with incomplete shadows for embedded objects using the standard shader (see Screenshot 2), wherein the embedded cube is not receving shadow information on occluded faces. This, of course, is not the case for Unlit shaders (see Screenshot 3). I assume this is a limitation of the forward rendering path and not the shader? Or, perhaps its something else I've missed?

    For the POM Advanced shader, I did not realize from the demo that the effect is dependent on a mesh filter with constant curvature, e.g. cylinders. Thus, we cannot expect the effect to work correctly for geometry with zero curvature, e.g. cube (?)

    Screenshot (231).png Screenshot (229).png Screenshot (230).png
     
    Last edited: Mar 24, 2016
  27. Fabelwesen

    Fabelwesen

    Joined:
    Aug 14, 2014
    Posts:
    9
    Hey Tom. Sorry to be a pain!
    I'm pretty new to using external shaders with Unity but have poked around a little to try and get started. I made a fresh project (Unity 5.3.4f1) and installed only UBER from the asset store and ran the example scene. The project is targeting windows only. But I have the same kind of garbled look like RickyX had a few pages back and I can't seem to understand why. Here's an example of the candle and the carpaint and dissolve:

    https://www.dropbox.com/s/532h10ejs1s5rk1/UberCandle.png?dl=0
    https://www.dropbox.com/s/cpre4c28nxuobpc/UberCarpaintAndDissolve.png?dl=0

    I can't make it look like the showcase you've posted. I don't think it's a matter of graphics card either since I feel my 970 should handle this well enough. Hopefully you can help :/
     
  28. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    The bug I've mentioned in post above Unity reported back to me as fixed in next release (b11).

    Tom
    Refractions are limited to what is exposed by Unity's grab pass color buffer. Objects are supposed to be sorted back to front, so theoretically the farthest object should be draw first, then close one and so on. Subsequent objects should get color buffer affected (refracted) by previous objects (that which are farther away). If it doesn't work - it's hard to tell why, anyway with my implenetation of refractive materials I'm following common guidelines.

    POM Advanced is is supposed to work on curved objects, For POM on cubes you can use regular UBER (Core) shader. How would you imagine resolving corners out there ? For example torus and box with rounded corners it might work with UBER, but it is realy limited when it comes to arbitrary meshes.

    You setup HDR (disabling MSAA). Use linear. For what you see on my showcase I used SE NaturalBloom post fx. Surely I can't include such 3rd party goodies in my package.

    Tom
     
  29. Fabelwesen

    Fabelwesen

    Joined:
    Aug 14, 2014
    Posts:
    9
    This happens in your packaged Example scene as well which I assumed would be set up right. I've turned off all AA the only way I know how to (please forgive me if I'm wrong! I can't find any info on this at all via google), going to Edit>Project>Quality and setting AA to Disabled. Please do correct me if this is not how you do it :eek:.
     
  30. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It seems your screenshots are in linear (Edit/Project Settings/Player). I don't really get what's wrong with the screenshots you gave me. If you would use SE natural bloom post fx + some tonemapping you will get exactly the same results as I've got in my showcase.

    Tom
     
  31. Fabelwesen

    Fabelwesen

    Joined:
    Aug 14, 2014
    Posts:
    9
    I think this was a combination of me needing to reboot for some reason, since the results now look as expected o_O. Sorry about the confusion.
     
  32. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    714
    How could I optimise the number of keywords used by Uber shaders? I mean, are these really necessary

    _PARALLAXMAP
    _PARALLAXMAP_2MAPS
    _PARALLAX_POM
    _PARALLAX_POM_SHADOWS
    _PARALLAX_POM_ZWRITE

    And all of these:

    _WETNESS_DROPLETS
    _WETNESS_FULL
    _WETNESS_NONE
    _WETNESS_RIPPLES
    _WETNESS_SIMPLE

    Is there a preferred method to reduce the number of keyword used in the projet?
     
  33. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    As far as I experienced keywords counts as soon as they are actually set in any material used in project. If you remove all example materials from UBER and don't use that many different features my example scene does you've got more freedom. So - when you don't use any water effects only one keywords should be used and count in project (_WETNESS_NONE).

    When you're short on keywords (which is typical case when a lot of packages are installed) you can always disable automatic keyword handling. Simply make a copy of a shader. Replace #pragma shader_feature or #pragma shader_multicompile with #define _SELECTED_KEYWORD 1

    In my shader GUI inspector script (look at Editor sudfolder of UBER) disable code that in material sets selected keywords - those which you "hardcoded" for selected shader. For material in Unity inspector go to "debug mode view" (instead of Normal) - look at top right icon for contex menu, google for this. In debug mode you can see keywords used in materials - then you can manually remove them. Hardcoding keywords in shaders is not enough - shader will work, but keywords that have been once set in material stay there forever... (until you remove them).

    Tom

    P.S. In the game project I'm currently working on it's also the case - we had to hardcode most of ToD and SCION keywords, then cleanup project, material by material (we made editor tool for this). Still keyword problem arises from time to time - then we need to squeeze dynamic features available again... That's the Unity's keyword pain in neck.
     
    Tethys likes this.
  34. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    Hi Tom, will this be supported on PS4 at some point, or not?
     
  35. FreakForFreedom

    FreakForFreedom

    Joined:
    Jan 22, 2013
    Posts:
    156
    So, I'm on b12 and everything is working fine so far... but I can't seem to be able to change the translucency setups through the deferred params script... changing the values just doesn't do anything (but the translucency shader is working fine otherwise). Anyone else experiencing this?
     
  36. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Is it not supported on PS4 ? Tried to follow how Unity made their StandardShader (in fact UBEr is StandardShader massively tweaked and pumped with new features). If StandardShader works on PS4 I believe UBEr is supposed to work as well, but with additional code I've added I can't be 100% sure. I don't have PS4 developer kit to check it...

    I posted a bug, but Unity reported me it's already fixed in newest beta. Apparently it is not... But I've got workaround for this. DL version from my server. Then open UBER_DeferredParams.cs

    find this:
    Code (csharp):
    1.  
    2.   combufPreLight = new CommandBuffer();
    3.   combufPreLight.name="UBERPropsPrelight";
    4.   combufPreLight.GetTemporaryRT(propsBufferID, -1, -1, 0, FilterMode.Point, RenderTextureFormat.RHalf);
    5.   combufPreLight.Blit(BuiltinRenderTextureType.CameraTarget, propsBufferID, CopyPropsMat);
    and add a line so it will look like this:

    Code (csharp):
    1.  
    2.   combufPreLight = new CommandBuffer();
    3.   combufPreLight.name="UBERPropsPrelight";
    4.   combufPreLight.GetTemporaryRT(propsBufferID, -1, -1, 0, FilterMode.Point, RenderTextureFormat.RHalf);
    5.   combufPreLight.SetGlobalTexture("UBER_MainTexFix", BuiltinRenderTextureType.CameraTarget);
    6.   combufPreLight.Blit(BuiltinRenderTextureType.CameraTarget, propsBufferID, CopyPropsMat);
    then tweak UBER_CopyPropsTexture.shader

    Code (csharp):
    1.  
    2. Shader "Hidden/UBER_CopyPropsTexture" {
    3.  
    4.    Properties {
    5.      _MainTex ("", 2D) = "white" {} // gbuffer3 (light/emission buffer)
    6.    }
    7.  
    8.    CGINCLUDE
    9.  
    10.    #include "UnityCG.cginc"
    11.  
    12.    struct v2f {
    13.      float4 pos : SV_POSITION;
    14.      float2 uv : TEXCOORD0;
    15.    };
    16.  
    17.    sampler2D _MainTex;
    18.    sampler2D UBER_MainTexFix;
    19.  
    20.    v2f vert( appdata_img v )
    21.    {
    22.      v2f o;
    23.      o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
    24.      o.uv = v.texcoord.xy;
    25.      return o;
    26.    }
    27.  
    28.    // simply copy this for further usage
    29.    half4 frag(v2f i) : SV_Target
    30.    {
    31.      //return tex2D(_MainTex, i.uv).a;
    32.      return tex2D(UBER_MainTexFix, i.uv).a;
    33.    }
    34.  
    35.    ENDCG
    36.  
    37. Subshader {
    38. Pass {
    39.     ZTest Always Cull Off ZWrite Off
    40.  
    41.   CGPROGRAM
    42.   #pragma vertex vert
    43.   #pragma fragment frag
    44.   ENDCG
    45.   }
    46. }
    47.  
    48. Fallback off
    49.  
    50. } // shader
    51.  
    52.  
    Tom
     
    FreakForFreedom likes this.
  37. Pecek

    Pecek

    Joined:
    May 27, 2013
    Posts:
    187
    Has anyone managed to use detail maps with the GeomBlend shader? I'm following the RTP docs and as soon as I change the materials to GeomBlend\Core the detail maps aren't showing up anymore(they are set in the inspector ofc).

    Also this is more of a RTP question, but for some reason I can't set the underlying mesh to static(well, I can, but not lightmap static), is this expected behavior? If so, why?
     
  38. FreakForFreedom

    FreakForFreedom

    Joined:
    Jan 22, 2013
    Posts:
    156
    Works like a charm! Thank you very much :)
     
  39. The_Hylden

    The_Hylden

    Joined:
    Apr 11, 2016
    Posts:
    3
    Hello, I just purchased this and I have some minor issues (which I am sure probably were already covered somewhere through the thread, or documentation). I'm using it with 5.40b.13 in forward lighting, no antialiasing, linear color space with HDR enabled.

    First is an issue with the specular shaders on one mesh here. The shoulder strap has some weird shadow band showing through it:

    http://i.imgur.com/XpMtG16.png

    ...which isn't visible in the regular standard specular shader:

    http://i.imgur.com/NzZ6oOp.png

    Second, as you can see on the hair in the images, using another shader with cutout applied, it looks fine, but when using an Uber shader, I see dark edges that won't go away unless the alpha cutoff is set really far and then gaps are visible between the hair planes:

    http://i.imgur.com/YvEAIpB.png


    Third issue: height maps for me do not register. I might have missed it here, or in the documentation, but is there a preferred format displacement/height maps need to be saved as?
     
  40. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    You'd need to point your issues directly on screenshots with comparison. I can't tell what's the problem with the shader. For heightmaps - by default they are sampled from alpha channel of heightmap. You can change it in UBER_StandardConfig.cginc or inside any shader in defines section at the top of shader code) though.

    Tom
     
  41. The_Hylden

    The_Hylden

    Joined:
    Apr 11, 2016
    Posts:
    3
  42. Onat-H

    Onat-H

    Joined:
    Mar 11, 2015
    Posts:
    195
    Hi Tom, where can i find my order number and the date? Ordered through the asset store about a year or so ago, and i really need the update, since everything shows up pink.... when will it be available through the app store?
    Thanks a lot,

    Onat
     
  43. Bagnol

    Bagnol

    Joined:
    Sep 5, 2013
    Posts:
    169
    @Onat H. On the Asset Store page in either your web browser or the Unity program, click your avatar at the top right of the window and click "Credit Card / PayPal" and it'll list all of your Unity Asset Store purchases including the dates, prices and order numbers.
     
  44. Onat-H

    Onat-H

    Joined:
    Mar 11, 2015
    Posts:
    195
    Thank you Bagnol :)
     
    Bagnol likes this.
  45. Onat-H

    Onat-H

    Joined:
    Mar 11, 2015
    Posts:
    195
    Hi, I'm getting this error after installing your update, what can i do?
     

    Attached Files:

  46. Ra_vael

    Ra_vael

    Joined:
    Nov 10, 2014
    Posts:
    1
    Hey guys,

    is there a way to have materials that can both TRANSPARENCY MODE and RECEIVE SHADOWS?

    The goal is some kind of quiet Mesh Geometry Blending where
    hand painted Vertex Color defines some soft transparent edges/areas at the foreground models.



    After trying different shaders including UBER_metallic_core_2layers (pbr inevitable) and doing some internet research I‘m not sure there is a solution to have both effects at once. Is there a setup/modification (for any UBER shader) to receive shadows on transparent materials (even if its glitchy)?

    I hope Tom knows some magic (thats why I’m asking here).

    Best,
    Ravael
     
  47. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It depends on your setup. Every shader provides a few different features. Are you sure this dark band belongs to shadow ? Turn off realtime shadows and check.

    Cutout problem - I'd guess it might come from parallax displacement. Try to turn off POM and reduce parallax displacement height. Does it change it ?

    Please, give me exact Unity version and UBER version used (from asset store or from my server that's dedicated to U5.4beta only). Does it happen on fresh instell of UBER ?

    Tom
     
  48. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Transparent objetcs doesn't write into depth which is necessary for Unity to "collect shadows" to offscreen buffer. This buffer is then sampled everytime pixel get lit (no matter in forward or deferred). What kind of transparency do you need ? I see stairs that are not transparent (on the right side of your screenshot). Maybe translucency would help ? Such objects in UBER can cast/receive shadows.

    Tom
     
  49. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    How much keywords used by Uber?
     
  50. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Depends on which features do you use. Example scene use a lot of features (they are placed in materials - and that number counts) to showcase them. Look at your materials in debug mode (inspector can be set to this mode) - you'll see all keywords stored in maetrials then.

    Tom
     
    ksam2 likes this.