Search Unity

Marmoset Skyshop - Image-Based Lighting Tools [RELEASED]

Discussion in 'Assets and Asset Store' started by monkeyscience, May 31, 2013.

Thread Status:
Not open for further replies.
  1. PixelRouterVR

    PixelRouterVR

    Joined:
    Jan 6, 2014
    Posts:
    20
    Hi MonkeyScience. Such awesome work!

    Have you ever considered supporting the Smart IBL (sIBL) standard?

    For anyone not familiar with is, sIBL is a format for packaging the reflective,diffuse, and specular maps which make up an HDRI lighting environment. Its really just a .zip file that adheres to certain naming conventions. It also provides a mean for defining light sources based on the lighting information in the HDR images. So, for example, if there is a sun in the image, the sIBL creator software will figure out it's apparent direction and then store this image in the sIBL archive. This info could be read in by Unity and used to create a directional light.

    I think it would be cool if SkyShop could read and write this format.
     
  2. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705


    Skyshop 1.06 is now available in the Asset Store! - (Requires Unity 4.2.2 free or pro)

    New this version:
    · Mobile-ready Fast Skin Shader (Beta)
    · Mobile-ready Simple Terrain shaders
    · OnTriggerEnter/Exit handling for localized skies
    · Improved per-object binding
    · Improved render-to-cubemap tools (Pro Only)
    · Toggle for auto/manual applying of individual skies
    · 2048 x 2048 Cubemap capture
    · Skin shader now also scatters Unity's light-probe lighting

    Some bugs fixed this version:
    · Skyshop no longer crashes when you press play with a loaded Input Panorama!
    · Glass and Transparent shaders work on mobile again
    · Vertex Color Occlusion shaders no longer break Unity's image effects
    · Spherical Harmonics Skin IBL intensity now matches other shaders

    Much of the work for this version went into improving localized sky probes and the tools to capture/process them. There were also some major bugs I wanted to fix before I made the leap to a big new feature set.

    This will be the last version of Skyshop compatible with Unity 4.2.2. I will be switching over to 4.3+ in 1.07 and hopefully bringing you a much-needed shader overhaul.


    Here is the full 1.06 change log for those who are interested:

    Skyshop 1.06 Change Log
    =====================
    Major Features
    - Toggle for automatic/manual binding of indvidiual skies
    - Sky script now handles OnTriggerEnter and OnTriggerExit events
    - Added mobile-optimized "Skin Fast IBL" shader to Beta/ shaders
    - Reload buttons to manually refresh the textures referenced by cubemap slots
    - New-All, Find-All, and Clear-All buttons
    - "Panorama Name" field for easy naming of cubemaps created with "New" and "New All"
    - Simple Terrain shaders work on mobile platforms

    Edit/Skyshop
    - Unity no longer freezes when entering play mode with an Input Panorama present (serialization/memory bug)
    - Adjusting intensity and exposure sliders no longer causes SH recompute (no more lagging!)
    - Skyshop convolutions are no longer brighter than the source image (better normalization term)
    - Input Panorama textures are set to "Bypass sRGB" before being used as input (fixes LDR horiz. cross gamma issue)
    - Cubemap probes can be captured at 2048x2048 now

    Shaders
    - Skin shader now also scatters Unity light probes
    - Skin and spherical harmonics brightness now matches other IBL cubes
    - Fixed translucency with omni and spotlights
    - Added 90 more degrees of range to anisotropic direction (now 0-180 degrees)
    - Vertex Color and Vertex Occlusion shaders work with Unity's image and post effects (can't be custom render-type)
    - Mobile Translucency and Simple Glass shaders work on Android again (was missing #MARMO_ALPHA)
    - Shaders now keep a float _SkyID to make sure skies can only unbind themselves from specific renderers
    - Box projection no longer affects diffuse lookups (it is expensive and looks bad with a diffuse distribution).

    Known Issues
    - Box projection works only in Unity 4.3+ (#pragma multi-compile requirements).
    - Skyshop cubemap previews have to be refreshed manually when returning from play mode (Reload All button).
    This is an alternative to the slow, memory-intensive serialization method that caused Unity to freeze in 1.05
    - Vertex Occlusion and Vertex Color are ignored when capturing HDR cubemaps, a limitation of Unity's RenderType
    and replacement shader system.
    - Marmoset's Advanced Terrain shaders do not work on mobile platforms yet (investigation continues).
     
  3. garyhaus

    garyhaus

    Joined:
    Dec 16, 2006
    Posts:
    601
    Monkey,

    SAHWEET! Thank you so much.

    Gary
     
  4. kenlem

    kenlem

    Joined:
    Oct 16, 2008
    Posts:
    1,630
    Wait... Does Skyshop work on mobile? In my tests, everything was washed out because the textures are in gamma space and not linear. Is there some work around to that on iOS and Android?

    EDIT

    Just saw this entry on your site.

    8) My materials and skybox look washed-out and too bright. What’s wrong?

    This is most likely a color space issue. Skyshop defaults to ‘Linear’ color space. Be sure your colors space settings on your Skyshop “Sky Object” match your Unity project colorspace settings. Also, mobile platforms do not support linear color space, so if targeting mobile platforms, be sure you set your color space settings to ‘Gamma’.


    I'll have another try now.
     
    Last edited: Jan 29, 2014
  5. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I knew you had something cooking... Looking freaking sweet... So when will you guys be moving to PBR and hair rendering? I'm still having issues with transparency not casting shadow. Can't wait to play with the new features
     
  6. braaad

    braaad

    Joined:
    Oct 4, 2012
    Posts:
    102
    Hi MonkeyScience,

    Sorry for digging up this old issue but I still have not found a solution to this problem. I was never able to get it to refresh like you said it did for you by switching between colour spaces. I have been waiting and hoping that something in a future update would fix this but it hasn't. I am using the latest Skyshop version (updated today) as well as Unity Pro 4.3.3. All testing I have done has been in your terrain demo scene for consistency. I have even tried a brand new empty project with just Skyshop to make sure nothing else was interfering and still got exactly the same issue. I am not sure what else to try...

    Is anyone else apart from me experiencing this?
     
  7. omarzonex

    omarzonex

    Joined:
    Jan 16, 2012
    Posts:
    158
    this is my designer car and Carage games Super Cars

    Super Ultimited Extreme Shaders









     
  8. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Hey Braaad, lets resolve this today. Send an email to support at marmoset.co with some screenshots of what the terrain demo looks like to you in an empty Unity 4.3.3 project. Please also include what platform you are developing for and any console errors or warnings you are seeing when Skyshop is first imported.
     
  9. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    I'll have to do some digging into this, sounds cool :). Thanks!
     
  10. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    monkeyscience,

    There seems to be a bug in 1.06. Screenshot 1 shows my Skyshop setup but I can't click the "Compute" button. Screenshot 2 will allow me to click "Compute" after I collapse the 'Output Cubemaps' section. AM I missing something or is that a bug?

    Thanks.
     

    Attached Files:

    • $2.gif
      $2.gif
      File size:
      82.2 KB
      Views:
      1,599
    • $1.gif
      $1.gif
      File size:
      108.7 KB
      Views:
      1,559
    Last edited: Jan 29, 2014
  11. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    Also because I have to collapse the 'Output Cubmaps' it will not allow me to add the Sky to my scene. once I un-collapse it I still can't add my sky.
     
  12. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    That's a bug, good catch! Fixing now.

    As a work-around, add a sky object to your scene (weird, I know). Game Object->Create->Skyshop Sky
     
  13. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    You're welcome.

    That'll work for now, thanks.
     
  14. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Hey Monkeyscience,

    could you show us a nice workflow for having multiple sky objects in a single scene, such as a room with smaller rooms... I need to have multiple skies with Box projection turned on (and these skies are static and always present... thanks a bunch man...
     
  15. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Yes, I plan to put together a tutorial or video or something. The workflow could use a lot of tweaking too, it's a complicated process at the moment :-/.
     
  16. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    1.061 patch is out and fixes this. Sorry for the QA fail.
     
  17. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    This is awesome... I love the New All button and naming the cubemaps...

    I rather learn it this way than not have it at all... I plan on having cube map probes all over the room for certain parts...
     
  18. brzozowsky

    brzozowsky

    Joined:
    Sep 12, 2011
    Posts:
    39
    Is it possible to enable shadow for directional light in the IBL shaders? I don't want use the unity shadow for directional light. It don't work with 3dvision.
     
  19. erana79

    erana79

    Joined:
    Jun 26, 2013
    Posts:
    61
    Hello!

    I purchased Skyshop yesterday and it's really awesome! Fanastic addon to a wonderful engine.
    I've been fooling around with Skyshop and dDo yesterday and have a question:

    Is there anything i need to keep in mind when exporting my textures from dDo to use in Unity with Skyshop?
    The previewer of dDo (obviously a Skyshop/Marmoset previewer) always renders a bit different than it does in Unity.

    Sure, there are different skyboxes and stuff, but it looks a bit sharper/reflective/smoother... you get the picture.
    So i was wondering how i could replicate what i see in the dDo previewer in Unity-Skyshop (besides skies). Do i need to boost something, like specular/gloss etc.?

    Noob question, i know, but i just got started with Marmoset tools :)

    Thanks for you help!
     
  20. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    When I am working with textures taken from dDo and tweaking in Skyshop, my workflow has been to turn off the light in the scene so the models are lit with just the IBL in the skybox... usually, it is very close to the results in dDo, but I often find myself boosting my spec and gloss setting in the texture... also a nice little tip for you... in dDo, you can export each texture individually as you tweak them... I will usually just use Unity as a guide for previewing...
     
  21. erana79

    erana79

    Joined:
    Jun 26, 2013
    Posts:
    61
    Thanks for the quick reply! Reading through this thread i see you're a Skyshop poweruser :)

    Do you boost the spec and gloss settings in dDo (the whole texture in the export window, or do you change the sliders in Unity/Shader?

    Maybe i misunderstood this, but isn't this the way you generally do in dDo? Export selected/Export all maps in the export window in dDo?
     
  22. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I usually do it in dDo and then export it to Unity... I don't use the previewer much since I will be moving my asset to Alloy...

    Yep. Also make sure dDo is setup so that the gloss is the alpha of the spec. Also I use Linear Color and deferred rendering
     
  23. erana79

    erana79

    Joined:
    Jun 26, 2013
    Posts:
    61
    Oh... is that out yet?
    I own the Alloy shaders too and they are pretty badass!
    Can you bake out Roughess and Metallic maps from dDo as well?
     
  24. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    hi,

    Any skin shader example scene?

    Dev
     
  25. StarHunter32

    StarHunter32

    Joined:
    Feb 10, 2013
    Posts:
    99
    Here's an issue I keep getting even with the new version:

    The glass shader does not seem to work, at least not on Windows.
    It works perfectly with the very first version of Skyshop, but when I update the glass becomes black.



    I wonder what could be the cause of that?
     
  26. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    The roughness map is basically the gloss map for skyshop... metal maps can be made on their own, since they are just black and white
     
  27. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Directional lights should already be casting shadows. However, Skyshop does not implement it's own shadow code. All shadows cast by dynamic lights are handled with Unity I'm afraid.
     
  28. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    A quick comment here, If your lighting is looking significantly darker or more contrasted, you may want to consider enabling Linear Color Space.

    If your textures are looking blurrier than you would expect, make sure Unity is not overzealously reducing and compressing them.

    If your specular is still not to your liking, all the sliders and parameters of the Marmoset shaders can be used to tweak the values stored in your diffuse, spec, and gloss textures. It is possible (and encouraged) to set all these parameters to 1.0 and do all of your material authoring through the textures alone. The params can then be used as a tweaking tool for quick feedback on what needs to be changed in dDo.
     
  29. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    What platform are you developing for? And are there console errors? This used to be a problem in Skyshop 1.05 for Android.
     
  30. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    +1
     
  31. StarHunter32

    StarHunter32

    Joined:
    Feb 10, 2013
    Posts:
    99
    For PC and mobile.
    Just noticed that the mobile shaders are fine. Mobile/Simple Glass works great.
    It's the "standard" Simple Glass material that seems to be black. I also tested on completely empty project.
     
  32. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Hey Monkeyscience,

    Does Toolbag 2 have fresnel masking? That would be awesome to have in Skyshop
     
  33. topofsteel

    topofsteel

    Joined:
    Dec 2, 2011
    Posts:
    999
    OK i Give up. What is dDo?
     
  34. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467

    This :D:D:D:D:mrgreen::mrgreen::mrgreen: :arrow::arrow::arrow::arrow::arrow: www.quixel.se/ddo
     
  35. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    i saw the ddo as i started reading the page and thought 'that sounds like ndo' so i googled and i now feel like ive won at life, thanks!
     
  36. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Now come to the dark side... buy it... :mrgreen::mrgreen:
     
  37. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    I can't seem to replicate it here. I'm on windows, Unity 4.3.3, Skyshop 1.06, building for Android; both Simple Glass/Specular and Mobile/.../Simple Glass/Specular show up in the editor and on the device.

    Please email support at marmoset.co and include screenshots, console errors, and really as much detail as you can about your empty project failing.

    Also select the Marmoset/Shader/Transparent/Simple Glass/Specular IBL.shader file in the Project View and let me know if the shader asset is showing any errors or warnings in the Inspector.

    We'll get to the bottom of this :)
     
  38. Zenchuck

    Zenchuck

    Joined:
    Jun 2, 2010
    Posts:
    297
    I have my own lightmaps baked externally. When I open up the marmoset shaders I just see a bunch of #define statements. How can I add my own lighting information (basically just AO)?

    *** edit *** I found how to change them now using "_OccTex"
     
    Last edited: Jan 30, 2014
  39. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,209
    Is the 'Alpha Cutoff' still in development within the skin shader? I ask because I'm not getting a smooth alpha mask like I would with the Unity Transparent shader.
     

    Attached Files:

  40. StarHunter32

    StarHunter32

    Joined:
    Feb 10, 2013
    Posts:
    99
    Thank you sincerely.
    I'll still make an overall inspection one more time of all of my geometry and settings in case I might be overseeing something.

    EDIT: When imported on completely empty project everything works, don't know why I though it doesn't the first time.
    So it's definitively something I have done to my geometry and/or project.

    This is just to clarify that Skyshop works great, it's something I've done with my stuff! ;)
     
    Last edited: Jan 31, 2014
  41. Zenchuck

    Zenchuck

    Joined:
    Jun 2, 2010
    Posts:
    297
    Is there any way to uncouple Diffuse and Bump from the same UV space? I often like to tile the diffuse on UV1 and leave Bump and AO data on UV2.

    I think there is a shortcoming in the shader.

    Try changing the tiling of the diffuse in the inspector and the normal will change as well. These should be independent.

    This looks really cool but I will have to plan my project to work within this framework. It is not suitable to try and apply this to an existing project (at least not in my case). I am a fan of the Marmoset products.
     
    Last edited: Jan 30, 2014
  42. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    They will almost certainly get my money, along with Marmoset,
     
  43. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    This was done to cut down on the number of lookups in the shader...
     
  44. erana79

    erana79

    Joined:
    Jun 26, 2013
    Posts:
    61

    By Marmoset shaders you mean the shaders inside Unity, or from Toolbag? I only own Skyshop -yet!-. This stuff looks really cool1
     
  45. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Actually it was done because of vertex-to-fragment interpolator limits. Unity does its texture tiling settings in the vertex program and sends the coordinates through interpolated registers, of which there are only 10. You run out of them real quick, doing real things with surface shaders.

    I'm working on an alternate GUI for the next round of shader updates that does UV tiling in the fragment program and per texture slot.
     
  46. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Yeah, I meant the shaders for Unity that come with Skyshop. Marmoset's the company, and Toolbag is an entirely separate thing by Marmoset Co. Sorry for the confusion.
     
    Last edited: Jan 31, 2014
  47. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I'm glad I am using 4 :)... will you be including the custom UI with the numbers next to the range sliders? And I also sent you a PM in regards to the transparency sorting... and also the lack of shadow casting
     
  48. Zenchuck

    Zenchuck

    Joined:
    Jun 2, 2010
    Posts:
    297
    I was just frustrated when I couldn't go into the shader and start making changes. I do a lot of messed up things like packing 4 lightmaps int an RGBA and breaking them apart in the shader. The way you code things is a little too efficient and above my hackish level of programming to be able to make any changes - not that I should. I need to learn the way of the Marmoset.
     
  49. negativecap

    negativecap

    Joined:
    Jan 27, 2013
    Posts:
    99
    Having a problem, the grass replacement shader appears to be broken for me, I'm getting pink grass and a ton of "material doesn't have a (color, texture, etc.) property" errors... any thoughts anybody?

    In addition, it seems that the #define features of Skyshop might be putting me over my max (64) shader keywords, with the use of a (very few) additional shaders. Is there any way to manually compile them so that this isn't a problem?
     
    Last edited: Feb 1, 2014
  50. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    I'm having some issues on mobile using the specular fast ibl, and bumped specular fast ibl shaders on android but only when using high poly models, such as my main character of 4k triangles (has an LOD of 500 polys that functions correctly with the shaders)

    basically when adding another light the entire character turns a bright white color in the areas that are lit up by the light, i tried with a point light using both forced important and non important (vertex vs pixel lit), and both times the character just lights brightly in those areas)

    i was also having issues when i enable lightprobes on this high poly model, where the entire character is black or super white depending on the lighting of the light probes.

    Is this a limitations with the amount of triangles i can have using these shaders on android?
     
Thread Status:
Not open for further replies.