Marmoset Skyshop - Image-Based Lighting Tools [RELEASED]

I’d like to introduce our latest, greatest project just released by Marmoset Co:
Marmoset Skyshop
Image-Based Lighting Tools Shaders

BUY NOW! | Interactive Demo | Website | Tutorial | Walk-through Video

Marmoset Skyshop is a comprehensive suite of shaders and tools for HDR image-based lighting in Unity. It features editor extensions for importing HDR skies and panoramas, tools for turning skies into lighting, reflection cube-maps, and shaders to render with them.

Skyshop’s editor extensions feature:

  • Panorama convolution tools
  • Mipmapped reflection tools
  • High Dynamic Range (HDR) art pipeline
  • RGBM encoded textures (speedy, low-memory HDR for all hardware)
  • Radiance HDR PFM file importers
  • Scriptable Sky Objects for managing multiple skies per scene
  • Integration with Beast Lightmapping Extended (bake with HDR skies!)
  • Compatible with Unity 4.3+ Free & Pro

Shaders -
Skyshop comes with loads of shaders, all written in ShaderLab, and based on Marmoset Toolbag rendering technology. They feature all the modern bells and whistles you have come to expect:

  • Diffuse specular image-based lighting

  • Unity’s lights, shadows, lightmaps probes

  • Normal-maps

  • Gloss maps per-pixel control of blurred reflection

  • Color specular maps

  • Transparency simple glass

  • Glow-maps bakable self-illumination

  • Vertex color & occlusion support

  • sRGB rendering

  • iOS and Shader Model 3.0+ support

  • Configurable source code included!

Performance -
All shaders are highly optimized, and all features easily configurable. The overhead for our precomputed IBL consists of just two cubemap lookups, and RGBM-decoding of HDR textures is similarly lightning-fast.

HDR(!) -
High dynamic range skies are handled with .hdr .pbm importers, and turned into RGBM textures during import. All the shaders handle RGBM cubemaps as well, allowing for super light-weight HDR without floating-point textures or any hardware restrictions; HDR that’ll run on a phone!

Gamma Correct -
Much care is taken to do all the fancy maths and light convolution in linear color-space. All output textures will work in both Linear and Gamma color-space so both Pro and Free versions of Unity are supported.

Mipmapped Gloss -
The specular cube-map also stores varying gloss levels in the different mip-map levels, allowing for blurry specular reflections that gloss-maps can blend between. A custom cube-map importer saves and manages these mip levels behind the scenes.

Sky Objects -
The IBL cube-maps can be stored and managed by a custom Sky object in your scene. Sky objects are treated as ambient light-sources and work along-side Unity’s direct lights. They also take care of binding all cube-maps, skyboxes, and exposure settings to our IBL shaders globally, making swapping out skies and messing with exposure through scripting very easy.

Lightmaps & Probes -
Skyshop’s shaders work in tandem with Unity’s lightmaps and light-probe illumination. Compliment bounced lighting from near-by surfaces with distant ambience and lighting from the entire sky, all while preserving specular and normal-map detail.

Lightmapping Extended -
Additionally, Skyshop comes bundled with a custom version of Michael Stevenson’s Lightmapping Extended, providing tools for illuminating Unity’s baking process with HDR images. Skyshop’s integration with Lightmapping Extended is seamless; send a sky to the Beast renderer with a click of a button and you are ready to bake.

Do we need to have Marmoset Toolbag installed to use this asset?

Nope, just Unity 3.5.6+, Free or Pro

Can it capture cubemaps of the game environment on the fly and blend between different ones, based on your position?

For example, if the player is in a forest environment and moves outside that forest the cubemap has to change from the forest, to whatever outside the forest is.

From the work in progress thread:

Incredible feature list. Definitely purchasing!

BTW I love the look of the weathered iron.

re: nipoco’s question:
Could you use two separate Sky objects that were baked ahead of time and then blend between them?

Another option is to use a more generic skybox and then rely on lighting changing in the forest and outside of forest using light probes. You’d just have to figure out a way to bake vegetation coloring in, like for example using stand-in green objects for leaves or something.

Just tested this with the oculus rift. A delight. The only problem I’ve encountered so far is that the skybox does not display correctly. For VR, the skybox has to be set up a certain way, I just copied the one that came with the OR SDK. I guess I could make a cubemap from my panorama and load that manually into the OR skybox… Just wondering if there was an easier way.

Purchasing as soon as possible, wood and metal shader presented on picture are amazing! I wanted this so long to have image based shaders like Mudbox render has. Thanks for delivering this package.

I’m a bit confused as to what this does with beast outside, does it require beast? Can i use it without beast and it will handle it’s own baking or is it for baked objects only? Also are all the scenes in the screenshot included as an example?

And i can’t believe i didn’t find your material editor on the net before when i was looking for one! If i purchase it, can i export from it to unity if i own both the editor and this tool or are they unrelated?

Sorry forgot another question, does this work with objects using substances or only regular textures? (and if the answer is no, is substance support planned? That’s a big + for me as i own the substance DB)

That is lovely, I had a system like this working in our game engine and always thought it would make a nice system for Unity, great to see it done so well, lovely demos :slight_smile: Will be grabbing a copy of this. Well done and thanks.
Chris

Finally Skyshop on asset store. Thanks for your sharing!

Purchased!

Hi,

Perhaps you should add a feature to take panoramas inside unity to be used in your shaders.
For level design it would be great, imagine you drop a ball on a location, click ‘snap panorama’ , get the outcome cubemap to place on desired objects and then repeat for other locations.
I know this already exist on the asset store to some extend though I don’t know about the HDR.
It would certainly be a great addition to the package, an all in one solution for level designers.

Just purchased this last night. Will you be producing a video walkthrough of the product? There’s a lot here to get one’s head around.

What are the differences between Unity and Unity Pro implementations?

Catching up on all the questions :slight_smile:

No Beast is not required and no baking is required, but in case you do want to use lightmaps and light-probes in your project, Skyshop shaders will work with them. We have also included tools to add image-based lighting into the Beast baking process. By default, Unity only lightmaps from direct light sources. Baking is a complex topic on its own, we will try to clarify Skyshop’s role in it with a tutorial.

Edit: Previously I said we do not support substance data, that was a bold-faced lie on my part, apologies :(. With their fancy integration into all of Unity, Substance + Skyshop works great!

Yes we are putting together thorough online tutorials and a video walk-through. Stay tuned :).

I see, so if i’m curently using purely dynamic lighting i can get those results without integrating lightmaps? nice! :slight_smile:
You said things were too long to bake per frame, how long are we talking? Is it just too long for realtime or is it long enough to slow the game creation workflow? (are we taking 200ms, 2seconds, 2minuts etc?)

There are no Skyshop-differences between Unity and Unity Pro, just Unity’s own limitations, such as direct-light shadows.