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. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    Just installed version 1.06 of Skyshop and I was looking forward to the new Simple mobile terrain shader but there doesn't seem to be any new Terrain shaders in the mobile menu and the Simple Terrain shader that is in the main Marmoset menu just causes the textures to go all fuzzy like I mentioned a while back in this thread. I didn't spot anything obvious in the Beta menu either.

    Are there really any new mobile terrain shaders? If so could you let me know where they're lurking

    Thanks!
     
  2. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    yeah i have the same issues cl-apps, it seems they announced new simple mobile terrain shader thats supposed to work, but when applied, it tells you that your terrain cant use the shader. They should really test the shader before submitting the update. Also i was using the beta skin mobile shaders too, they seem to only work in Opengl Es2 emulation on the editor, but not in the android build itself. very unfortunate.
     
  3. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    No idea this was in the madness sale, now a proud skyshop owner! Here's hoping it's as lovely as it seems
     
  4. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    Will normal lights in an existing scene still illuminate the objects that dont use Skyshop shaders ?
     
  5. Mesothere

    Mesothere

    Joined:
    Sep 16, 2013
    Posts:
    9
    I'm really interested in trying this for my game, but I've got a few make-or-break questions:

    My game is a procedural RPG. The landscapes are all generated at run-time and there's a full day-night cycle. How does the skyshop handle either of these things?

    Also, what kind of performance should I expect in BIG environments?
     
  6. TimVR

    TimVR

    Joined:
    Feb 3, 2014
    Posts:
    5
    Can anyone help me solve this strange problem?

    When I click compute it washes out all the textures I use for input panorama.


    $washed.png

    You can clearly see that the image it computed for skybox is very bright compared to the input.

    It also does this when I follow all the instructions in the tutorial video with the same assets.
     
  7. Deleted User

    Deleted User

    Guest

    @TimVR
    That's from the RGBM encoding. Part of how it works is that it normalizes every pixel's color components so that the maximum value per pixel is 255.
     
    Last edited by a moderator: Feb 3, 2014
  8. TimVR

    TimVR

    Joined:
    Feb 3, 2014
    Posts:
    5
    Then why doesn't this happen in the example/tutorial video? The same thing happens to the austria texture when I compute it. It does not do that in the video though...

    EDIT:

    Found the solution. The problem was that my project was located on a network drive (company server). Copied the project to local drive and it was fixed.

    EDIT2:

    I thought it was fixed. It wasn't... Anyone any idea?
     
    Last edited: Feb 3, 2014
  9. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    Greetings monkeyscience!

    This looks so great. We just had a 2 questions, one being the same as Mesothere - our game uses a voxel terrain generated on the fly at run time and has Time of Day night and day system. I posted on his thread to take a look at this and see if the two could work together. Does it seem like Marmoset Skyshop would work in that kind of environment?

    My second question is, any way you could include Triplanar support for the shaders - the terrain ones would be what we are interested in. Looks amazing. Thanks for your time!
     
  10. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Last edited: Feb 3, 2014
  11. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Are there shader or console errors when you see pink grass? That should not be happening.

    Also, there's a #define cap?? I have not heard of this. #defines are preprocessor commands for the compiler, and as such should be limitless, and constrained to each individual shader + the .cginc files they include (there's no sum total of #defines for instance).

    By the way, #defines are different from the keywords that you can set on the scripting side via Shader.EnableKeyword("BLAH"). Keywords are #defines exposed with #pragma multi_compile, and Skyshop only sets one or two of these.
     
  12. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Interesting. Do you have screenshots of how bright white the model turns? Unity 4.3 did change the behavior of how too many light sources are handled on the same model. So far I've only seen a few deferred lighting discrepancies. I would recommend submitting a Unity bug report with the screenshots as well.
     
  13. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Size of environment has no bearing on performance, day/night cycles are trickier however. You can't change the image part of the image-based lighting much at run-time. You can rotate it and change the exposure/brightness to follow your sun and dim in the evening. But you can't have changing cloud cover over time or tint the sky lighting orange in the evening. This would require changing the HDR source image and recomputing it in Skyshop.

    Some dynamic sky systems do complicated atmospheric and Raleigh scattering simulations to come up with the skybox image as a background, but those systems can't light your entire scene with the generated sky ;-).

    NOTE: It is recommended you represent your shadow-casting light-source (the sun) as a directional light in the scene anyway. Moving, tinting, and dimming directional lights along-side unchanging, image-based, ambient light can get you far.
     
  14. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    I would say fixed camera 3D games can still benefit from fancy lighting, as long as there are 3D models that need lighting.

    For example, here is a fixed-camera puzzle game by a developer who was asking Skyshop questions earlier in the thread:
     
  15. Deleted User

    Deleted User

    Guest

    Hi,

    just a quick question: If I plug in a spec map or gloss map do I have to set Specular Intensity to "1", Specular Sharpness to full sharpness and Specular Color to pure white so that they don't influence the maps? Or is there no multiplication taking place between the maps and these channel values once I plug in maps?

    Another question: a fellow developer said that Fresnel reflections cant be achieved in Deferred and thus have to be faked. Is that true? I think he was only talking about the reflection of specular highlights and not about environment reflections.

    Thanks! :)
     
  16. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    The slider and color values are multiplied with the map so you would want to set them to sharpest, 1, and white.

    Fresnel falloff the way Skyshop does it can be achieved in deferred mode because the fresnel term is multiplied into specular intensity in the surface shader. It then ends up in the specular component of the G-buffer and gets processed the same old way.
     
  17. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    Hi there, any comment on the mobile terrain shaders while I see you're available
     
  18. darthwilson

    darthwilson

    Joined:
    Feb 11, 2013
    Posts:
    11
    Just bought it in the sale. Whoop! Having an issue though. I'm following the video tutorial on the Marmoset website. When I press Compute in the Skyshop window, when it finishes it just hangs and Unity stops responding :(

    Any else have this issue..?
     
  19. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Regarding mobile and terrain shaders:
    There were no new shader files added to 1.06, just Marmoset/Terrain/Terrain IBL and Simple Terrain IBL. The full terrain shader was not designed to work on mobile and does not seem to run on mobile platforms if you try (jury is still out on what causes this).

    The Simple Terrain shader is very similar to Unity's built-in shaders, and 1.06 made it run on Android and (I thought!) iOS.

    It seems there is an OSX Unity bug in which the Marmoset Simple Terrain shader is falsely accused of trying to use vertex tangents (it doesn't do any normal-mapping). The terrain system then fails/gives up on using the shader and falls back to the distant version of it. Unity's distant terrain shaders render with one big, baked, and blurry version of all your terrain splats.

    This seems to only affect OSX builds of Unity 4.3.3. My test cases for android from a windows desktop seem to work. I'll construct a bug report for the Unity guys. Thanks for your patience.
     
  20. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Are you using Skyshop 1.06? This was a bug in 1.05 and should be fixed.
     
  21. cl-apps

    cl-apps

    Joined:
    Mar 16, 2013
    Posts:
    128
    I can confirm the Simple terrain shader definitely isn't supported on iOS.

    The Xcode console throws the following error:

    Unsupported: Hidden/Marmoset/Terrain/Simple Terrain IBL
     
  22. darthwilson

    darthwilson

    Joined:
    Feb 11, 2013
    Posts:
    11
    Well I'd assume it's 1.06 as I just bought it today. I tried it again, only thing I done differently was moved the location of the sample panorama image. All good now. Gotta learn this now, first attempt came out.... interesting haha. Great job guys. I have nDo/dDo and Marmoset 2 purchased to. Great workflow!
     
  23. negativecap

    negativecap

    Joined:
    Jan 27, 2013
    Posts:
    99
    I'm getting a lot of errors when I compile the wavinggrass and wavinggrassbillboard shaders such as:
    Material doesn't have a color property '_WavingTint'
    texture property '_MainTex'
    color property '_WaveAndDistance'
    float or range property 'Cutoff'
    texture property 'DiffCubeIBL'
    etc.
     
  24. neroziros

    neroziros

    Joined:
    Aug 25, 2012
    Posts:
    129
    Hi there! I'm just about to buy your product but first I have a question: Does it support dynamic lighting? even tho my scenes will have static ambient light, there will be a lot of local light points. So I wanna be sure it won't mess with the Skyshop lighting.

    Cheers and thanks for making such amazing product
     
    Last edited: Feb 4, 2014
  25. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    I just bought it and is a marvel, the lighting is really amazing, definitly brings Unity closer to engines like Cryengine in lighting

    I tested with forward rendering, shadows, point lights etc, everything seems to work on top of the Skyshop render, which is what i wanted too, since i am far in my project and just want some extra smoothness in lighting, but not change everything in my scenes

    I will probably be using it for my terrain, tree barks and maybe for tree leaves too and many of my 3D objects, the rest will remain the same, probably will remove one sun light from my usual two major lights setup
     
    Last edited: Feb 4, 2014
  26. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    Thats exactly whats happening right now on the pc version, Turn on Open GL ES2 emulation in the editor, and it will show you that as the error. when you select the terrain, and right below the "material" youve assigned, you'll see that error
     
  27. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hiya,

    Interested in Marmoset but only in the sense of a speedy dynamic IBL solution - for example a model moving through the world would need to be able to fade or switch to new IBL from time to time. Is this planned? Or is it better to just use 1 IBL but also with traditional lights? :)

    Thanks for any replies.
     
  28. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749

    Do you know of nuaj? It uses quite a simple (it seems) way to grab the 'atmosphere' of a situation by generating a cubemap and it seems to rely on this, however I i think it only does it for the environment, using the raylieigh/mie scattering, clouds etc to get a confincing effect. I'm not planning to use skyshop's terrain shader, it doesnt essentially have enough features but rtp can use skyshop skybox for the ibl. While it may be a shot in the dark and i'm just asking cause I cant get trying it yet because i'm trying to get the scene presentable, but i'm guessin i'd use nuaj's cubemap rendering for the nuaj atmosphere and then a skyshop cubemap with everyting else?

    This goes on to say that the cubemap taken from a nuaj/rtp scene can be extemely attractive, so i'm guessing they would be good candidaes to get your basic panorama from, rather than the plethora of premade images

    And cheers for the sale, this has been one of my coveted products and having a copy really opened some horizons
     
    Last edited: Feb 4, 2014
  29. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    Sorry if this has been asked before… this thread is so long now.

    Very pleased with Skyshop, but why does it take so long to import the package… upwards of 15 mins? Is there anything I could do to re-export the package to make it quicker in future?

    Thanks
     
  30. TimVR

    TimVR

    Joined:
    Feb 3, 2014
    Posts:
    5
    Is anyone else having this problem? It is getting quite frustrating because we can't deliver our products with this computed IBL being bleached. It's happening on all our workstations using version 1.6 (latest) with Unity3D 4.3.4.f1 (latest).
     
  31. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Compiling the shaders i think, similar happens to several things i own
     
  32. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    Yep, was having this problem with all the examples. Remove the examples.zip from the project and unzip on the desktop (or some other place), then drag in just the assets you want. I think it was the metadata which was buggy.
     
  33. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    Haven't found the solution yet, but can confirm the same problem. I've tried all permutations of color space, tried following the tutorial too. All .hdrs look washed out and quite unusable. I don't think it is anything to do with the color space though, as the previews look washed-out as soon as they're computed.

    -----
    Unity 4.3.3, Mac, latest version of Skyshop
     
  34. Sepica

    Sepica

    Joined:
    Feb 4, 2014
    Posts:
    6
    I too can confirm this, 1.6 and unity 4.3.4.f1, same problem on any workstation we use.
     
  35. SmashedAvocado

    SmashedAvocado

    Joined:
    Dec 19, 2013
    Posts:
    45
    I'm having the same issue as well. Wondering if it's meant to be like this?
     
  36. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    As lazygunn said, I think it's because it's compiling so many shaders. Once it's done, it's probably possible to export a new version of the package with just the shaders you want for a particular setup.
    Wouldn't be a problem normally but because of the (maybe) examples location bug, and the (maybe) over-exposure bug, I've had to import about 5 times this morning already! :)
     
  37. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    The demo scenes in the example folder all look OK. Doesn't help much, but it suggests the problem is just in the Compute stage.
     
    Last edited: Feb 4, 2014
  38. TimVR

    TimVR

    Joined:
    Feb 3, 2014
    Posts:
    5
    This is true. The problem is that the customer does not want to have it's real-estate project located in "austria" ;)

    I hope there comes a solution to this problem soon. We need to deliver ;(
     
  39. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    bump
     
  40. wccrawford

    wccrawford

    Joined:
    Sep 30, 2011
    Posts:
    2,039
    http://forum.unity3d.com/threads/18...EASED/page51?p=1442537&viewfull=1#post1442537

    tl;dr - It's waiting on another feature first, apparently. I'm quite excited about it.
     
  41. Living-Liquid

    Living-Liquid

    Joined:
    Feb 4, 2014
    Posts:
    7
    hi,

    is there a version for Unity 3.5?
    that would be really awesome.
     
  42. tripknotix

    tripknotix

    Joined:
    Apr 21, 2011
    Posts:
    744
    If it helps, for the skin shader on mobile, it starts off very dark, and the only way to correct its brightness is to shine a pixel light on it, then it appears normal, even after the light has turned off.
     
  43. Deleted User

    Deleted User

    Guest

    @Steve555
    Unity severely underestimated how much people would run wild with multicompile. Though as I understand it, the next version will alleviate this problem by only compiling shaders for the user's current development environment.
     
  44. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Any else has the same issue? After the compute phase Unity becomes very slow and goes into 'Doesn't respond' from time to time. It is even not possible to reposition the Skyshop window. :(
    Any workaround available?

    EDIT: Killed the Unity process, will wait for this asset to be fixed before testing it further as now it's a waste of time.
     
    Last edited: Feb 4, 2014
  45. JoeW97

    JoeW97

    Joined:
    Nov 3, 2013
    Posts:
    56
    Unzip the examples outside the Unity project and just drag the images in.
     
  46. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Thanks Steve, that did the trick, should have been in the readme though.
     
  47. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Those errors occur when something else has already gone wrong within the shader and the compiler is already off the rails, so to speak. You're likely interested in the very top one.

    I could use some help in replicating this, does this happen in a clean project for you as well (just Skyshop)? If you are doing custom things (or hitting the mysterious 64 keyword limit) the shader compiler gives up mid-grass shader.
     
  48. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Yes, blending between skies is planned but as of right now you can simply snap between skies. You can call Sky.Apply() on any sky through scripting to change the globally bound sky, or call Sky.Apply(Renderer) on a specific game object's renderer to bind skies per-object. For instance you could iterate through all the objects within a region and apply a local sky to them.
     
  49. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    You can certainly use third-party assets to generate sky cubemaps. You'll want to then run those cubemaps through Skyshop to process them into diffuse and specular data. One down-side is Nuaj probably does not generate HDR images and your lighting might lack some contrast (dim, grey sun compared to the blue sky, etc).

    You can also mix and match Skyshop lighting with any background cubemap, if you just want to change the backdrop to a nicer image that sorta kinda matches the lighting. Just swap out the cubemap in the "Skybox" slot of any Skyshop sky after compute.
     
  50. monkeyscience

    monkeyscience

    Joined:
    Dec 13, 2011
    Posts:
    705
    Shader compilation :-(. Wish I could help but this is a core Unity issue. Good thing is it only happens once on import (not every time you load the project) and is supposedly vastly improved in the up-coming release of Unity (Aras and other very smart people are on the case at UT).
     
Thread Status:
Not open for further replies.