Search Unity

Shader Sandwich - A Powerful Layer Based Shader Editor for Artists

Discussion in 'Assets and Asset Store' started by spike1, Jul 29, 2015.

  1. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    LineBanner.png
    Hi everyone!

    Shader Sandwich is a layer based shader editor for Unity that allows you to create in an intuitive yet powerful environment, designed for artists rather than programmers.

    GaaaahhhhAllMySourceIMAGEsAreGoneeeeee.jpg
    It's really good and you should buy it yay!

    Some Features
    • Clean and streamlined interface similar to an image editor (Layers, blending modes etc).
    • Choose from a multitude of layer types, such as textures, cubemaps, gradients, real-time noise (of many kinds), vertex colors and tons more.
    • Add effects that - for example - let you blur, hue-shift, convert height-maps to normal-maps and many other cool things!
    • Layer different lighting ingredients like Diffuse or Sub Surface Scattering with ease to create either normal shaders - like Unity's PBR shader - or custom ones like cartoon, skin, or water shaders.
    • Use and mix complex systems like Parallax Occlusion mapping and Tessellation easily, without having to worry about anything breaking.
    • Use transparency with the option to z-write in a variety of ways, allowing transparent objects to appear correct in image effects and not overlap as often.
    • Create inputs that let almost any setting be editable in the material inspector; link multiple settings to the same input, animate them and do a variety of other things to make your shader incredibly dynamic.
    • Check out real-time 2D previews in the editor with no re-compile time, and another 3D previewer to get a more accurate look at your shader



    Image of the layer editor
    To see other images and find more information, just see the Asset Store Page

    Anyway, Shader Sandwich already has a ton of features, but as it turns out I'm a masochist! If you have any suggestions, spot any mistakes, need help or come across any errors, feel free to comment about it here, or e-mail me :). I'm hoping to update Shader Sandwich every couple of weeks, so bug fixes should come pretty quickly. Thanks :).
     
    Last edited: Nov 9, 2017
  2. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Cool One. Any demo or any video available?
     
  3. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Thanks :). There isn't a demo/free version yet, although I was thinking of making one. It'd be pretty limited, however it'd show off the general workflow well :). I'll try and get one out soon. In case you were wondering about demo shaders, you can find the hologram one here on my website, I released it for free :).
    As for videos, I actually made a few video tutorials using an older version, but my annoying voice ruined them. I've bought a new microphone which helps smooth it out a bit, so I'll get to work making new ones right now :).
     
  4. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Hi, Thanks For Quick Replay.And Holographic shed-er is amazing.
     
  5. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Sorry for taking so long to get this done, but here's the first of the three beginner tutorials in video form! Hopefully my voice isn't too annoying haha :).

    If you have any feedback, please leave a comment and I'll try and take it into account for the next two parts :). I'm also working on the two advanced tutorials, they'll be out within a week.

    In regards to Shader Sandwich itself, I've been a bit slack on development, but I'm now working on adding tessellation again, it should be in the next version :). I'm also hoping to make masks a more general purpose thing - like the ability to use them as inputs- and add/expand a few more effects before the next version, it'll probably be out next month unless some bad bugs pop up :D. Finally, I've been working on a general road-map of features, but I'm thinking of scrapping it in favor of a dynamically generated one based on the bug/feature report system. I'll probably have that up within a week or so as well :).
     
  6. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    Cool.
     
  7. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Tessellation's almost finished, was way easier than I anticipated :D. Here's a quick video showcasing it:

    Still got a few bugs to iron out, but after that it'll be done :). I might be able to push the release date up by a week if the rest of the new features go this well, but I'll definitely be testing my luck there XD.

    Also, I forgot to mention this but I think feature requests are pretty important, so if there's a feature you want please leave a comment and I'll try to get it in. Thanks :).
     
  8. LouisHong

    LouisHong

    Joined:
    Nov 11, 2014
    Posts:
    69
    From /r/UnityAssets. Absolutely must have asset! The author is super nice and very responsive to requests and questions! Also very active on reddit! Thank you for making and sharing the asset! ~ /u/loolo78
     
    spike1 likes this.
  9. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Looks neat
     
    spike1 likes this.
  10. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Thanks both of you :)
    I've submitted the next version of Shader Sandwich, V1.1!

    Here's a list of new features:
    • Tessellation +phong smoothing.
    • Mobile optimizations (float -> half, ability to enable half as view and/or, interpolate view)
    • Normalless Diffuse slider (Lighting calculated by range only instead of including the angle of the face relative to the light)
    • Fadeout a layer over distance
    • Math/Distance Effect
    • Generates commented code/simpler code (Removes parts that are unnecessary for the shader)
    • The ability to disable shadows and forward add
    • Local mapping modes
    • Fixed numerous bugs
    • Added several new example shaders (Wax, POM, Tessellated Fur, Selection)
    A few images:

    Code Commenting

    Tessellation Interface (I forgot to change the icon woops...)

    Tessellated Fur Shader

    Layer Fading

    So yeah, that'll all be coming in the next few days :).
     
    LouisHong likes this.
  11. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    That fur and tessellation certainly looks nice. I think you need to do a demo or at least a video showing a rotating object with some of the more complicated shaders you can make with this though for promotion. Looking at this asset at the moment it looks like all your tutorials aren't finished yet. It looks like you are designing it to be easy for anyone to be able to make custom complexed shaders which is great but then don't seem to show what is possible with it.

    You need a video showing off the effects it can do so that people can quickly tell whether it is worth their time learning how to use this as oppose to buying some ready made shaders. A demo would be even better because then people could gauge how good the performance of the shaders are.

    Also if I make a shader with it can I include it in another asset store package ? I was considering making a substance engine 2 package for unity 5.2 when it releases but need a pom shader to link it to in some examples scenes I want to include with the asset.

    I already own some shader packages with pom in them such as the ubber package but don't think I would be able to include that one on its own in my asset. Am I write in thinking that I can with shader sandwich ?

    Also can you modify a shader with shader sandwitch after it has been compiled so they can be tweaked at a later date ? For example if I made a shader in shader sandwich and then send the shader to someone else who also owned shader sandwich could they import that shader and modify it further ? I am assuming if they didn't own it then they could still use the actual shader but just wouldn't be able to modify it.

    Thanks,

    Ian
     
    spike1 likes this.
  12. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Thanks for the detailed comment!
    Yeah, I haven't done particularly much when it comes to marketing it, I'll try making a "trailer", or whatever it'd be called for software :D. I've also wanted to make those tutorials more frequently, just life has been pretty hectic recently and I haven't had access to my computer, so I figured I'd spend time making updates instead of tutorials. I'll try and focus my efforts on tutorials now :). As for a demo, I'm definitely planning on releasing something like that soon, just not sure what features to include; I'll try and get one out next week.

    Anyway, you can use the shaders you make for whatever you want, including selling them or including them in other packages. I'm hoping no-one makes a shader pack out of the example shaders or anything, but yeah, the shaders can be used for anything :). Shader Sandwich also generates full source code shaders (that are commented!), so you can edit the shaders directly in a text editor. So even if other members of your team don't have Shader Sandwich they can still edit the shaders themselves.

    Hope that helps :).
     
  13. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    As promised, here's the trailer! Took a little longer than expected (what a surprise, more technical issues...), but it's done!

    Now that that's done I'll make a few of the advanced tutorials. I've also managed to find a few bugs and regressions that sneaked into the new version (which still hasn't been published...), so once the new update goes through I'll get those fixed too :).
    Also, Shader Sandwich has been accepted into the September 24 Hour Deals, and will be 50% off in a few days! If you've been thinking of getting Shader Sandwich then that'll be a good time :).
     
  14. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Nice looking trailer. I will be sure to pick it up in the sale. Also out of interest is it possible to adjust the accuracy of the pom shader for example how many steps it does to balance it between performance and quality ? Also if you could put together a quick example scene perhaps showing a rotating parallax cube above some of your dynamic water where you can see the cube reflected in the water it would probably help with promotion even more. Also your documentation mentions that it can do depth sorting ? Is that done on a per object per shader basis ? Could you for example make two different glass objects one behind the other and have the transparency look correct between them ? If so you should make a demo of that as well as depth sorting in general seems to be one of unity's weaknesses.
     
  15. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Alright everyone, Version 1.1 is live! Shader Sandwich is also 50% off for the next 24 hours, so that's pretty cool :D.

    @IanStanbridge
    Thanks :). Yes, you can change the quality of the POM in its panel. As for depth sorting, Shader Sandwich isn't able to sort the objects itself, but it can help a bit. There are two different ways that it offers.

    The first is Full Mode, which Z-Writes the object just before the transparent pass. This fixes any glitchy overlapping parts at the cost of blocking other transparent objects. This still looks good in most cases, and is great for things like ghosts where you don't want overlapping transparent arms and such. It's also useful when using image effects like DOF and AO as they'll treat it as a solid object instead of ignoring it entirely.

    The second is Cutout Mode, which creates another pass that uses cut-out alpha. This is good for things like hair, where you can still have a nice fadeout, but a solid center that z-writes correctly. I used this one for the grass, so that the edges remain soft looking but the center still collects and casts shadows.

    You can see a little more information and images in the documentation here. Hope that helps :).
     
  16. super-cypher

    super-cypher

    Joined:
    May 10, 2014
    Posts:
    117
    Hi
    I see you made some optimizations for mobile but how does it actually perform on mobile? say compared to unity's mobile shaders?
    thanks
     
  17. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    If you make a shader that functions the same as the default ones (1 texture, legacy diffuse lighting etc), then its speed will be identical :). Once you start adding more layers and effects Shader Sandwich will internally try to combine them and re-use texture reads etc, so it's easy to stay within mobile limits (unless you start using really high-end things like parallax occlusion mapping haha :) ).

    Edit: Forgot to mention, it's also possible to make shaders that perform even better, but look a little different.
     
    Last edited: Sep 4, 2015
  18. mensch-mueller

    mensch-mueller

    Joined:
    Nov 25, 2014
    Posts:
    156
    Hi
    I´m interested(because it´s on sale)! Is there any roadmap ore features that will be integrated in the future?
    I would really know about the future plans of your asset, because i have a lot of assets bought, that the creators lost interest in! :(
    But anyway, your product looked like a unique way to create shaders in a simplified way!
    Wish you success and (hopefully) a great evolution of Shader Sandwich!

    Cheers
    Michael
     
  19. RaiuLyn

    RaiuLyn

    Joined:
    Sep 14, 2014
    Posts:
    39
    Hi,
    Your asset is interesting and I'm wondering how easy would it be to create Toon shaders with it? I have been trying to create it with an other asset but it's a much more complex tool where as yours is simpler to understand and work with.

    Cheers!
     
  20. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Thanks Michael :). I definitely plan on continuing with Shader Sandwich as long as there are new features to add or bugs to fix :). As for a roadmap, I don't have one finished yet (although I am working on one), however you can have a look at current feature suggestions/planned additions here. My current plan is to add everything that people suggest, so everything on there will come at one point or another.
    You can create some pretty interesting toon shaders with it actually :). Basic things like edge outlines and cartoon lighting is really easy, but you can also create inner edges (based on creases in the model) or things like that :). I realize now that I haven't included any example toon shaders or planned any tutorials, will add one in the next version.
     
    Bentoon likes this.
  21. DCrosby

    DCrosby

    Joined:
    Jan 13, 2013
    Posts:
    86
    I Purchased the package, the reason I got it, was because I wanted to do some fur shading experiments, and while the pre-done assets (Asset Store) are cool, and probably highly optimized, I wanted to experiment with performance / features to find something that worked for me, and not something that someone else had deemed "Optimized"

    In that vein, I looked through the docs, and I found some inconsistencies, and stuff that I don't know if I'm doing wrong or the docs don't explain it in a way where you understand the relationship between modules.

    "Blend ModeThe blend mode lets you change how the shells are blended. These are similar to the layer blend modes, see"
    As Described on this page: http://electronic-mind.org/Pages/Things/SSDoc/Reference/Base/Shells.html

    I can't find a section called Blend Mode, and I don't see "Fur" as an option as described in the docs.

    So when you add Shells (Fur/Grass) from the Settings Panel, you get a second Tab in the Layers panel called Shell, and it also has a diffuse / normal / spec. Do these Affect the shell color ? And how does the normal effect the shell ? Specular is also cool, but can you affect Specular based on fur length ? I guess I'm confused on how shell modifies or overrides base. Also how do I get the fur to look like "Fur" ? what I have now is a shell, but it looks like a blobby version of my model.

    Can you post a basic workflow for fur ? Enable Shell, add "Noise"; add depth map; here are the things to watch for, for mobile, expense wise, self shadowing etc...

    I also found that it takes quite a bit of time when you add parameters like Textures and other effects, channels, etc... so it's not friendly to experimentation, if it takes 5-20 Seconds to add a parameter, just to find out it's not what you expected.
    -Derek
     
  22. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hi Derek :). Yeah, sorry about the confusion. I'm currently in the process of updating the documentation, along with simplifying the interface, hopefully it'll be a bit clearer once I'm done :). As for fur, shells are basically blobby versions of the model. In order to make them look like fur I alpha map them with a fur texture, inside the Shell Layers area. Here's a simple example file: http://electronic-mind.org/ShaderSandwich/Fur.shader, just set the texture to the grass texture that comes with Shader Sandwich to see it work :). I'll be sure to make a tutorial for it though, it's definitely planned :).

    Edit: Oh, and in-regards to the wait time between changing values, it sucks but there's not much I can do (it's the shader compiling) :(. If you want you can temporarily turn off real-time shader updating through the Previews menu, the miniature previews at the bottom of each layer are much faster and fairly accurate.

    Anyway, a bunch of bugs and interface inconsistencies have been found so I'll be releasing V1.1.1 soon :). I'll list the bugs here for transparencies sake, and so in case you've been affected by a bug you can see if it'll be fixed soon :):
    • (Fixed)Error when building due to file SceneViewCameraProxy.cs. This ones pretty bad :(.
    • (Fixed)Mapping/Offset effect can error when changing Z with a 2D layer.
    • (Fixed)Tessellation Smoothing value not being saved correctly.
    • (Probably Fixed)Presets crashing the project on Macs due to file path differences.
    If a fix for one of these is really important now, just email me and I'll send you the patch :).
     
    Last edited: Sep 7, 2015
  23. DCrosby

    DCrosby

    Joined:
    Jan 13, 2013
    Posts:
    86
    Thanks, that's helpful, I'll try it out later....
     
  24. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Version 1.1.1 is out!
    It's primarily a bug fix update, however I've also improved the interface in a few areas (including Shells :) ), and have included a ton more example shaders for things like windy hair, skin, fur, and some stranger ones like color keying (greenscreening).

    I'm now getting to work on more features, planned for the next release are:
    • Custom lighting layers
    • Improved mask system (RGB masks, using masks as inputs, all sorts of things!)
    • Grab Pass/ Refractions
    • More visual editing (selecting layer types by picking an image instead of text for example), along with improved extensibility.
    • More custom settings support, such as custom blending modes or mapping types.
    I'm aiming to get this out mid to late October :).

    Anyway, I've also been informed that in Unity 5.2 (and possibly 5.1) Shader Sandwich emits a warning: `UnityEditor.EditorWindow.title' is obsolete: `Use titleContent instead (it supports setting a title icon as well).'. I'll get this fixed in the next update. It doesn't affect the program or any code you write at all, so for now just ignore it :).
     
  25. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Nice that tutorial number 3 is out!

    If I may ask, do you have any tips on how to get water like in this video:.


     
    Last edited: Oct 10, 2015
  26. jammer42777

    jammer42777

    Joined:
    Apr 21, 2014
    Posts:
    116
    Hello,
    I just wanted to encourage the author to continue updates and tutorials. It's also a powerful shader that won't break my fragile bank!
    When I get the item I will try to post tutorials.
    Thanks!
    --Joshua
     
  27. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hi everyone! Sorry for having been so absent, have been really busy, and I kind of forgot about this thread haha XD. As a quick note, I tend to update my website fairly often, so if you're interested in finding out why I might be busy or whatnot I'd suggest checking it out :).

    @SilverStorm
    Thanks :). As for the water, within the next few days I'll be releasing an ocean tutorial, which ends up looking pretty similar (see here for a tiny screenshot). However, it won't be quite the same as I believe the ocean in that video is actually being run by a proper simulation, hence why it can affect the boats physics. This is a bit outside of Shader Sandwich's scope currently, but as long as you don't need to interact with the ocean a stand alone shader will work just fine :).

    @jammer42777
    Thanks, and I'd love to see some user created tutorials :).

    Anyway, on the topic of tutorials I've been uploading them pretty frequently recently. As SilverStorm posted I've finished the video version of the Beginner Tutorial Part 3 :). Other than that I've uploaded 3 "Quick Tips", and a Shell Based Fur/Grass tutorial! I'll be posting more over the next few days, I'll try and be more proactive in posting about them here :).
     
  28. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    1. I can't wait! The main sort of "interaction" I need is simply the sort where shallow water shows beautiful caustics and interaction with the sand. No actual Player/Physics calculations. Some underwater fog would also be nice and Object edge fading to show how deep the water is.


    Samples Attached Below~
    You can also see a live demonstration done in UE4 (It has no shore foam though):


    2. Near the end of Quick Tip #3 Toon - where you were tweaking the Rimlight, it began to look like some areas of the model were darker than others - in other words it looks like Rim lighting is the key to fake AO for characters and objects. Hmm.

    I will probably post more on Fake AO Shaders later with images to help share some ideas.
     

    Attached Files:

    Last edited: Oct 16, 2015
  29. jammer42777

    jammer42777

    Joined:
    Apr 21, 2014
    Posts:
    116
    one silly question... I am wondering how do the lighting methods in shader sandwich compare to Unreal engine 4?
    Also also how do they improve upon the Unity 5 standard shader.
    The basics are that I want to make a mind blowing sci fi game. I really want to use shader Sandwich as it is a great buy! (my finances are not currently cooperating)
     
  30. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Just wanted to ask for an ETA when Shader Sandwich will support Unity 4. I imported the Hair Shader from the enhanced graphics section and Unity 4 gives an error. Yet to know when the compatibility would come, I am very excited with leveraging Unity 4's graphics especially since the Beast Lightmapper is next to none.

    IF you really would rather NOT give compatibility with Unity4, then how about the other way round?
    By giving support for the beast lightmaps generated in Unity4 within Shader Sandwitch somehow? (The AO and GI done with Beast are too good to pass up)

    I remember their was an Occlusion option inside the Standard PBR shader....but I never really understood how to get it to work.

    I like bits about both engines but I can't stay with Unity 4 forever....especially since it puts a strain on many developers to make compatibility for it.
     
    Last edited: Oct 19, 2015
  31. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    @SilverStorm
    1. Currently Shader Sandwich can't do particularly good edge fading, but the next version will include access to the depth buffer, which'll make both effects easy :).
    Edit: You'll also be able to have objects under the water be distorted by using the Grab pass :).
    I think underwater fog is something that happens in code, by checking the Z position of the player and enabling Unity fog once it's under the water's Z. I'll look into if there's anything shaders can do though.
    2. I actually experimented a little with using Rim Lighting for fake AO, however I couldn't get it to look particularly good. If you have any success please let me know :D.

    As for Unity 4, I'm planning on releasing it with the next update, which I'm hoping to finish before the end of October (although admittedly I may have to push it back slightly). I'm also going to see if I can include all bits necessary for the Unity 5 Standard Shader within it, so you can use it in Unity 4 :). Obviously you'll still be missing reflection probes and realtime GI, but it might still be of some use.

    @jammer42777
    I'll admit I haven't used UE4, but from what I understand the new Unity 5 PBR shader competes with its lighting pretty decently, and you can use it in Shader Sandwich. On top of that, in the next version you can have direct access to how lighting is calculated (still within the layer system), and can manipulate that to get whatever result you want :). I think one area Unity lacks in compared to UE4 is shadows (from what I've seen), but this isn't something Shader Sandwich can help with, sorry :(. Good luck with your game though :).

    Custom lighting and Grab passes are almost completed, I'll put out a quick video showing what they can do in a day or so :).
     
  32. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Happy days, if you can get the Standard Shader and Shader Sandwich working in Unity 4 that would be CRAZY!
    That would pretty much remove my need to work in Unity5 altogether since I never used the GI.

    1.I should also mention in the Trailer the Wax shader looks very realistic and dare I say it - it looks like it has AO within it....
    However the one included within Shader Sandwich (Simple wax) has depth sorting problems and doesn't look anywhere close....what happened there?

    2.It is looking like Shader Sandwitch is becoming truly the ultimate shader solution....so in that case since I have already purchased it, what other assistance do you need that I can help with, maybe graphics or whatever?
     
  33. jammer42777

    jammer42777

    Joined:
    Apr 21, 2014
    Posts:
    116
    silly question... is there any support for image based lighting? or any future plans?
     
  34. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    46
    Hi, I'm curious to know what kind of improvements we can see to POM in future updates? Edge clipping doesn't really work well on spherical/cylindrical objects and the parallax in general produces jagged edges.
     

    Attached Files:

  35. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Sorry about the wait again :(.
    @SilverStorm
    1. Haha, thanks but it's actually a really simple shader; however, I'm not sure what could be going wrong there. I've re-worked the example shaders a bit in the mean-time and lost the original, but hopefully the one in the next version is ok :). If it's not please tell me, sounds like a strange bug.
    2. Feature suggestions and bug reports mostly, it'd also be great to see people share some of the shaders they've made or make tutorials :). Other than that, I'm not sure. I'll let you know if I think of anything though :)

    @jammer42777
    I'm pretty sure the Unity 5 Standard Shader has this built in, but if you don't want to use it, IBL is still pretty simple :). Just add a cubemap layer into the Emission channel (which can be enabled in the base Settings), and set it's mapping type to Direction. You then add a Blur/Simple Blur effect and set it to something like 5 or 6. What this does is sample the cubemap not as a reflection, but from the direction the objects vertices are facing, and then lights the object accordingly. As long as there aren't any other lights in the scene then this'll work fine :).


    @JLO
    This is definitely something I want to look at in the next version. I've actually been trying to create a solution that doesn't require any specific textures or other manual work from the user, but I've had no luck so far. In the next version I'll probably just implement this, which should solve all those problems at the cost of requiring an additional texture that the user has to bake themselves :).

    As for the next update, I've had a few set-backs (primary having to use a dying laptop from 2005 for the last few days), but the next updates looking pretty good :). Here's a video I threw together showing a few of the new features :)
     
  36. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    I would be glad to make some tutorials once I can get it working well in Unity4 since that is my domain and at the same time help with bugs too. Speaking of which I no longer need a custom preview mesh, I learned to just apply the shader to a model of mine in the scene view and then just load and edit the shader and save it - updates nicely!
     
    Last edited: Oct 26, 2015
  37. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    46
    @spike1
    Very interesting paper on Silhouette Rendering. I would definitely love to see it implemented to improve on the current POM set in Shader Sandwhich :D, and also keep up the good work. Looking forward to the next updates :).
     
  38. jammer42777

    jammer42777

    Joined:
    Apr 21, 2014
    Posts:
    116
    Sorry about your laptop, but sounds as if it had a long life
     
  39. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
  40. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Just wanted to report I think we need proper scene files showing each of the shaders and how they should look.
    I am experiencing some very bad looking effects and some just don't seem to work because I don't know how the example shaders are supposed to look like because when I apply them their are no textures put in - it's all blank and left to the user....I am clueless.

    A good example is I applied the Ocean shader onto a plane and it is apparently supposed to have all these effects including foam but despite tweaking it I can't get it to look right, a scene file would help.
     
  41. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Shader Sandwich V1.2 is out!
    Here's a full list of new features:
    • Grab/Depth Pass
    • Custom Lighting Support
    • 3 New Noise Types + Updated/Faster Perlin Noise
    • 5 New Effects
    • RGBA Masks + Mask movement and deletion
    • Improved Responsiveness and Interface (Tooltips, interface options, updated preview window (Custom preview objects, nicer navigation))
    • Added 2 More Example Shaders
    • And Unity 4 and Unity 5.2 Support
    • Probably some more stuff I've forgotten about XD.
    @SilverStorm
    Fair enough, I've attached a pack of materials for most of the shaders and an example scene with the Ocean shader and Edge Fade Water shader :). I'll also include a more polished version in the next update. There shouldn't be any artifacts, if there are though please file a bug report and post a link and picture here, thanks :).

    As for the AO paper, once I wrap my head around it I'll see if I can get it in for the next version :). You should be able to create some simple AO in the current version though, using the depth texture. It's probably best just to use an image effect though.

    @jammer42777
    Thanks :).

    Anyway, I'll probably make a few new tutorials now, and I still need to update the documentation with the new features. Other than that though I'm going to take a quick 3 week break from development, unless some really bad bugs pop up. In the mean time feel free to request features, I'm not sure what to add haha :).
     

    Attached Files:

    Last edited: Nov 7, 2015
  42. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Thank you very much especially for the Unity4 Support and looking into the AO stuff!
    Here are some more requests:
    1. Can you make a tutorial on the Depth Buffer/Texture for AO?
    For Ao a real-time shader has many advantages over image effects with accuracy and control.

    I plan to use it for small scale cut-scenes such as character interaction, and when combined with Beast Lightmaps for static GI + AO it is a very cheap and effective solution.

    2. Request two is for an invisible mask shader that hides anything below it so that a player for example can fall into a hole which appears to be there but having no need for editing actual geometry which is a huge time/performance saver.

    I think this also makes use of the depth buffer, this way I can create a box with flipped normals so the inside is textured to look like a ditch and place it under the ground and it will cause what is intersecting its top to be invisible which in this case is the floor.

    Their is some info here - the response says to use an invisible mask shader:
    http://answers.unity3d.com/questions/368927/how-to-make-a-part-of-a-terran-transparent.html
     
    Last edited: Nov 7, 2015
  43. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Hi there I am happy to report that wireframe on both versions work for me now.

    I also wanted to report some bugs;

    - -1.Unity4 version Preset PBR standard comes with a reflection cubemap. I can't locate this input anywhere in the inputs menu to change it. This is Unity4 only problem as I think it's related to you saying your would port over the U5 PBR Shader.

    -- 2.On both SS versions in the mask window clicking the X to delete them can cause a duplicate mask input to be created and it can keep adding. I noticed you put masks as in-progress on your website so this might be related.

    -- 3.SS in Unity 5 New Shader preset menu options are very dimly lit unlike Unity 4.

    --4.Editing names in Input and layer of a texture name for example will only change in in that menu and leaves it unchanged in the other menu. An example would be once an input is created it is available in both Layers and Input menus but the problem is changing ones name will not update the other causing confusion. Cleaning inputs doesn't fix this. This applies for deleting and renaming inputs/layers.

    --5.I know that the reflection cubemap is hardcoded among other things within the massive over 1000 lined shader generated. I really don't understand why normal shaders are a 100 or so lines while SS ones are over a thousand, I am assuming it's so it can be re-opened with SS to load the presets and settings to make it work. What about an option to save as Final output which will make it like a normal shader but no longer be re-opened. Either way as long as those extra lines don't impact performance of the shader it seems fine.

    --6.Changing Shader name manually through its file and opening it up and changing it in line 1 for example to add organization such as "Custom/ShaderName" will save it correctly until it is opened within Shader Sandwich and saved, in this case it will reset the name to whatever is on line 1400 or so (ShaderName). This makes it a little bit more complicated because shader sandwich does not seem to provide a way to rename created shaders unless you "save as".

    --7. I just began to notice the bounding box for editable text areas within SS from slot and input names to the bug report menu asking for details. I did not know I could edit them because I usually turn the brightness down on my monitor and it also doesn't help that they are really dark anyway thus blend in very well with the non-editable text throughout the program.
    Could make it some changes to these areas making them more noticeable?

    *If you need more info let me know.

    I also have a couple questions

    --1.How are the AO and Mask Hole shaders going?

    --2.Unity 4s beast lightmapper disables normal maps from being seen while no lights are visible, I was wondering if their was a UV2 trick I could do in Shader Sandwich to change that?

    Thanks, I know, I know, I can be a burden but product is the only one that does it best.
    I am only now starting to experiment more deeply with it and thus finding these bugs.
     
    Last edited: Dec 5, 2015
  44. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hi everyone!
    I'm really sorry about my absence, I promise I'm not neglecting Shader Sandwich! Well, I mean I was but now I'm back :D. Anyway, my break went a week longer than planned (you can see my excuses on my blog), so I'll now be in full force getting Shader Sandwich V1.3 out :). I'm planning on releasing it by the end of the month or really early January.

    My focus for Shader Sandwich V1.3 is customization and stability/predictability. Currently, if Shader Sandwich can't natively do what you want it to do, you're in trouble and I really want to change to that. Along with this, some parts of Shader Sandwich are kind of shaky, so I really want to try and tighten all the loose parts of the interface and code-base to help people have a better experience when using it :).

    So, my current potential feature set is as follows:
    • Ability to see the code Shader Sandwich generates within Shader Sandwich, so you can click on parts and it'll take you to the setting that influences it. This'll be great for debugging shaders, optimizing them and also just learning how they work.
    • Ability to insert custom code, create custom layer types, mapping types and blend modes, all within Shader Sandwich.
    • An improved presets system that allows you to have layers, base settings and other things as presets. For example you could just add the rim-light preset and it'll automatically set it up, but then you can add other presets on top and it'll just work. This way you can easily save common layer effect setups amongst other things.
    • Consistency within the interface. Currently you can copy/paste a layer, but not an effect. Some settings allow inputs, others not. Fixing all these inconsistencies will make Shader Sandwich not only more powerful, but also more user friendly.
    • Improved graphical capabilities. The in-built lighting modes were kind of impressive back when I was developing this for Unity 4, but in Unity 5 I think I need to up my game. I'll be (attempting XD) to add DX11 Subsurface Scattering, Volumetrics and various other cool technologies.
    • Screen space displacement mapping. Found this great video (
      ), and think it'd be a great alternative to POM. I'll still try and fix the POM edges though :).
    • Overrides. Shader Sandwich automatically calculates a ton of things for the user, however sometimes it can get it wrong. While it would be great if I could make it psychic, I figure just allowing the user to override these automatic settings will be easier :).
    @Silver Storm
    Thanks for the detailed comment :D.
    1. Shader Sandwich will automatically create a "Reflection Cubemap" property for the Materials panel when using the U5 Standard Shader, so you don't have to add an input or do anything manually. You can access it through the "Main Cubemap" fallback though :).

    2. Hmm, weird... Not sure what would cause this, and I can't reproduce it on my end. If you manage to get it happening consistently, could you upload it as a bug again so I can see. I'll keep looking for what could cause it though :).

    3. Also can't get this one to happen, they look the same (Unity 5 and Unity 4.5). I'll download Unity 4.6 though and give it a shot, maybe something changed I'm not accounting for :).

    4. I'm not sure I 100% understand this one. Currently the Inputs name and the layer that it was created from's name are separate, with the idea being that the Inputs name can be set to something more descriptive later on (Instead of "Texture Layer - Power" it could be set to "Rim Strength"). However, if you mean you change the name in the Inputs panel and when you set another setting to the input the name remains as it's original, then that's a bug and I'll look into it :).

    5. Haha, yeah sorry about the length :). Not only does it have a massive part at the end so it can be reopened, it also stores lighting code and things like that (so it can support custom lighting), whereas normal shaders use the default lighting options. However, if your not using custom lighting it shouldn't include that stuff, that's an oversight on my part. I'll add the ability to choose export settings in the next version (as part of the overrides) :).

    6. Luckily I have an actual answer for this one :D. You can change the shader's name in the Base settings, at the top. You can set it just as you would in the code (Custom/...).

    7. Yeah sure :).

    1. Oops, so sorry about not having worked on those. Currently I think the mask one is impossible (but will be in the next version due to overrides), however I should be able to get AO working. However, I have a feeling you might be disappointed as it's still technically operating in screen-space. On the topic of the NVidia paper though, I think I'll try and implement it in the next version. It technically works by having a bunch of stuff happen outside the shader, but considering I'll be adding Screen Space Displacement Mapping I don't really have an excuse not to add it. Shader Sandwich's scope is expanding XD.

    2. Probably not, although I'll see if I can find anything on it. The reason being the lightmap can't ever be large enough to store the normal mapped lighting, and if it has to calculate the normals for each light in real-time then in theory it'd be just a slow as having no lightmap.

    Thanks for the great comment, and hope this helped somewhat :)
     
  45. JLO

    JLO

    Joined:
    Nov 11, 2012
    Posts:
    46
    Glad to know your back to working on Shader Sandwhich. Screen space displacement mapping sounds like a pretty good alternative to POM. I will be looking forward to the next update and keep up the good work :).
     
  46. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Thanks JLO :).
    Anyway, figured I should get this out of the way, I probably won't make the December deadline, so the update will come mid to late January. Sorry about this :).
    On a more positive note, I've started work on Volumetrics and the Source Code Editor. Both are still incredibly WIP, however they're at a state where I can show something at least XD. But keep that in mind :).
    Volumetrics:


    Sorry about the terrible screenshots. Volumetrics were actually pretty easy to get started, I made the initial tests directly within Shader Sandwich (see the cube and sphere above) XD. Not shown are other objects being able to reside within them correctly, and also the ability for the camera to go inside them with correct coverage and whatnot. They can't intersect correctly however, and aren't integrated in SS yet. They are also unlit currently, proper lighting is in the works though :)

    Source Code Editor:

    Here it is so far. I'm thinking of making the interfaces in Shader Sandwich separate windows (so they fit within Unity better and can be customized more), hence why it's not directly within the SS window. Anyway, it has syntax highlighting, line highlighting and a bunch of other nice features. It's also designed so that once you edit something, the edit becomes locked in so even when Shader Sandwich regenerates the code, the change will remain (in the correct spot even if other code is created around it). Of course you'll be able to find all your changes and revert them if necessary :).

    So yeah, small update but figured it's better than complete silence for weeks XD.
     
    SilverStorm likes this.
  47. NightmarexGR

    NightmarexGR

    Joined:
    Jun 7, 2012
    Posts:
    217
    Hello i would like to buy this asset but mainly for the grass shader it has ,
    I have some questions about it.
    Can i use this grass shader as a fur ?
    Can i use it on animated skinned mesh objects ?
    Will it follow their movement ?
    Will it receive - transmit shadows ?
     
  48. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Volumetric's could really add more depth and realism for shaders, which reminded me to post this video that has a really nice Skin shader, I wanted to know how we could replicate this for Shader Sandwich :



    For the Volumetric effect, the blacksmith demo did some atmospheric scattering trick using something like that, here is their paper on it: http://blogs.unity3d.com/2015/05/28/atmospheric-scattering-in-the-blacksmith/

    PS> Also look at that water and shore line Man (9 Seconds in)!
     
    Last edited: Dec 19, 2015
    Alverik likes this.
  49. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    Would it be possible to have more examples of the grass that you can create with this asset?
     
  50. RaiuLyn

    RaiuLyn

    Joined:
    Sep 14, 2014
    Posts:
    39
    I would like to know the answer to SilverStone's question about Skin shader as well. I would be happy if Shader Sandwich can do that kind of skin.

    Cheers for the video reminding me to import the game later.
     
    Alverik and SilverStorm like this.