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. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    In the end I downgraded my HD4600 GPU driver and Unity stopped crashing, so was able to find the bugs (in fact bugs mean here - GLSL compiler really doesn't like some syntax bits). Expect UBER update soon for openGL working then (legacy openGL for Macs, unified gl solution to gles mobile and tessellation I need to test meantime, too). I'm moderately, but still optimistic about ogl and gles output. I'd really like to make UBER working on at least gles3 devices.

    Tom
     
  2. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I'm trying to find the bug but I can't reproduce the issue. Whenever I have detailmap (secondary map) - normalmap turned on or off (empty) snow with glitter works for me. Anyway I improved a bit a bit inspector. Now we can have empty wetness normalmap (ripples) that turns off flow. If you've got flat puddles we should extra-pay performance when it's not necessary.

    Tom
     
  3. Stormbreaker

    Stormbreaker

    Joined:
    Aug 15, 2012
    Posts:
    161
    Looks great, will purchase when the next update is out and memory leak issues are addressed.
     
    DrewMedina likes this.
  4. stationx

    stationx

    Joined:
    Jul 9, 2012
    Posts:
    251

    yup, got that, too on web player mac os x
     
  5. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    You're awesome man, can you please work on a skin shader?
     
  6. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    But will soon. Give me some time to sort out a few additional issues before I make update.

    Tom
     
  7. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Translucency and diffuse scattering doesn't care about energy conservetion because of the way it's done. I don't rip into Unity's lighting pipeline (would like anyway to not make it any less "standard"). I'm addting additional 'emissive" term at the top of the output color. Put these into quotation marks because "emissive" depends on the light color and intensity, but yes - when it's wrapped around it can go beyond range of albedo color multiplied by light color. Use linear lighting with tonemapper (in the demo it was photographic 1.8) equalize levels. Then you can use SE bloom (probably the best one on AssetStore) and some color grading at the end to strech a bit color saturation and contrast. That's what worked best for me.

    In some scenarios you might need to set HDR albedo color - it's possible in UBER. When your diffuse texture is dark and you'd like to make it brighter w/o editing texture. With LDR - white tint color for diffuse means you can get the same color at best, not brighter). With HDR - you can multiply it by for example RGB=(4,4,4,1) which would mean 4x brighter input albedo will be.

    Tom
     
  8. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    @tomaszek
    A-ha, so if I understand correctly, diffuse scattering is behaving similarly to standard emission, as in it's additive and not based on incoming light. It's essentially additive rim lighting and I should slash some other object attributes on pixels where a layer with a diffuse scattering is applied to make reflected light look equal to incoming light.
     
  9. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Correct, but it actually depends on light coming - set light color/intensity to zero and you won't get translucency. The same for diffuse scattering, but in this case I'm boosting diffuse color (w/o energy conservation - so even 100% specular metal can have this rim diffuse light applied) and ambient lighting still influence the output color. I mean - bright skybox will still contribute to bright diffuse scattering color even if no realtime light is present.

    Tom
     
  10. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Note about RAM consumption. There are good news and bad news.

    Good news - I know what is this issue related to.
    Bad news - I can't help completely here.

    It's because of shader variants number. As this is UBER shader it can switch so many features online. In some cases there are 15M variants. Of course they are processed via pragma shader_feature so only used are included into build. If youd like include more - you might need to change shader_feature to multi_compile on requested features if you're sure to alter them runtime in build (like parallax effects turned completely off with distance).

    I've noticed shader variant collections are not complete solutions here - simply on the fresh project (no UBER) I add standard shader into shader variant collection, then trying to add a variant with + button and Unity hangs. Standard Shader has over 7k variants and this is problem for Unity probably. In case of UBER it's a lot more :).

    Workaround (instead of using multi_compile) - you might use shader variants that are traced with this button in Graphics settings, but don't try to add variants manually - you wouldn't probably find the right one in jungle of millions... Turn some features - make shader variant collection out of traced shaders in the scene. Change features and use tracing again to save another variant collection. This should work.

    At this moment what I did to heal the situation by %50 is that I hardcoded normalmap feature into shaders. So - even if you don't specify any normalmap (it's empty) shader will still sample the texture and make calculations in tangent space. I believe this feature will be probably always used anyway with parallax shaders.

    One feature means shader variant explosion is divided by two and RAM usage will be decreased by %50. Furthermore - if you don't plan to use some shaders - just don't import them. Of course - in example scene there are many of them used (with specular setup) so example scene will go pink, but in your project it doesn't matter.

    If you for example go for metallic setup - don't import specular ones and vice-versa - another %50 RAM consumption will be released.

    More - I give shaders another %50 off when we assume that we always use specular/metallic maps, but this is not so obvious. We might want to have shader w/o map with constant spec/metallness and smoothness. We can gain a bit of performance then not sampling empty texture (it's not that expensive though).

    Conclusion for now:

    1. normalmaps are always sampled, I will give you separate simple shader with normalmap off (will not use any parallax which would make no sense anyway).

    2
    . spec/metal + smoothness map is always sampled - even if empty, this don't take that much performance and in most cases you'll provide material with such map anyway.

    3. importing package take only setup which you prefer - metal or specular variants

    Means 2^3=8 times less RAM needed for next UBER update

    We can nag Unity to look into this. When variants are not used Unity should possibly allocate no RAM for them. Then I can bring back all variants.

    ATB, Tom
     
    Last edited: Jul 1, 2015
    Stormbreaker, hopeful and ksam2 like this.
  11. stationx

    stationx

    Joined:
    Jul 9, 2012
    Posts:
    251
    Ha Tom,
    In the web player the following is happening:
    Extruded disk is not showing up at all.
    POM Cube is not displacement mapping, just a regulier flat textured cube
    After this cube…crash! "The content has stopped because of a fatal content error has been detected. "

    That’s it…the other models are looking great, although I am not sure how the cylinder is suppose to look.
    This all happened on a macbook pro early 2013, Yosemite.
    Regards! Tom
     
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Already located GLSL shader errors (like HLSL can accept things which GLSL can't). Will try put new webplayer tomorrow so you can check this on genuine openGL hardware.

    I'm trying to sort out a few additional issues before updating. It makes no sense to update every 2-3 days since it always take at least week or so to get accepted on AssetStore. Unity staff need to look at this first. That's how it works.

    Tom
     
  13. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,458
    Hey Tomaszek,

    Very nice shader set here... I love what I am seeing... I do have to ask if you have any character based shaders, such as for skin... I also use Alloy and I am seeking out comparisons...
     
  14. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    It's general purpose shader rather than set of specialised ones. I'll try to add some more features later maybe, but for now it's fair enough (for the price).

    Tom
     
  15. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Tom, I did some tests for increased RAM as I was finding it almost impossible to use UBER in my project. I found a few things. It seems that the shader is compiled at all times. Even selecting it in the project view increases the RAM by crazy amounts. Here is what I found doing a few things systematically.

    Clean Project - Imported only the shaders and scripts - Unity runs @ ~ 150-200MB RAM. I then do a few things.. create cubes, assign standard shaders... RAM seems to be around the same value. I then select Uber metallic shader (either in project folder or assign it to a new material) and the RAM jumps to 700MB. I then delete the material, however the RAM still shows 700MB from that point forwards (it increases a lot for specular shaders > 1GB). So I think there is something with the shaders compiling in the background at all times (I could decrease the RAM a bit by only selecting the D311) however it is still difficult to use them in the projects :(.
     
  16. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Look at this post:

    http://forum.unity3d.com/threads/uber-standard-shader-ultra.335493/page-3#post-2184846

    But still w/o 64bit editor this can be hard to work. We need to ask Unity about it, becuase any extensive shader package is hard to use by now. If shader isn't used - it should have no impact on RAM. If shader has many variants - it should allocate no RAM till the moment we really need specific variant o be compiled.

    Will try to submit an update soon.

    Tom
     
  17. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    Looks fantastic, and thanks for the $1 upgrade! :)
     
  18. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    New webplayer available:

    http://www.stobierski.pl/unity/UBER.html

    This one should hopefully work on Macs and looks much better (last time I published to webplayer with "fastest" profile accidentally :oops: )

    ATB
     
  19. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I will probably compare it soon (need to buy Alloy first ... :) ).
    Mild issue should be gone with the new webplayer available - see post above.

    Tom
     
  20. hippocoder

    hippocoder

    Digital Ape

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

     
    hopeful likes this.
  21. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Increase heightmap resolution, decrease mip offset (impact on performance though) or tweak shader code to limit heightmap MIP level taken by POM raytracer and you can minimize it even more. But no miracles here - it's still approx solution, so - be just a bit forgiving :).

    This is a bit fun feature though. Doesn't work for every model you can imagine because normal/tangents need to be map stored as texture in object space and need to be continuous, so - no atlasing effectively possible to combine many objects to use one material and pull down drawcalls. You can still use it on some selected objects that you find the most important for visual push of your scene.

    What I'm more curious now is Mac users feedback. Can anybody tell me if this works on genuine openGL machines now ? Link to the webplayer (the same as before):

    http://www.stobierski.pl/unity/UBER.html

    Tom
     
  22. stationx

    stationx

    Joined:
    Jul 9, 2012
    Posts:
    251
    Nope, unfortunately not. I am getting a crash after the monkey head.

    Btw, on Windows-on-mac it all seems to work. The displacement features however are super performance killing. Not sure how this can work when you have quite a few objects. In this example, we have only one cube.
    Also, I noticed that the ear example looks much nicer in the windows web player version.
    On a mac, it is dark but the translucent effect seems to work.
     
    Last edited: Jul 2, 2015
  23. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    OK, found something else in this particular shader that crashed.

    So, let's try again:

    http://www.stobierski.pl/unity/UBER.html

    and here is also alternate version - I'd like to know if Unity fixed OSX bug which makes it crash when using loops with variable number of iterations:

    http://www.stobierski.pl/unity/UBER_UNSAFE.html

    If both works on more Macs means we got it probably solved. BTW - could you tell me if self shadowing on Z-WriteCube (this with one cylinder across) works on Macs now ? It works on my Win - openGL mode (Aras gave me a hint to make it working). I'm curious.

    Tom

    P.S. Displacement POM variants are adjustable - quality vs. performance. Here I put them on quite hi-quality level. Use smaller heightmaps, less steps, use larger steps for tracing and so on. z-writing can be performance consumer, too. You can ask for it only for camera. In deferred it means - one POM tracing with zwrite into g-buffer. If you don't really need POM object to cast shadows - turn it off and use some proxy object.

    However in our example - forward lighting, it needs to make 3x POM tracing (1 for camera, 1 for depth write - shadow caster, 1 for depth write - collecting shadows). I believe that on genuine openGL it might also work a bit faster than in emulator (but that's disputable).
     
    Last edited: Jul 3, 2015
  24. stationx

    stationx

    Joined:
    Jul 9, 2012
    Posts:
    251

    Heey Tom!
    Looks like both versions are working on mac! Stil, the look and feel is dark compared to windows.
    I have some screenshots here, also with the cube to check out self shadowing. The cube looks right to me.
    https://www.dropbox.com/s/r7zena70o52vhso/screenshots.zip?dl=0
    RT
     
  25. tomaszek

    tomaszek

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

    At least shaders don't crash. The problems on your side are rather related to lighting in Unity. Looks like gamma rendered in LDR while original build is linear/HDR with SE Bloom/MSAA (Tom Hourdel's one - very nice - https://github.com/Chman/SMAA-Unity - it's free on github)/ Tonemapper.

    Ear looks very screwed, but it's substance based - probably some textures didn't get properly prepared on scene load and we should look for the reason on this substance material.

    You can test it and try to make your builds as soon as I submit update on AssetStore.

    Tom
     
  26. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Seams like it's solved now. Check it again. However - some objects looks weird as I posted above - it might something to do with lighting differences, but I assume it can be solved by publishing from genuine openGL machine.

    Tom
     
  27. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Found, fixed.
     
  28. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    I think the ear looks different on mac because the tessellation is not working. It is simply applying the tessellation map as a grey texture over it rather than tessellating. I think the opengl 4 mode is dissabled on mac for the time being. It is only an option on the pc version as it is still marked as experimental. If you look at unitys roadmap and Apples they are both totally changing the shader compiler for metal on mac rather than opengl anyway.

    The only thing that worries me is that Unity's road map says they wont fully switch over till December. I think complexed shaders on macs are going to be an issue until then really.

    I guess Unity are having trouble making their shader compiler as its memory usage and compile time is far from optimal and compute shaders that worked in previous version are now broken.

    In the mean time the only shaders that appear to be reliable are direct x 11 non compute shaders and opengl es 3 . Also has anyone tried it out on an iphone yet as doesn't unity already compile for metal there ?

    Does anyone know whether metal can even do tessellation ? It would be interesting to see how it runs.
     
  29. RUBILYN

    RUBILYN

    Joined:
    Jun 22, 2013
    Posts:
    54
    HEllo ! Mister Tomasz ^^

    Congratulations for this new Shader Package.


    Once more you show yourself as one of the world best shader coders in game industry !

    Just A Small feature Set Request for us Relief Terrain users :

    1) Feature Request 1:

    Is it Possible to Add Geometry Blend Features.
    ?
    So we can use Together with Relief Terrain Package ...


    2) Feature Request 2:

    Maybe Adding a Vertex Color Rgba ...
    EXTRA LAYER on TOP of the Current features ...

    And a Vertex paint BRUSH INTERFACE !
    So that we can Vertex Paint Freely between 4 types of materials ...
    That way we could Blend Not just With terrain but also "freely paint over" Materials That blend between meshes ...

    3) Feature Request 3:

    Is it possible to add a Distance Based tessellation Vector Displacement Method Additionally Also ?
    https://www.assetstore.unity3d.com/en/#!/content/15996
    ...

    4) Feature Request 4:

    ( As we have such cool subsurface scattering already ) Some Vegetation & Grass & Trees With Swing by the wind by vertex color features Would reaaly make this shader Package "as complete" and this way a total needed Complement to Relief Shader pack ...

    ___
    Anytime During the next year ... If you could do that 3 features On top the already amazing features set here ..
    ... you would make this shader "my personal dream come true" .. And its getting close Already ...

    This Uber Shader and Relief Terrain Pack Together : There is no more wasting time with shaders ever !!
    That even rimmed ... hehe ..

    CONGRATULATIONS ! THANKS SO MUCH FOR LISTENING !



    ....

    PS: Thanks so much for the 25$ DISCOUNT ! I do feel special now ...
    Its quite a Example !! ( When i sow i had a discount for owning RTP i just had to buy it ! )
    Every Assets Store merchants should Be user friendly like that to returning customers !! Million thanks !

    Have a Wonderful and blessed happy year to you and your family.
    Keep flying higher and higher sir ! My very Best regards !



    ...​
     
    Last edited: Jul 3, 2015
  30. tomaszek

    tomaszek

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

    1. They are there. Geom blend shaders - core, 2 layers, triplanar selective for specular and metallic setup. So you can get nice looking stones w/o any mapping - use triplanar selective. Paint default R channel in geom blend in RTP when you use 2 layers variant (coverage is controlled there as well as detail layer coverage). All core features are available there - snow, water and so on. However - triplanar selective doesn't allow for parallax other than PM. Tessellation for geom blend objects is also not possible because underlying object is not tessellated then.

    2. As above - we've got 2 layers to use. Vertex colors are configurable - look into shader header define section or UBER confige.cginc file. 4 layers - this would break texture limit. albedo+spec+normal+hegith+occlusion+emission = multiply it by 4 layers and add up to 7 textures for Unity lighting - would endup with 31 textures which are not available. On DX11 we could think about texture arrays, but I'm not sure they are correctly implemented already in Unity. This would also limit my solution to DX11 which I would like to do.

    3. Vector displacement instead of heightmap based (direction taken from mesh noramls) - this is not hard to implement. I might consider introducing such thingy later.

    4. This is rather domain of larsbertram aka forst. In time he will probably provide you with any shader you'd like to see. One user would like to see foliage, other - skin, yet another - outlines or any extra features. This moment I'd rather stick to "standard" general purpose shading. What I plan to implement in future is translucency meant as "transmission" - for one sided geometry rendered as two sided with separate maps for both sides. Good example is custom shader used for flags an the pier on my RTP showace island video (and tent material near the campfire). They use one sided geometry (in U4 it was impossible to use 2 sided geometry with cloth physics - it was broken, I do know how it's now in U5 and PhysX3), but have 2 sides with different maps - one side - Unity olog, 2nd side product logo like RTP, TerrainComposer, AFS.

    This moment my main concern is make it working on all desktops at least. OpenGL still seams to be problematic, it's kind of evil platform for complex shader coders like me... I'll describe it separate post later.

    ATB, Tom
     
    RUBILYN likes this.
  31. RUBILYN

    RUBILYN

    Joined:
    Jun 22, 2013
    Posts:
    54

    Hello !

    Thank you mister Tom for your kind reply ...

    I leave bellow Some more helpfull thoughts ... i hope ..
    and please dont stress out ... I know this things take like 1 year or half to just be developed properly ...

    THANKS SO MUCH FOR LISTENING ! And be so active with all your customers support and requests ...

    Soo cool !! Hurray !!!! You are sure a master !!!

    When i posted first time i just had bought it. Im now testing it more intensively.
    Please excuse me for my entusiasm ... i know how much this things are so dificult .

    Is this the LUX Developer?
    https://github.com/larsbertram69/Lux_2.0

    He is amazing ! But Unfortunately a bit slow, .. maibe because of having too many products too much to keep focus and efforts scattered ... ( We users prefer to pay for one Cheap solution than to have too many litle Solutions ... as those many little products most of all end up not updated and not even working properly in unity 5 at all ) ...

    I Wished So much mister Lars he would get a new version of LUX "Pro" for a small price like 10$ ... ( With all types of pbs shaders and add Mobile Support as good as SkyShop in LUX ) ... so he could get payed some more and then put one more person working with him ... as it seams he have so many projects .....

    OR MAYBE HE CAN JOIN EFFORTS WITH UBER ! And Develop Some ( or ALL ) Of its LUX Unity 5 Shaders as Extra optional .Cginc Features INSIDE UBER ... So to Merge Features of both in one mega LUX UBER Shader ...

    That would be something way amazing ... and you Sirs are both Good friends right ? So ... why not ? You could Raise the price of uber lets say 5$ or 10$ and pay those bucks of every sale to mister Lars ... so that he could work bringing its vegetation & skin & all its Lux Framework to work inside UBBER ... Its just a example how independent developers can join efforts to improve better more supported optimized and integrated mega products were everyone wins on time and money ... if you check it our marmoset team is like 4 developers working on it by now ... Alloy is 2 or 3 ... How can one man alone face that kind of competition ? Well joining other developers that are not earning so much to adapt its code to work inside mega joint products ... UBBER and LUX and FOLIAGE and RTP are a very good Example of a BUNDLE that should be extremely optimized as a Framework and so beat Alloy and SkyShop together for 50% of their price .. that would be a Success... And its just one more good idea here in the fly ... Its just my commercial product management 50cents ... Hope the idea helps ... hope you 2 guys and some more can make UBBER what its Destined and deserved to be that better way in future ...

    I have considered Mister Lars his advanced foliage shaders ... are the best thing there is in whole assets store ... And i might be forced to get it ..
    https://www.assetstore.unity3d.com/en/#!/content/3253



    But i do mostly External trees modeled by hand or procedurally with speedtree indie ...

    So i would have to Spend also Money on its Custom tree importer as well ..
    https://www.assetstore.unity3d.com/en/#!/content/21079

    but still no speedtrees shaders around ...


    Unfortunely the price of all that its 20$ + 30$ and i dont reaaly have more money ... i spended my last 25$ in UBER . ... right on edge of bankrupt ... `_` ...

    And wished so much UBER could do all that including mobile for just 25$ ... Haha.. ^^
    I know .. ( It would be many Millions poor mans Game Dev indies dream Cometrue ... : )
    And you will be rich right after !! ... -.- lol ...


    But i will try to hack it myself .. mixing Shaderforge With UBER Shader ...
    Copy Pasting codes, messing it all up .. etc ..... -.-

    I wish so much ... the step between working with Shaderforge and ubber Would be more easier ...
    Like UBER nodes inside shaderforge or something .. like in SKYSHOP .......

    And that might even drive me to put UBER and SKYSHOP as my Products Extra requirements ... Wich is completly Absurd ... but ... for the Mobile and Speedtree and Shaderforge compatibility quite needed ... ... and i wish so much UBER would have All that as Skyshop does ... So i could use only UBER in my AssetStore products ... Anyway !! Better not even think too much about it .... -.-

    Im Also considering developing Products for asset store and in all them integrate UBER + RTP ...
    So i cannot really request my customers to buy too many shader frameworks ... its not sane ... -.-

    And as RTP is all about Terrain ...
    One or other "should" reaaly have Some vegetations Features ...

    I have bought long ago SkyShop and Alloy ... and they are dusting at my attic ...
    Cause again for 125$ they are too expensive to have as default Shading Requirement along my Products .

    That's why i invested in RTP & UBER that together are less than 80$ ... and do so optimizely much !

    ... if i add Forst foliage Shader is already 100$ that i have to ask my customers just to use my products ...
    And its a bit heavy ... noo one going to buy my products line like this ... -.- ...

    And i still dont have the "mobile versions" Figured out ... ; _ ;
    That i will have to hack in shaderforge by nail somehow ...

    Because there is no Good Tested "proven" Physically based Mobile Ready Shader at all ...
    ( Beside skyshop that is the best Mobile shaders set there is ... )

    But again i cannot ask my customers to buy skyshop that is 100$ more ... just for mobile versions ...

    I Wished so much UNITY Would Fix their Default PBS Shader to work good with mobile ...
    That should be a priority ... i dont know what those guys in unity Shader dep are doing ..

    - MISTER TOM ! Just Sticking to Standard !!

    Is there a "real coming sooner" Possibility for a REAL SIMPLE Physically based Mobile Shaders Set in UBER Sooner like Next Weeks Next Update ?? Please ?

    - - JUST With The Default Unity5 SHader Features working in Mobile ..
    - - - Plus Vertex Colors, Snow Moss on top, and maybe latter Simple Triplanar . ??

    Just default PBS + Snow or moss Top + triplanar latter ...
    And FOR MOBILE There would be no need "here" of much more than that ...
    But my customers would be very happy If UBER Have Those Simple Mobile Working Variances.

    Even if its very simple And the Shader uses some kind of "hack" like Hemispherical reflection ... Or Ambient irradiance Luts ... to achieve a Fast PBS Aprox in mobile ..
    http://www.leegoonz.com/#!HEMISPHER...ILE/c126/E0C6C6F7-26E0-4FAD-9FBE-0F3155CA377B
    http://www.leegoonz.com/#!New-Ambient-Irradiance-LUT-My-Shader-is-coming/c126/550ab2940cf292acc4b406d1

    ( At my point of view as a Artist ) there is simply no need to all those bells and whistles with TRUE PBR like SKYSHOP does "very heavily" and always with alot problems of all types in mobile , Were today we simply can totaly Use fake non physically based shader methods that If you compare They reaaly look exactly one to other with the right maps ...

    You can see that clearly with the Car Paint Shaders Techniques ...



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

    The same methods can also be aplied for common Landscape & Objects "Fake phisical based" Methods that RTP as well UBER could give in its packages as ( alternatives With same similar inputs for mobiles ) For example in mobile a Fake Phisical with Dust or grass or snow on top and triplanar would be very cool for us to have ... But again In mobile a Shader doesnt need to be "Tru phisical based" on code Just look alike !

    And there are so many methods ..Ambient irradiance, car Shader reflections, with simple hemispherical reflection environment maps .. Even Skin and Plants and water in mobile .. is better to make it Sheaper "phisical based fake" ... i believe is the best kind of solutions in mobile.

    ---

    I am Quite Sure that if Having in assets store ( for the first time ) A Mobile Working SIMPLE "fake" looks like "Physically based Shader" / With Fake glass, Metal, Rock, Snow on top, Moss, Water / And Latter Triplanar ... ( just that not more to start ) Using All Fake Luts & matcaps & Hemispherical Irradiances, as methods ... Would Maybe be easy for you .. and still be a strong Selling point for Enlarging UBER as Standard Platform for all Means ...

    As not even Alloy have mobile features, and only competition is Skyshop ( That again is too heavy as framework too complex and many users are complaining because have a reaaly too large set of features that so easily broke and are incompatible very easily with other extensions especially in Unity 5 ... ) But SkyShop is indeed the only Better Mobile Physically based Solution there is today ... Some Competition on that Side With UBER / Even faking it All the way ! Would be Very amazing for all us ...

    And a very Cheap "mobile Variant" just with 2 or 3 features its still Sticking to your "general purpose shading" moto .. right !? What you think Technically Speaking Sir ? ^^

    On another note .. Thinking about "Mobile" And even "desktop optimization" With a Physical based Shader



    Mister tom, Can you please Add DERIVATIVE NORMALS Support Pleasee !
    https://www.knaldtech.com/docs/doku.php?id=derivative_maps_knald
    http://mmikkelsen3d.blogspot.pt/2011/07/derivative-maps.html

    As its a normal format that... just uses R & G Channels .. Removes the blue and it works even better !

    That Way we Just Spare One channel ... which is essential for Cheaper physically based Shading ...

    I use it alot in Shader Forge and this is My Setup

    Map 1 : (RGB) Diffuse / (A) Heightmap * Occlusion * Cavity
    Map 2 : (RG) Normal / (B) Metalness * Convexity / (A) Roughness * Dirth

    As you see just in 2 maps We can Store all that ...
    And one even can Store up to 4 Different maps in Each map Using "tilling" Atlas ofsets



    Another trick that i use is to Divide the Grayscale maps Into 2 Maps With Substance designer ...

    This way each grayscale goes only from ( 0 to 0,5 ) and other from ( 0,5 to 1 ) on top of eachother in one single grayscale image Then with Shaderforge we just have to remap the ( 0.5 to 1 to 0-1 ) to Extract the 2 images from each single Grayscale map ... This is Actually very simple to do and Substance designer does it automatically . ^^ Thats how i can have those ( metalness * Convexity / Height * Oclusion / Roughness * Dirth ) Each 2 of them packed in a single grayscale ^^

    Now you see if we join all those tecniques ... Phisical based Shading ... and even Triplanar phisical based Splatmapping Becomes Quite Possible, and As expensive as a common Normal Specular Shader in mobile ...

    This tecnique uses substance Designer and shaderforge as Main culprits ..
    But im Sure you would be able to apply all this just in UBER with your RGBA Packer As well .. ^^

    Sadly for me Shaderforge is VERY POOR "as Shader framework for MOBILES"

    And Maibe thats where you Sir could ATTACK next ! As UBER Sales fortifying !

    UBER Simple PBS in MOBILE ... is quite a need ...
    Even more than "mac" compatibility ...
    And Its more simple to develop ..

    There is alot more people needing to develop PBS in Mobiles ^^
    Than needing to use a MAC for game Developing at all ... seriously ...
    ( That is a joke ! Im sorry ... i Didnt resist ... -.- )

    Thank you deeply so much !!!!! Whoohoo... Im So happy !

    This might be a Ultimate Solution ( for the unity very bad bump mapping or displacement tecniques )
    Expecially in Those meshes That the RELIEF just Doesnt Work ...
    and there are too many cases were relief shading Just looks broken and bad ...

    So this tecnique .. ( even in low poly View Distance based Tesselation ) Looks Absolutely incredible ...
    And its not reaaly a "Framerate killer" as we can use it toguether with LODS just Aplying to the Higuer lod level for extreme amazing close ups ... This way we can achieve a "very high Polygon" Degree look .. even more than those CryEngine And Unreal Uber AAA+ titles ... and with litle Overhead on Polygons Counts ... as just higher lods have it.



    Distance based Tessellation Vector Displacement Its reaaly a holly Grail of "hiper realism" and close up detail ... And if you notice there is absolutely no one using it in Games today ... Or much less that Technique used with Physically based Shading ... If you Sir can put it in UBER, You will give us the future for us to work today at a cheaper price ...
    Thank you deeply so much for considering this.

    The "Unity wind" Flag ... or Wind on Bending objects ... in UBER Would be reaaly amazing to have ...
    As well the 2 Sided Shading ... Reaaly looking forward for it !

    I Do code myself shaders with shader forge nodes ... and even that takes so many hours .
    I can only imagine how hard and the amount of mental dedication is needed to do a whole new framework ...

    So UBER is a real Fresh Air breeze ...
    .. as it got most of all features i have to Hack in Shaderforge and end up so Shader expensive and bad done .... Still i think should not be much dificult for me to code some extras with shaderforge then copy the shaderforge code to your shader ... to achieve for example the "wind" on custom imported trees vegetation ...

    Im using HPT Forest pro That outputs a "vertex heightmap" that we can use with the wind made with vertex displacement in shaderforge ... http://www.hptware.co.uk/forester.php



    But would be so cool to have it in UBER Some Broader Shader Aproxes... even if just Fast Approximations ...
    We Developers spend too much time Working with Too many Shaders ... so a framework that does it all in one is quite needed ...


    IM SO SOO SORRY For the entusiasm in So many requests .. But They are reaaly So needed around here ...
    I Hope some of them make sense for other users to have ... and make the dayLight in UBER within next months ...

    Hope My Little Ideas might improve UBER Roadmap ! Making Some sense ... -.-
    And pave some more The Way of this Amazing ALL PURPOSES "Cheap" UBER Shader
    That is such a Amazing Alloy & SkyShop Contester and Replacer ...

    As a Customer what i can say : Is that The First Badest thing About Alloy and SkyShop ( for me ) is definitely the Price... They Should be 50$ instead of 125$ .. Then the Way they complicate things in Their Shaders ( Especially skyshop pipeline is very rich but always breaking ) ... Then the Mobile Compatibility / or variants : is a Second Most important thing for a Professional Physical based Shaders Pipeline ...

    ---



    The PRICE and SIMPLIFICATION and LOW REQUIREMENTS ... that UBER Shader as Well RTP Shader Bring are actually a NO BRAINER why to get "both" RTP and UBER instead of SkyShop and Alloy. And for me as starting merchant a lot more as its the most affordable Full Featured PBS alternative for my customers to add extreme visuals in our products packages ...

    And the Only thing that i see Lacking in UBER comparing to skyshop is just some kind of MOBILE variants ...

    Then im sure that the "all purpose" Shading as skin and vegetation like Speedtree and Custom Trees importing ... im Sure the more people ask for it .. soon or latter it will come ...

    Especially if you guys can Merge UBER codes with LUX to make them work integrated.

    BUT UBER Along with RTP Was really my best BUY In unity This Year !

    I might even write a review at the Store saying that ...
    Well HELL im doing it now ... More people need to know About this product Usability ...

    So sorry for the long post ... -.- hope it helps somehow ..

    THANKS SO MUCH FOR LISTEN !


    Ps: Just did my very own review at assets store ! Proud UBER Happy customer here .
    Reaaly looking further for this product next iterations ! Thanks for the support ! Bie ...
     
    Last edited: Jul 5, 2015
  32. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
    You are able to use it? Im surprised anyone can with the insane memory issues...havent been able to use it since launch.
     
  33. RUBILYN

    RUBILYN

    Joined:
    Jun 22, 2013
    Posts:
    54
    SURE ! You just need to Know how to use it ^^

    You must be running a very low system there right ?

    Im using it in some Merchant projects ... and the trick is just to use the Features you want.

    YoU See this product is Multicompile. And using the Pragmas on the shader you can use just the CGINCS you need to use and no more ...

    You See this product is SOOOOO complete that gives you a GIANT amount of variants ... Large hundreds.

    ( Then here the problem is with UNITY that Takes AGES To Import and Multicompile All those Variants ... )

    And then leave all those variants in memory ... if you check how UNREAL Engine works ... you never have problems with SHADERS Multivariants or much less Memory Stuffs, You can even mix in one shader Many Subshaders ... no problem ... cause the Engine Even on Editor just compiles the Variant WE ARE USING .. Not the Million possibilities ...

    And the Million possibilities are good to work with anyway ..
    It just need you to have some More memory to work in the EDITOR ...
    But that is the same to ALLOY or SKYSHOP ...

    Of course that the COMPILED versions When you Do a build Dont require any memory at all ... haha... lol ..

    Actually this shader is extremely optimized for all it does much more and better than any other .: Seriously ...
    The problem is on the freaking Dam UNITY Editor ...

    Please: Send your project AS BUG To Unity Staff To see if those people can fix it ...
    As Unity5 is a baby but is still full of it .. Morning sickness and gose bumps all over .. -.- ...

    BUT Then i have also some hacks ...
    As im using it toguether with SHADERFORGE shaders ...

    I Build Some specific stuffs i want in shader forge ...
    Then just copy paste some code From UBBER using the .CGIncs that i need .

    But again is sooo cool to have such many variants of shading possibilities you can use ^^
    Spares you a hell lot of time you would waste doing Shaderforge shaders by nail ...

    And the optimization and performance on runtime with all those features is quite cool !


    Im Developing some Assets As merchant that use this Shaders for like EVERYTHING .

    To Sell at Gumroad.com and then to assets store ...


    Wenever im more finished with it i will come back and show some of my creations ...
    And even will do some builds for you people to see What this shader can do like no other would ...

    Expecially toguether with RTP ..

    WELL Back to work !

    See us around soon !


    3DLABS
     
    Last edited: Jul 6, 2015
  34. ChadH

    ChadH

    Joined:
    Aug 28, 2012
    Posts:
    101
    I just tested the upcoming update for UBER on my Mac.
    There were no issues in resolution, detail, brightness, etc
    Everything displayed as it should (with the exception of Tessellation because that is DX11 only)
    Ear displayed properly in Editor, however on standalone and Web build there were the same issues present as on the current web player.
    It is directly related to the Substance and its texture output. With all the other examples (which use regular textures) the output display was correct.
    The dark Skybox is only apparent in the WebPlayer (for Mac).
    The Standalone build for Mac worked as it should (with the exception of the Ear texture (Substance)).
    I believe the Update (with new features i.e. lava, global dynamic weather system) will be submitted to the Asset Store very soon.

    PS
    The amount of RAM used is now 4 times lower
    I had 2.2GB on importing with example scenes
    On build it hit 6GB for a moment, other than that it stayed around 2.2GB
    The amount of Ram used is directly related to how many Shaders you use in your build
    Less Shaders = Less Ram
     
  35. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572
    I just setup a mini scene with 11 x Substances (build on level load) at 1024 res, using UBER shaders, two real-time Point lights, soft shadows enabled and Ambient GI set as Real time to see how UBER handled it. Scene has 36 triangle polys. You might get a popup from your browser once during loading since I chose not to bake the Substances, but it will play shortly after.

    Web Player link (13mb) http://www.livingartz.com/unity/uberSubstance.html

    uberSubstances.jpg
     
    Last edited: Jul 7, 2015
    RUBILYN, tomaszek and Ghosthowl like this.
  36. ChadH

    ChadH

    Joined:
    Aug 28, 2012
    Posts:
    101
    Not working on Chrome (almost all black) or Firefox (can only see the skybox image)
    I am on Mac but will try on Windows shortly
     
  37. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572
    I am on a PC using Chrome. Sorry, didn't try on my Mac.
     
    Last edited: Jul 7, 2015
  38. ChadH

    ChadH

    Joined:
    Aug 28, 2012
    Posts:
    101
    Yep, works fine on Windows in Chrome
    A little jerky but looks nice :)
     
    artzfx likes this.
  39. lorenalexm

    lorenalexm

    Joined:
    Dec 14, 2012
    Posts:
    307
    The poor Intel HD 4000 on my MacBook Pro cried while running the latest web player, it managed to struggle through without issue though. I am eager to run the standalone on the Alienware Alpha when I get home and see the full beauty of these shaders! I currently have no use for this package, but have a feeling I may be picking it up on principal. Masterful work @tomaszek !
     
  40. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    artzfx doesn't have 1.02 update yet, so no wonder it can break on Mac, but - maybe in this particular case this is related to Substances in webplayer on Mac we saw the problem with "ear" on my example scene. Will probbly need bug report on this.

    Tom
     
  41. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I'm wondering about UBER specific features like POM with self-shadowing. Do you have it enabled ? Remember that by default UBER uses alpha channel for displacement on heightmap. With some small effort you could use animated emission too like on my example scene. Play with at least secondary mask - paint vertex color with rec to put some puddles here and there - people like it :) (or use separate feature for water there).

    Anyway - good luck with your product ! It has potential because of its procedural approach (small build sizes from Substances).

    Tom
     
  42. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    I was trying really hard to not g be lost in the jungle of your mind flow. So, to keep it simple:

    1. Some mobile compatibility (with at least mid-high range of GPUs) would be welcome
    2. Vegetation - not planned this moment, you can get AFS and it's not too pricy
    3. vector fields - nice, but always problematic when it comes to colliders for them. Maybe I'll implement it
    4. packing textures for mobile will be a must - we need to run on 8 textures which is shared with Unity lighting, shadows and PBR from LUT

    Anyway - thank you for the feedback, but I need to sort out things careful and can't promise any new features soon as I have more products to maintain.

    Tom
     
    RUBILYN likes this.
  43. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572
    Hi Tom,
    I am using the UBER Metallic/POM Advanced shader. In the scene above the POM settings are very low as I am still playing with the various options.

    - Self Shadowing doesn't attain much result for me.
    - If I crank up the POM settings I get much more pop however get too much distortion when moving closer to the Substances and particularly when viewed from an angle. See attached.

    When playing with the "Curvature Type" dropdown, I changed it from Basic to Mapped out of curiosity. This destroyed my Substance outputs. I reimported and refreshed the Substance, restarted Unity, but the only way to restore my Substance was to delete it, close Unity, reopen and then reimport.

    uber2.jpg
     
    Last edited: Jul 8, 2015
  44. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Well - POM Advanced is probably not for you unless you've got some cylinder like parts (like on my example scene - collumn) or baked curvature maps. They are not that obvious how they work so I need to make docs and tutorial for it. First I would like to fix all issues. So - stick to Core shader for now I'd say.

    Strangely coincidentially - I found Unity bug in substances - they DON'T output TexelSize to shaders... In fact - texel (texture) size is 1,1 which breaks all shaders that rely on it (my POM variants). I'm currently looking to make workaround. Possible to fix, but I'm quite unhappy I need to fix so many things on Unity side myself. With update your POM will look fine and self shadowing will also start working (like on the example SCFI-FI cube in my player).
    I could tell you - go to Unity and complain, but this would mean - wait weeks or months for fix... So better I fix it even if this is nasty for me :).

    ATB, Tom
     
    RUBILYN likes this.
  45. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Unity seems to always have bugs with substance. I don't know why. Glad you've reported this bug so maybe it could be officially fixed by 5.2 in early September.
     
  46. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572
    Hi Tom.
    I just grabbed the bitmap version of my height map and dragged into the height slot for the UBER shader. It fixes the problem and gives massive Pop! from the POM now (see attached). I can really crank up the depth :). Just wondering if the height data needs channel remapping for my Substance output as my original height bitmap contains the height data in the Alpha channel whereas it does not in the substance height output.

    Something else I discovered, is that I need to set Metallic and Smoothness sliders in the UBER shaders to 1 rather than the default 0 so they read directly from my Substance outputs.

    Also, I was under the idea that your shaders were based off the Unity 5 PBR shaders, therefore they would auto calculate the Metallic/Roughness outputs from Substances? Just wanted to make sure that was correct. I couldn't find anything in your doco regarding the channels the Metallic/Roughness and Specular/Glossiness maps should reside in. If you can specify I would be grateful. Thanks.

    uber3.jpg
     
    Last edited: Jul 8, 2015
  47. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    Not sure if it is just my configuration, but on the webplayer demo in your first post - the "ear" came up purple textured a moment, then crashed the plugin in firefox (latest as of today), and on this notebook there is an nvidia gt 540m alongside intels hd graphics and an i5. Anyway the rest of the demos I saw seemed pretty darn awesome, great work on this asset!

    EDIT: also the "triplanar selective" (when hitting left arrow to go through in reverse order) also causes the same problem, plugin crashes and firefox complains. Might be the intel integrated card poorly handling things I am not sure which firefox tries to use. I am not sure if it is just how its made, but the one called "car paint" was very purple-ish in color, almost like one of the materials or something was messing up, but didn't crash the webplayer. Turning down the slider in the bottom left caused the purple tone to go way down.
     
    Last edited: Jul 8, 2015
  48. stationx

    stationx

    Joined:
    Jul 9, 2012
    Posts:
    251
    heey Tom!
    So how to get the POM working? i tried replacing a height map and normal map with one of your examples models. (the torus) but then the model is just flat again. No fancy displacement maps...when I put back the example textures, the torus is looking awesome again. What is the difference between the installed height/normal maps and mine?
    Mine are exact the same in terms of file format, color etc.
    Regards! T
     
  49. artzfx

    artzfx

    Joined:
    Apr 28, 2008
    Posts:
    572
    Is your Height data in the Alpha channel of your Height map?

    .
     
  50. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
    Tom, I think only recently released Unity 5.2.0b1 introduced feature parity with Substance Designer 5.1 and fixed a whole lot of bugs with substances, so I'd recommend checking that out, maybe the issues are fixed there.
     
    hopeful likes this.