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

Lux-an-open-source-physically-based-shading-framework

Discussion in 'Assets and Asset Store' started by larsbertram1, Mar 19, 2014.

  1. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    when i find the time.
    do you have a problem grabbing files form the repo?

    lars
     
  2. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    hi fuzzy,

    i think terms got a little bit messed up: RenderToCubemap is a built in c# or js function only available in pro – just like Render Texture.
    this is suitable for standard cubemaps and faster than the "indie version" - however the latest version of the box projection shader needs cubemaps to be taken in "local space" which is not supported by RenderToCubemap.
    nevertheless the indie version of capturing cubemaps should work of course and render all 6 faces.
    have you updated to the latest version from the repo? it just works like charm for me.

    lars
     
  3. squared55

    squared55

    Joined:
    Aug 28, 2012
    Posts:
    1,818
    Have Botanika's cubemap scripts been integrated into the main version/branch of Lux? :)
     
  4. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    not until now...
     
  5. Birdlay

    Birdlay

    Joined:
    Jul 28, 2012
    Posts:
    39
    Heya! It will run on DX10, I got a buddy with a DX10 netbook to look at it, it just ran slowly :)
     
  6. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    Thank you for the advice lars. I had no idea that the vertex colors affected the grass shader. I smacked myself on the back of the head for my stupidity:?. It is starting to look a lot better. Thanks:D
     
  7. Botanika

    Botanika

    Joined:
    Nov 2, 2013
    Posts:
    60
    I made some art with Lux in my free time the last two weeks :



    for now its a small modular level, nothing fancy, but Lux made it shine.

    Full sized textures Web Player (37mb)

    https://googledrive.com/host/0B3n1sS2Im_HhZW83ak9TWHFMWFU/full resolution.html

    Half sized textures Web player (12mb)

    https://googledrive.com/host/0B3n1sS2Im_HhX3U4RW1Xd19TcE0/half resolution.html

    the artifact on the walls are caused by some bug related to tangents generation of the meshes on import, they have nothing to do with Lux really. (they are more noticeable with standard unity shaders)
     
    Last edited: May 7, 2014
    SememeS likes this.
  8. wccrawford

    wccrawford

    Joined:
    Sep 30, 2011
    Posts:
    2,039
    That's pretty insane, Botanika. My only complaint was about the walking.. Too much side-to-side and too slow. Visually it was *amazing*.

    Oh, I did see 1 visual glitch. At the point you start at, there's a door nearby. The plate on the floor under the door was flickering, like maybe there were 2 polygon at exactly the same spot.
     
  9. Botanika

    Botanika

    Joined:
    Nov 2, 2013
    Posts:
    60
    thanks wccrawford. I was gonna do a camera fly-through , then I got lazy and just put in a 1st person controller, thought that a slow movement speed will make the player look at the details.

    I accidentally left a filler plan there, and totally forgot about it, it what causes the Z-fighting.
     
  10. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    That is the most beautiful unity scene I have walked through:D. Incredible job Batanika.
     
  11. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    From the 'SS Botanika Bay'? :D
     
  12. cAyouMontreal

    cAyouMontreal

    Joined:
    Jun 30, 2011
    Posts:
    315
    I glitched it, by looking to a intense light on the groud (reflected) the screen turned black. I still was able to move around.

    btw how do you make this really nice reflection? It seems like Candela SSRR is used here.
     
  13. kravch1

    kravch1

    Joined:
    Apr 30, 2014
    Posts:
    4
    Same here.

    @Botanika: Quite impressive, I mean it's awesome! I'm trying to find myself in every reflective surface. After tring out PBS i'm thinking of making everything wet :)

    @Lars: Considering paints, you've metioned multilayered BRDF, which would totally kick ass. "Super gloss" layer is yummy! I guess that kind of material would be pretty handy AND it's perfectly fitting in Cook-Torrence with ready-to-go formulas all over internet. But it's kinda tricky to implement for every kind of lighting model you generously supporting and general debugging. Probably, someone would do it in nearest future, I wish it was me tho!
     
  14. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    WOaaaaaaaaaaaaaaaaaa

    Botanika that stuff is shocking!!! I wish I had the Oculus to get into that scene.

    I found that the demo whent to all balck from time to time and it ended stuck in a black screen despite I could hear the steps.

    But hey whatever, the gaphics are like unity 6.
     
  15. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    @Botanika : you are using autoexposure tonemapping isn't?? i get the black screen everytime i used those so i decide using static tonemapping :/
    Also try to avoid pure 255 white color for roughness&Spec, Somehow it broke Unity HDR buffer usually 250 is safe for some case
     
    Last edited: May 8, 2014
  16. Botanika

    Botanika

    Joined:
    Nov 2, 2013
    Posts:
    60
    thanks, it wouldnt look nearly as good if I didnt use Lux.


    strange, I cant reproduce the same glitch.
    the reflections are just box projected cubemaps, rendered and convolved with Lux, they are not as accurate as SSRR, but they are fairly cheap to render, and offer a good approximation.

    I know this feeling man ! with Lux I often find excuses to make props shiny ! :D

    I cant reproduce this, maybe it's related to the tone mapping, I just activated the Unity Pro license trial, and I had no prior knowledge about the image effects in Unity Pro, when I made this, I was thinking "if this can run on my crappy hardware, then it should run with no problems on today's rigs". guess I was wrong.

    I'm using "adaptive reinhard" tonemapping with HDR, but it works with no glitches on my Laptop.I'm gonna try to change it to something else, and clamp my roughness values to 0-250 range, when I'll have some time. and see how it works. I'm using forward rendering with static lights, if that matters.
     
    Last edited: May 8, 2014
  17. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    I've retested and it crashes with very shiny stuff. Those fancy spark like flasehs in teh reflections, when one of these comes too bright the thing goes black. Just keep looking to the shyny ground and crashes. I can record the screen if this can help.
     
  18. squared55

    squared55

    Joined:
    Aug 28, 2012
    Posts:
    1,818
    As everyone else has said, awesome work. Would you mind making a short guide on creating the reflections? :)
     
  19. Botanika

    Botanika

    Joined:
    Nov 2, 2013
    Posts:
    60
    Oh thanks, I get it now, I'll do what Rea suggested, and see if this can solve the problem.

    sure, I'll try to record my workflow at 2x speed or smthing, and upload it to youtube.
     
  20. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    I'm okay; no problems. I was just curious if you were saving up the minor updates and fixes for a 1.1 version or something.
     
  21. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    Has anyone integrated real-time screen space reflections using Lux, similar to how Unreal 4 does it?
     

    Attached Files:

  22. kenshin

    kenshin

    Joined:
    Apr 21, 2010
    Posts:
    940
    Really a nice work!
     
  23. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Hoping to try soon after ive either figured out how to filter environment maps in a second or two or given up and got back to making enough of a scene for lux and SSR to interplay in interesting conditions
     
  24. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    Someone early on did offer to contribute their SSR code to Lux. It should be on one of the earlier pages in the thread if you want a start point for maybe integrating it.
     
  25. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @CPTTechnologies: I actually had no idea! fortunately, I am at my TAFE college right now, and the computers in there are MONSTERS!

    EDIT: I just wrote a geometry shader in DX10 SM4.0 format, and it actually worked on my laptop! I AM SO HAPPY RIGHT NOW!!!

    That also means your executable would run, just minus some features... ;)
     
    Last edited: May 9, 2014
  26. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I'd been thinking about it for a while and serves me right for not looking at the Lux shader code itself but I was thinking about adding the Oren Nayar BRDF for diffuse shading with no idea how to do it or even how it worked in PBR given i'd only used it previously in regular unity surface shaders and i'd copied it off some random youtube video where it wasnt even on the screen for very long, and I only got keen on it because it looked so good for fabrics.

    Now it's PBR's day and I wasn't sure how it would be used in Lux but then i recently ran across this from Crytek talking about how they did the visuals for Ryse http://www.crytek.com/download/2014_03_25_CRYENGINE_GDC_Schultz.pdf and then i've just now been looking through Lux and I imagine it might work well as an option for the diffuse component of the shaders instead of Lambert like there's a choice between Blinn-Phong and Cook-Torrance for the specular

    I've run across Fujii's improvement to the 'cheap' version of the original very expensive BRDF here http://mimosa-pudica.net/improved-oren-nayar.html

    Lots of maths. But I only found that because of this http://answers.unity3d.com/questions/565422/need-help-with-oren-nayar-lighting-model.html which has 2 working examples.

    It also links to this http://shaderjvo.blogspot.nl/2011/08/van-ouwerkerks-rewrite-of-oren-nayar.html which is nice as it has both the maths, analysis and code included

    I was wondering how fibers of cloth might be simulated without banging a typical rim effect on it, which isn't physically 'right' and all i can conclude is looking to skyshop's skin shader which has a 'fuzz' effect which i'll look at when the age it takes for the shaders to compile ends

    Cloth would be perfect with this and the detail shaders, it's i guess more 'correct' than a general roughness value

    As the crytek article refers to its helpfulness with rock (And I imagine all sorts of outdoor surfaces) I guess i'll ask Tomas about it too for RTP, that would be pretty neat
     
    Last edited: May 9, 2014
  27. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    That would be adding a new lighting model which is change all the lighting model in the scene in deferred.
     
    Last edited: May 9, 2014
  28. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @rea: that would be painful...
     
  29. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Kinda, but there's two option for this kind of thing
    1. Switching all the lighting model in the scene into OrenNayar like how Lux did for BP and CT
    2. Additional lighting model which rendered in forward
     
  30. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I'd be happy to test this, i keep trying to get stuff together to show Lux off which ends up taking forever (And I keep obsessing over runtime convolution too but i might give up for now), but i feel like i could have a go, at least it would be better to, if the idea is to be as 'physically based' as possible to consider a diffuse BRDF now rather than when there is even more substance to Lux.

    I know it's not a trivial addition, it's a replacement for diffuse shading, but i guess if it's not thought of as worthwhile i'll try and do it myself, and if i have any success (as in everything looks fine in deferred) i'll get back to you all. If i understood github a bit better it would help cause i guess i should fork it and do this myself rather than put it here in the forum right now.

    I'm guessing using the LuxOpaque render type would be a start if not changing LuxDirect, i guess i should try that and it would render ok as forward in deferred, like the skin and translucent shaders? I'll use those as a basis anyway

    I'll have a go and if anyone has any contribution i'm happy to test everything with everything
     
  31. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    That's the gist of it yes, it would take a great deal of testing, which i'm happy to do for this, and i should probably do your option no.2 myself first to see the outcome properly, but I think if crytek thought it was worthwhile it might be worthwhile, and i guess it would mean a full break from 'basic' diffuse shading, which is the Lambert model

    EDIT:

    Well, i have something working in the 'forward in deferred' manner but it's showing black at the normals grazing angles when lit solely by the ambient lighting sometimes, im doing something wrong somewhere, i note the dotNH etc are calculated differently in the above examples and Lux's shaders so i wonder if its something to do with that. I'll keep going, and have a try at putting it in LuxDirect to be brave
     
    Last edited: May 9, 2014
  32. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    And now i see how much work and brains has gone into all this, i've got 'something' working in forward and linked up to the custom inspector and wotnot, i don't think it's physically correct, as illumination drops a great deal when it's on, but it looks pretty! A little different, but as i'm not sure what i'm doing anyway i'm not sure i can call it a proper implementation. I can see why this stuff can keep people up at night, and a lot of respect to Lux's contributors and creator, serious brains involved. I have no idea if anyone's really interested but i'll try get a scene up with this and that from the pile-of-stock on my hd. I don't even know if people will think it's terrible, but i had a go at least
     
  33. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    @Lazygunn : you might want to focus working on the forward only, say...the second option in my post above. And make sure everything is works correctly with Lux, if everything is working and nicely integrated moving to first option would be easier since you already have working shader base :)
    Good Luck
     
  34. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I've found either way is fine for me, have it up and running in deferred too now.. it looks different in deferred to forward and that's probably because i don't understand the code very well at the moment. It's in the interface also, just pops up in the custom editor if you give your shader a _Roughness property (which just simply multiplies the specular roughness/1-gloss or something, it's a useful arty control).

    Have a bumped specular and translucent version, which is good for now, i'll probably get a few more wonkily integrated as i build this demo scene, which i'm mainly making as a playground as my main project is going very slowly (Figuring out dynamic-ish environment maps, i think i'll have to do trickery rather than the cleaner way i was hoping for)

    I'm not exactly sure what to make of the difference in forward and deferred, im probably being really dense about the order of things and i'm definitely not being efficient, most of the calculations could probably be combined and actually come closer to how it's actually supposed to look, it's hardly ready for mainstream consumption, but it is very pretty! So i'll be using it for now i think and try and work towards understanding it all. I'll probably put it on my github i guess eventually, but atm it's arty rather than useful to everyone. I think if i can get forward and deferred generally looking the same-ish under a single directional light i'll be doing okay
     
    Last edited: May 9, 2014
  35. Botanika

    Botanika

    Joined:
    Nov 2, 2013
    Posts:
    60


    @lazygunn : Good luck . sounds like you put a lot of work in it.
     
    SememeS likes this.
  36. jmatthews

    jmatthews

    Joined:
    Jul 27, 2011
    Posts:
    199

    reading through the thread since my last participation so if this has already been answered feel free to disregard.

    The overall concept is to push as much detail as possible down the texture trail.

    For metals your albedo is black, your spec color is your metal color of course, your roughness map is your shinyness, your normal map is your reflection/refraction vector.

    So think about a plate of metal. Let's say it's gold like your robot. If you scratch it, it wouldn't change the albedo(black), it likely wouldn't change the elemental refraction(gold), but it would change the reflection/refraction vector, it may also change the shinyness.(did it scar? or did it polish?)

    A metal barrel that is painted would have a uniform shinyness, if the paint is clean everywhere. Add some fresh scratches that expose the metal below and you have some additional character.

    The concept is to push that character into the dynamic portion of your textures. So you don't change your scratch area to a metal color, you "make" that area metal. Albedo is black, specular color is tuned to the reflectance of say aluminum, normal shows the slight depression or abrasion of the scratch, and shinyness goes up to distinguish the difference in the new material.

    Now as you walk around that barrel you have a dynamic interplay or reflections and refractions of the metal mixing with the scene lighting. Your increasing the information density of your scene which makes it look far better.
     
  37. Hedonsoft

    Hedonsoft

    Joined:
    Jul 11, 2012
    Posts:
    168
    Read through the forum but might have missed the solution.

    Am getting Assets/Lux/Lux Scripts/Lux Cubemapper/Scripts/LuxCubeProcessor.cs(1040,8): error CS8025: Parsing error

    Building for windows standalone. Tried building in a new project with new Asset Store download.
     
  38. squared55

    squared55

    Joined:
    Aug 28, 2012
    Posts:
    1,818
    Thanks a ton. Can't seem to get it to work properly, but I'll give it another try tomorrow after some sleep. Are there any common mistakes or things that are overlooked that might give me a result like this? (The corridor is made up of 4 game objects, each one containing 1 floor and roof segment, and 2 walls)

    $Reflection Error.png
     
  39. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    Try directly from the repo instead of the asset store version.
     
  40. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    I'm having issues getting trees to look right with the Tree Shaders. The leaves are too bright and washed out. It's not the Unity bug with putting fog on the textures. I think it has something to do with Shininess in the leaf shader but I'm not sure. If I move the Shininess slider far to the right, the leaves look correct, but then they have tiny super-bright specular highlights if I look at them from certain angles. With the Shiness slider far left, there's no highlights, but the leaves are very bright and washed out. Any ideas?
     
    Last edited: May 10, 2014
  41. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Does the shader for leaves take a gloss/roughness map (specular alpha)? I haven't looked myself. If they use LuxDirect then it would be easy for me to check with my Oren Nayar addition as it uses the roughness map and a multiplier to drive the shading from completely rough through to smooth with regular lambert-seeming reflection to very shiny and wet seeming. As I intend to spend today making an environment reasonably quickly, might be time to use a Michael O demo and assets, put my oren nayar diffuse shading into RTP for any terrain (Lux's terrain confuses me at the moment and i'm pretty famiiar with rtp) and then i'll probably as a matter of course be running through quite a few different Lux shaders to account for everything. So i'll look into that! I'm hoping the new AFS is soonish and i think it was Botanika who did the skyshop-style 'zone' system for skyboxes and box correction that applies? Have you updated it since (if youre reading)?

    I'd really like to use as many Lux tools as possible over Skyshop just for the hell of it, as the only main difference tool-wise it seems now, if a system's there for switching between diff env maps when appropriate (with blending), is a very quick answer for cubemap convolution, but i'm happy to use skyshop for whatever I can assuming updates coming out as soon as implied. Reading the Lux source has me so impressed. I gave the link to the cube processing script to a mathbrainiac friend so if he has time he may see it as a challenge to get it running fast with a compute shader - assuming he takes on the mantle and makes something thats quick, even if not suitable for runtime use, that would be neat for making very complex scenes with many linked zones and associated environment maps. He's decided to use Unity for his work hackathon, which is really interesting given his work is not much to do with Unity, in his first couple of days he's got 3D scanning (with a kinect i think) and a VR setup for it running. And when it's in DirectCompute i'm told it's not necessarily too hard to port to OpenCL, which is my basic goal so mac and Linux users can use it without hassle

    Lux is turning into one of the most exciting things on my computer! My frog guy with the OR version translucent and bump spec looks so realistic it's spooky. I'll watch Botanika's video now, it looks like everyone should.
     
  42. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    And that video was superb Botanika, very informative and showing the strengths of box correction and mitigating many of the problems with it. Extremely interested in seeing it with SSR, would you be willing to share a single room of your level so I might run it through Candela? As Lux uses surface shaders and Candela pretty much takes the specular from the surface shader for a mask (i think) i think they should work! I only ask as you already have the box correction and materials set up perfectly so i can just chuck Candela straight on and see if there are any hitches. The first time i used Candela I was initially very unimpressed and somewhat disappointed, so tried to figure out a way to fix problems that i found significant and ruined the effect, like the reflections having to be very obviously blended away at image edges. Box correction with replacing Candela's materials with skyshops was seeming a perfect answer, or perfect as it will get for now, the env maps blending in very nicely with the SSR effect producing lovely reflections. I wouldnt bother with SSR unless you have something like that in mind

    If not, and i completely understand if not, i do have some Michael O or Stonemason (They make stuff for Daz3D) stock thats very suited to that exact workflow (Rectangular sci-fi corridors), although that's not to say it's limited whatsoever, as i don't really think it is! At least for any reflections that aren't supposed to be perfect mirrors.

    I'm going to get to working on this stuff
     
  43. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    please get the latest version from the github repo
    lars
     
  44. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    just great!
     
  45. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    @makesshiftwings: i haven’t looked into the tree shaders for a while – but working on my afs package i had to find out that the terrain engine has more bugs than the lux shaders handle… nevertheless they should give you pretty good results.
    have you checked the import settings of the combined normal, trans, spec map? it must be set to "bypass srgb sampling".

    @lazygunn: the tree shaders do not use lux direct lighting but a modified standard blinn phong.
    as far as you oren nayar and the differences between forward and deferred are concerned: have you tweaked the internal prepass lighting shader?
    anyway: deferred will always give you a "wrong" fresnel – but that should not effect difusse lighting...

    lars
     
  46. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    Hey lars I keep getting this error repeating. As far as I know it is not affecting anything.

    $Lux_error.jpg
     
  47. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Hey, yeah for deferred all the Oren Nayar code is in internal prepass, figured that out from the comments in the core shaders. The issue i've just found could be where i put the Oren Nayar code in relation to the the lines regarding the light contribution and the 'final dotNL'. I've made them all consistent now (I'm testing across internal prepass, LuxDirect and a custom lighting model, translucent bump spec, adding cook torrence to translucent) and the main difference is indeed the fresnel, i think i'm doing things in the wrong order, i'll try fix that now
     
  48. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    looks as if the script does not find a terrain material...
    have you assigned any?

    lars
     
  49. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Yeah, the leaf shader takes a glossiness map, but not a specular color map; according to the docs it uses the Shininess slider to fake it by having it correspond to a flat shade of grey from black to white for the whole leaf. But it doesn't really seem like that's what it does to me; I guess that's part of the issue. And for the record I'm actually using Michael O's Autumn pack for a lot of this... I've been messing with the trees and they mostly end up looking too pink or white instead of red or yellow like they're supposed to. (There's a pretty nasty bug that caught me at first, don't know if you're aware: If you create a tree or click "Refresh" in the tree graph while you have fog turned on in your Render settings, Unity will render the fog on top of the texture which looks terrible... you need to turn off fog, delete the tree's texture folder completely, then refresh the tree, then turn fog back on). I haven't looked into Botanika but I'll give it a shot.
     
  50. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Ugh, yeah, I've been running into plenty of bugs in Unity's terrain as well. Thank you so much for doing the work to fix some of them on your own! So, you were right that I hadn't turned off sRGB sampling on the normal/spec/trans map; I did that and it helped but the leaves still look washed out. I can see it just looking at the leaf material preview itself in the inspector, before baking it into a tree. If I move the shininess slider all the way to the right, it looks like I'd expect, with normal saturation, except that there are tiny ultra bright spec highlights. If I move the shininess slider all the way to the left, it's sort of like a big highlight gets spread across the whole leaf, basically just adding white to it and making it look pale and desaturated. This doesn't fit with what it seems like it should do according to the docs... it says the Shininess slider is used to "fake" the specular color, and that all the way left represents black and all the way right is white, and that dielectrics like leaves should usually have it mostly left for a dark grey. But it doesn't seem like it's changing the spec color; it looks like it's just changing the spec exponent like Shininess does in a normal Unity shader, but doing it in a more ugly way than normal.