Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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
    Hey everyone!

    Sorry for the delay, but the latest update has been sent for review :). It's mostly just bug fixes (which are finally thinning out :p), but there's some handy new stuff too XD. As usual you can get it ahead of time from the patches page here.
    Added Depth layer type for convenience
    Fixed some reverse-z buffer stuff
    Fixed Distance based Tessellation bug ( a re-save definitely recommended here!)
    Added Color/Gamma effect
    Added Maths/Derivatives effect
    Improved mask support parity in vertex shaders
    Smarter mask code generation (Vertex vs Pixel etc)
    Improved Image Based Perlin Noise
    Chucked everything under the ElectronicMind.Sandwich namespace
    Fixed Light Radius energy correction
    Fixed Shader Sandwich Specular, specular mode coloring.
    Fixed Normals Mix blending option
    Fixed premultiplied ingredient blending...again...so many permutations
    Fixed some blend modes in premultiplied mode
    And the code that detects if premultiplication is even necessary
    Made preview light spheres more color accurate (Also their radius is 0.125 for anyone wondering)
    I found a tiny jelly bean and a rather large jelly bean in the same packet...the machine giveth and the machine taketh
    Fixed the Data layer type
    Removed obsolete Channels
    Added access to Last Ingredient Color
    Parallax Shadowing now just returns 1 (kept since it might make a come back)
    Added Option for pure light color (no attenuation)
    Fixed some multi-sampling effects bugs
    Fixed saving of custom queues and replacements
    Fixed selection in the Sub Surface Scattering GUI
    Fixed Layer Type Selection previews bug​

    Anyway I'll going to be away for the next week and a half, going on a holiday trip :D. If you need help urgently just spam me and hopefully I'll see it when I have an internet connection every so often.

    @Alverik
    Sorry for the late reply, wanted to make sure I got this patch out before the trip - what you have so far looks cool though :). For keeping the thickness the same, you can see an example in the Cartoon 1 shader - it's really simple though :D, just add a Depth layer type and multiply it into the displacement channel (so the displacement increases as the distance/depth from the camera does).

    As for the curves - man that led me down a very deep rabbit hole haha XD. I really wanted to find a way to keep the correct inner lines while removing the others, but I wasn't able to come up with a technique stable enough (yet :p). I think the other option (only appearing around the silhouette) isn't too hard to do though. The simplest way at this point might be to create another shader that renders both the object and outline (with shells), and switch out the shader in the material.

    If you want to avoid that however, the way I'd do it is to render the outline by itself - but just before the selected object, and with Z Writing (in the Misc ingredient) turned off. Turning off Z Writing will make the selected object (and any objects rendered after) render in front of the outline no matter what - it could be a little tricky to manually set the order though, I think Sorting Layers could be something to look into :).

    Sorry for the kinda crappy answer but hopefully it leads you in the right direction at least, good luck! Let me know how it goes and I'll help out more once I get back :)
     
    Alverik likes this.
  2. yandrako

    yandrako

    Joined:
    Dec 2, 2013
    Posts:
    26
    Hi @spike1 can you point me out how could I create a kind of camouflage-stealth-predator style shader with a semitransparent distortion? Just some tips to know what I have to research on to create it would be great. Thank you!
     
  3. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    @yandrako Hi! The way I'd do this is to add a Behind layer type (which captures the screen behind the object), set it to map from the View, and then add the Mapping/Displace effect. This effect takes an Rgba mask which can displace the layer - with red displacing in the x-axis and green displacing in the y-axis. From there you can displace and warp it however you like :)


    @Everyone else
    So yeah I'm back from my holiday, however, when I got back my computer wouldn't boot. I just confirmed the hard drive has failed...so yeah that's great. I've got some old file backups but OS wise I'm kinda stuck, I don't think I have a way to get Win7 back on so I'm going to have to switch to linux - it's going to be a few days at least before I've gotten everything working again. I'll keep you guys updated :)
     
    Alverik likes this.
  4. yandrako

    yandrako

    Joined:
    Dec 2, 2013
    Posts:
    26
    Thank you for the advices! I almost got exactly what I want. I simplified my problem to show you what I need, so I turn off all distortions and now Its almost a complete transparent shader. You can see here:

    As I dont want to the light from the scene tint the shader in any way, I use the sweet option you have to use your own direct lighting. So now the only problem is that it generates a dark area (were the light probably does not light the sphere (the object with the shader on the image is an sphere)). So my question is, is there any way I can see the shader without that dark areas? I thought about put the custom light "on the camera" so the light always show you a enlighted part of the sphere, but I dont know how to do that. Maybe there is another more simple solution, I just want to see the transparent shader like now but without the dark area.

    I also added some screenshots with my current configuration of shader sandwitch to help you know what I've done already.

    Also a bonus question, my game is using deferred rendering, and I see if I switch the shader mode (from shader sandwich) to deferred (to match my scene lighting) I get some warnings. Is mandatory to have the shader in the same rendering path than the scene or I can use the deferred at my scene and the forward on the shader?

    Thank you in advance!
     

    Attached Files:

  5. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    @yandrako Sorry for the late reply, and thanks for the detailed screenshots :). Yeah there's a really easy way, just add an Unlit ingredient in the Surface area of the Ingredients panel, and move the layers in the Albedo layer channel over to the new Unlit layer channel :) - if you want, after this you can delete the Diffuse and Specular ingredients since they'll be covered up by the Unlit ingredient. And yep, Forward mode shaders can be used in Deferred mode (though not the other way around) - although they'll behave like normal forward mode stuff (limited lights and whatnot).

    @Everyone else (I'm glad Everyone isn't a user)
    Turns out more than just the hard drive failed, so I ended up going out and buying/building(that part was fun :D, the former not so much XD) a new computer. I've been testing out the Linux version of the Unity Editor and it seems reasonably stable, and Shader Sandwich works for the most part in it. The preview window is completely broken, and Sub Surface Scattering shaders throw errors so I'm gonna try and fix those, hopefully without regressing the Windows/Mac versions. I'll see if I can find someone who's willing to let me test updates/test updates for me on at least Windows before sending them to the asset store (if any of you are interested feel free to send me an email :p). So yeah kinda back in business, just with 20% of my Steam game library haha :( (Linux joke 1 person gets :p). Ooh and yeah I'll restart that tutorial I mentioned - it will come out at some point I swear!

    @Alverik Hallo :). I'm just wondering how the outline shader stuff went, did you end up getting it working? Hopefully it didn't cause too much trouble :p
     
  6. yandrako

    yandrako

    Joined:
    Dec 2, 2013
    Posts:
    26

    Thank you! Thats exactly what I need it, and Im sure this even will have a better performance. I'm now experimenting with the displacements and warps I want to implement, but that I know how to do it, so thank you again! :D
     
    spike1 likes this.
  7. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417

    Hi @spike1 ! Well, since I was/am working on several features for a VR project I have on steam (getting a big update/upgrade ready...), I kinda cheated by doing some of the stuff using c# (like size by distance), though it's just passable that way (very half cooked right now, due to lack of time). I did see your message afterwards though, and I will get back to doing it through the shader once I'm done with the other stuff, so I'll definitely give your advice a try (probably sometime this week if I can).

    PS: By the way, a few tutorials on how to do image effects would be cool too, I think image effects and terrain shaders are a big deal, so putting more tutorials concerning them would be great. I do know that image effects won't be completely automatic right now, since you need a c# script for them too. I do have seen a few examples/tutorials on the c# side of image effects, but obviously the shader is always the most important part. Also, I know there's a tutorial for terrains someone posted, but it only deals with 4 textures on the splatmap, is there a way to do the regular 8? or maybe even expand that to 16 or more like some paid terrain shaders do? (it'd be pretty cool if we could do that, though, 8 is usually good enough, lol).
     
    Last edited: Oct 12, 2017
  8. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Ok, finally have time. Will work some more on the shader now. Will let you know how it went. :)

    Will try one thing at a a time. I'm really more interested in getting the outline size more constant. the inner lines displaying perfectly doesn't worry me too much right now. Anyway, thanks. Every little advice helps me a lot, I'm really noob when it comes to vfxs of most types, lol.
     
    Last edited: Oct 20, 2017
  9. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hey, sorry for the delay - faulty power supply caused some interesting things to happen :confused:. I hope it's going well :).

    I've thought about making image effect tutorials (I've actually made a couple of shaders I used as image effects), but since I'm hoping to make image effects a supported feature, I don't really want to spend much time creating (more) soon to be outdated tutorials lol XD. I might put together one on how to get the shaders working with C# scripts though, at least in the mean time...

    I'd never really looked into the Unity terrain system (it's kinda.........yeah...), but I poked around and frankly I have no idea how it works. From what I understand, after the first four splats it starts piling on additional transparent re-renders of the terrain (there's no way that'll be slow ;)) - Shader Sandwich actually supports these multiple renders by default. "'So it should just work' I thought naively as I continued using Compare It to try and find where my shaders were going wrong.".

    Turns out the Queue (can be found in the Bread panel) needs to be set to Custom, then 1901 (or less). I have no idea why. Sadly this only sorta works - the additional render passes refuse to use the custom shader's and instead use the diffuse terrain ones, so any effects you use in your shader will only work for the first four :(. I spent the last couple of hours trying to figure it out but honestly after having wasted literally hundreds of hours trying to figure out Unity's ridiculous systems I'm kinda done lol - sorry I couldn't be more help. I'll try again in a day or so once I've stopped wanting to eat my computer :D

    Edit: Sorry, I got kinda grumpy here haha, have had this sort of experience with Unity so often I just wanted to vent. Short version is set the Queue (in the Bread panel) to Custom, then 1901. It'll sort of work, but the textures after the first four won't be affected by the shader for as yet unknown reasons.

    Anyway I got bored so I'm learning Spanish so soon Shader Sandwich will have Español support yay!
    Screenshot at 2017-10-22 22-01-04.png

    You'll be able to just switch to it at the top - hopefully there's no ridiculously bad grammar mistakes or anything :p (Above is WIP, like I'm pretty sure I'm using primero wrong - comment if you see anything else though!)

    I'm programming it in a way where there's just an XML-ish file (it's not conformant whatsoever) with the original English lines as the tags, and within them the language variant, so it's really easy to add new languages and whatnot. I just thought it'd be fun to add, and for once it was, so that was nice :). I might also add German support since I know a little, and maybe pirate speak :D

    Also tutorial wise I'll make it once I gain access to a Windows computer for a while; text rendering on Linux is pretty bad and while I'm super grateful to have Unity on Linux, it feels really brittle to use and lots of parts of it (and therefore Shader Sandwich) don't work all that well, at least on my Linux distro. So yeah sorry guys hopefully I'll have better news soon yay bye!
     

    Attached Files:

    Last edited: Oct 22, 2017
    Alverik likes this.
  10. summerian

    summerian

    Joined:
    Jul 6, 2014
    Posts:
    140
    Is there any way to make a transparent shader show all sides? Right now I can't see the sides on the back of the cube.

    Thanks
     

    Attached Files:

  11. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hi @summerian :)
    Yep you can change this in the Misc Settings ingredient:
    Screenshot at 2017-10-27 02-59-04.png

    One issue you might run into is wrong Z-ordering (where faces of the model appear in front of each other, when they should be behind). This is always an issue with transparent objects, but I imagine it might be more pronounced here - then again depending on your mesh or style it might not matter at all!

    If it is an issue though, all the in-built ways to help fix it block the back faces. One solution that doesn't would be to create two passes - which are effectively re-renders of the mesh. The first would be for the back faces, and the second for the front faces (you can create passes at the top of the Ingredients panel). If you need any further help let me know :)

    @Everyone else
    Full terrain shader support will be coming in the next version! Here's a quick shader I made that adds tri-planar mapping (removes all the stretching textures around cliffs and whatnot), tessellation (physically displaces the terrain to add rocks and other stuff), and an additional detail normal map. I threw together a little pic XD.
    Before
    Before.png
    After
    After.png

    Sadly I can't say when the next version will be out since I keep running into technical troubles, but I'll aim for before the middle of November :).
     
    Last edited: Oct 26, 2017
    summerian and Alverik like this.
  12. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Woot! It looks great! Can't wait to try it! :)
     
    spike1 likes this.
  13. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Hi! Since we are more or less on that topic, I was wondering if anyone has any tips regarding putting together "relief" shaders with Shader Sandwhich? Recently I've started a new project for VR and this time I want to use shaders to add more depth to the objects (be it POM or Tesselation). I've started tinkering with this but still have some trouble making it look right and/or implementing it correctly. Would be awesome to hear any tips or advice on good workflows when using them too (for example, I find making POM height maps seems to be a pain in the ass... any best practices?).

    Edit: Ah, to be fair I've managed to do some shaders which work nicely in regular games, but in VR it's a lot harder, since, well, up close it's easier to notice that things are just flat, lol.

    Edit 2: Ah, I think I'm starting to get it to work much better already, but any tips will still be appreciated :)
     
    Last edited: Nov 12, 2017
  14. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Wow I just realized it's been a month since I posted on here....heh oops.

    Hey everyone! Anyway the new version is coming super soon (like a week or so soon); I've just decided to spend a bit of extra time to iron out a few issues that keep popping up. As it turns out, simplicity for the user tends to result in complexity for the codebase lol. Especially in the blending area, where there are literally hundreds of permutations to handle. But hey here's a screen shot of how the fur/hair stuff is coming along!
    HairDS.png
    Aaahhh too much hair!!!!
    Other than the fur ingredient I've added a hair specular mode, for the nice anisotropic highlights and whatnot. Performance on my new GTX 750 TI (a mid range card) is reasonable - admittedly I cranked up the settings for the screenshot, but when rendering less hair strands to maintain 60fps it still looks pretty good. Currently there aren't any simulation aspects built in, however since it generates the hair strands from mesh geometry (I literally just duplicated the faces from the top of the head and moved them around a bit to make the hair mesh), it might be possible to simulate the strands just using Unity's built in cloth physics. I'll give it a go and upload a video if it works :)

    Ooh and btw for anyone interested in getting Shader Sandwich, it'll be on sale for the big mega sale thingo from Nov 27th through to some date in December I can't remember. Obligatory marketing image:
    Japanese_MegaSale_02.jpg


    @Alverik
    Sorry for the delay here. Generally all you do is add the Parallax Occlusion Mapping ingredient, then add a texture layer into the Height layer channel. This texture should be a height map (the shock) - a greyscale texture that defines where the high points and low points of the texture are. You can choose which heights black and white represent in the POM ingredient. From there just adjust the quality and whatnot, but that should be reasonably simple.

    As for creating the height maps themselves, there are several ways. One of the more popular ways - due to its simplicity - is to convert the texture to grayscale in a program like Gimp, then play around with the effects Levels and Invert until you get something reasonable. The next step above that is painting the heightmap yourself. For best results though, you'll want to take the texture into a 3D modeling program and actually model the surface - the plus side is you can also generate the normal map from this. If you need any more info or have any specific troubles let me know :)
     
    Alverik likes this.
  15. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Wow, really awesome hair! Anyway, thanks for the answer, I've figured a bit about how to setup the shader by now, but the advice for how to create the height maps is great stuff. I often work with ready made props I find in the net or the asset store so it's a bit hard to get the correct heightmaps (a big portion of the free stuff often only has diffuse and normals). Sometimes I also need to generate a heightmap for a tiling texture so I don't always have the geometry available.
     
  16. yandrako

    yandrako

    Joined:
    Dec 2, 2013
    Posts:
    26
    Hi @spike1,
    Again I need to achieve an effect I guess I can get with the awesome shader sandwich but need some tips to point me out in the right path of that scary shaders world xD

    The effect I want to achieve is the typical water effect that show an edge of foam when collide with other geometry (I dont need water or exactly foam, just some kind of effect to make the collision between lake and rocks noticeable.
    An example: http://fire-face.com/personal/water/water_assets/water4_0.gif

    Thank you!

    By the way, if you still have any doubts or need help with spanish I'm from spain, so I would gladly help you :)
     
    Alverik likes this.
  17. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hi @yandrako :)

    The best way I know how to do this is to create a mask that you can use on some sort of animated foam texture - with the mask containing where the intersections between the water and anything inside occur. We can create this mask by getting the distance between the water plane and the objects behind it, by subtracting a Depth layer from a Depth Behind layer (both set to View mapping).

    But yeah, from there just add an Adjustment layer with a Math/Multiply effect (to scale how far out the foam should go), and then a Math/Clamp to stop the mask from going into negative values. And that's about it! :D

    [Optional :p]
    There can be some issues as the camera's view becomes flatter against the water; I find adding a Gradient layer before the adjustment layer, with Color A = white and Color B = black, set to the mapping Generate/Rim and the blend mode Multiply, fixes this (You can image this as it scaling down the distance value as the camera becomes flatter with the surface, which counteracts the opposite issue) - I'm not sure how well this works with water that isn't a flat plane, but I doubt it'll have any noticeable artifacts.

    I'll whip up an example shader at some point soon, but you can see a similar technique used in this (outdated) tutorial (just use the Depth Behind layer type instead of the Depth type, and you can use the Depth layer type for convenience instead of all the weird view mapping literal swizzling stuff :p) :


    Let me know if you need any more help :).

    I'm very grateful that you offered to help out Spanish wise :). Luckily I've been receiving tons of help from @Alverik to get the translation into a good state, but if you spot any parts that could be improved (once I finally get the new version out haha...) then I'd really appreciate any input :). I'm also hoping to translate the documentation once I finish it :oops:, and beginner tutorials, so when I get started on that I'll give you both access to make changes and stuff whenever suits you :D
     
    Alverik likes this.
  18. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hey everyone! I just wanted to wish you all a Merry Christmas! I hope the year has treated you well, or that at the very least the new year turns out better :). Have a safe and fun holiday (especially for the lucky ones that don't have to work through it ;)) and I look forward to continuing to improve Shader Sandwich next year - I'll be posting my plans for that in the new year :). See you all in 2018! :D

    LogoChristmas.fw.png
    I tried :p
     
    zyzyx and Alverik like this.
  19. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Cool! And Merry Christmas to all!
     
    spike1 likes this.
  20. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Hey, about the translation, extra help will be cool! My first language is Spanish too (Latin American here), but since I've mostly learned 3D related terms in English, it'll be cool to have some help with some of the technical terms. Maybe we can talk more about it later on? I mean, the more help the merrier, lol (and the better the quality the translation will have in the end).
     
    spike1 likes this.
  21. vertexcolor

    vertexcolor

    Joined:
    Mar 11, 2013
    Posts:
    18
    Hey @spike1,

    I have some questions: is there a way to multiply the time values (to make them go faster or slower)?
    If not, is this feature going to be added?

    And since Unity is rolling out a shader tool itself are you going to keep up the support for this tool?

    Max.
     
  22. spike1

    spike1

    Joined:
    Feb 20, 2013
    Posts:
    58
    Hey Max!

    Yep this is already possible - just set the input to use one of the time replacements that aren't under the "Optimized" subset, and then double click on the input to access the speed option :)
    TimeSpeed.png

    Thanks for letting me know about Unity's shader editor, I hadn't heard about it 'til now (I've not been keeping up with Unity updates at all recently :p). I don't think it really changes my plans though, so that's good :).

    _____________________________________________________________________
    Soooo.....as for my plans!

    I'm really interested in some feedback here, so any thoughts from anyone is appreciated.

    I've been feeling really down about developing Shader Sandwich lately. I spend a least a month developing Shader Sandwich full time for every update; I'm not a fast programmer, and in the last few versions I've been doing original research - not just implementing things from white papers - to get everything as good as possible - while also trying to stay integrated inside the clunky thing that is Unity.

    I do this because I feel passionate about Shader Sandwich's potential and the users who I interact with encourage me :) (and also the sunken cost fallacy :p), but I don't know how much longer I can keep it up for :rolleyes:.

    Sales are pretty dismal, they've never covered anywhere near the amount of time I've spent developing and they've only been getting worse. But more importantly, I feel like this thing isn't helping anywhere near as many people as it could. I can spend four months working on an update, and only help 10 or so new people. The fact that I'm helping anyone at all helps me feel like it's worth it, but then there are months where I get no sales or interaction at all.

    For me to continue developing long term, it either needs to be financially fulfilling, or fulfilling because it's helping many people - currently it's doing neither very well.

    So I've been thinking of a few options, and I'd love to hear anyone and everyone's opinion (even if not a Shader Sandwich user)
    • Just keep doing what I'm doing until I get tired.
    • Raise Shader Sandwich's price and hope I still get a similar number of sales.
    • Lower Shader Sandwich's price and hope that enables more people to get it.
    • Split Shader Sandwich into numerous cheap addon packages.
    • Make Shader Sandwich free (as I actually originally intended haha :p)
    • Make Shader Sandwich free and move it to GitHub under MIT license or something. This'd allow anyone to pitch in with development.
    I really do want to continue developing Shader Sandwich (as much as I dislike working in Unity lol), I just need to figure out the best path.

    I'm leaning towards the GitHub option honestly, since it'd probably help people the most there, but at the same time discoverability on the Asset Store is important. Ideally if I'm unable to work on Shader Sandwich any more, other people would be able to at least maintain it, which the Asset Store version wouldn't work with. So Idk :p

    I'd love to hear from you guys about all this :). And yeah don't worry, Shader Sandwich won't be going anywhere :p.

    As for the next update - I've postponed it for a while as I figure out what to do regarding custom render loops. If anyone wants a relatively stable copy of what I had just send me a message (if enough people ask I might just put a package here lol :D). I'll probably just do a big mega update in a few months like last time - incremental updates are for wimps! :p
     
    Fibonaccov and Alverik like this.
  23. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Sorry, to hear that... well, I think you should try lowering the price first, that'll make people go for it, unless you are absolutely sure you won't be able to provide support anymore. If that was the case it might make more sense to make it open source. Support is one of the reasons I've suppressed the temptation to put some stuff in the asset store myself, lol... I understand it's a pain in the ass.
     
    Last edited: Jan 31, 2018
  24. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi Spike1

    Looking at Unity's plans for 2018 it looks like they are trying to upgrade their rendering pipeline with the scriptable render loops and hd render pipeline. The new node based shader builder they are making is only designed to work with that not the older forward and deferred renderer.

    I think for a lot of people though a layer based shader builder like shader sandwich would be easier to work with than a node based one and also Unity doesn't exactly have the best track record of building the best shaders.

    If you want to continue working on shader sandwich I would target the new hd render target. You could also separately sell individual shaders such as your fur shaders but make it so that you got a discount on the total cost of shader sandwich if you purchased the fur shaders separately first.

    Alternatively you could create a separate free version of shader sandwich that didn't contain all the advanced features as well as pro version that you sold. Perhaps create a free version that doesn't contain the options to create shell fur shaders or dissolve shaders.
     
    Alverik likes this.
  25. strongbox3d

    strongbox3d

    Joined:
    May 8, 2012
    Posts:
    860
    Hello Spike1,

    I feel your pain and I am very sorry that life sometimes is like that. I would advice you, first of all, create as many video tutorials as you can, many people like me, who has never touch on shader creation find your tool very attractive I myself have been following your tool for a long time, and always stopped at the last second from buying it, since I don't have any idea about what is require to do shader stuff. If you would create small but many video tutorials showing how to do some of the most needed shaders that people are looking for, it would give people like me hope that we would know how to create our own shader. Right off the top of my head I can think of shaders like: Water, Ocean, DirectX stuff, Sub Surface Shader, Animated Shaders, etc. With video tutorials making shaders like those, and some showing the kind of components needed to do thinks like that, will bring many shy "Shader Rookies" to buy your tool.

    Then I would lower the price, sometimes it is smarter to get more users than money, see this kind of thing balance itself, so at the end you end up getting more popular and this drives more sales. This wouldn't work am afraid if you don't have enough video tutorials to break the fair of the unknown.

    Hope my advice helps you somehow, and if you really feel passion about what you are doing, don't stop... remember that the road to the hill is steep and that is why only few get there, but it is also what the arriving to the top feels so good!

    Regards,
    Carlos
     
    Alverik likes this.
  26. vertexcolor

    vertexcolor

    Joined:
    Mar 11, 2013
    Posts:
    18
    Hi Spike,

    Thanks for the quick response (I was looking under the optimised options :p), but now I have found it!
    This is the result of the water ripple effect (the other stuff is still wip and the idea is from Simon Trümpler in his talk about VFX in RIME.)
    (Hmmm maybe another tutorial... :p (but it isn't my idea..))
    __________

    Sad to hear that the sales aren't covering the cost. I think that a (limited) free and paid version of the editor could help to bring more people on board (because I think that this tool has a lot of potential), like @IanStanbridge said.
    Alternatively you could create a separate free version of shader sandwich that didn't contain all the advanced features as well as pro version that you sold. Perhaps create a free version that doesn't contain the options to create shell fur shaders or dissolve shaders.
    (Other tools like ProBuilder and HOTweens or DOTween do this as well.)
    Maybe if possible drop the price a little bit because other shader tools have become cheaper as well. (But don't undervalue it of course.)

    I also think that the tool needs a bit more marketing and bring more attention to the greatest features like the layer based approach. The screenshots at the asset store page are great examples but maybe in the opening image focus more on the layer feature (maybe a big sandwich spread out in layers to point that out, just a quick idea) and that it more beginner friendly is (but also advanced enough for 'experts').

    Github is also a great idea so that the community can expand the tool as well, but I should do that later. (Unless you already have found some people that will maintain it, or like you said: Ideally if I'm unable to work on Shader Sandwich any more, other people would be able to at least maintain it.)
     
    Alverik likes this.
  27. RaiuLyn

    RaiuLyn

    Joined:
    Sep 14, 2014
    Posts:
    39
    Hi,

    I have participated in a Challenge and I used Shader Sandwich almost extensively. Link below:
    https://connect.unity.com/p/proxi-art-challenge

    In the page, I showed and explained how I achieve the effects in my scenes. Seriously, I don't think I can do it without shader sandwich especially when I know next to nothing about shaders and I'm under a deadline no less.

    I'm still working on the last scene at the moment.

    Edit: It is finished.
     
    Last edited: Jun 19, 2018
    Alverik likes this.
  28. RaiuLyn

    RaiuLyn

    Joined:
    Sep 14, 2014
    Posts:
    39
    Hi everyone!

    The challenge is now finished. The page is still the same: https://connect.unity.com/p/proxi-art-challenge and updated with all the details I can write about. Please check it out.

    Big thank you to @spike1 for making the tool allowing me to get this far and the results show.
     
    vertexcolor and Alverik like this.
  29. siumanchun

    siumanchun

    Joined:
    Apr 7, 2013
    Posts:
    44
    Hi ! Shader Sandwich , How To Setting double-sided Shader ? Thank You !
     
  30. RaiuLyn

    RaiuLyn

    Joined:
    Sep 14, 2014
    Posts:
    39
    @Alverik

    I found this piece while I was browsing around and I remembered you were trying to mimic that anime style. It's in Chinese unfortunately and to think this came from China than Japan.
    https://connect.unity.com/p/unite-2...i-xian-gao-pin-zhi-de-qia-tong-xuan-ran-shang

    I'm really impressed how they got it running on Mobile(Link below to some snippet of gameplay). Quickly skimming through the content, Shader Sandwich can do most of the process but I'm not sure about the vertex coloring though.

    In case you're wondering of their game, it's called 崩坏3, literal translation: Evil Execution 3 or something along those lines, a 2v2 MOBA style action RPG
    http://forum.china.unity3d.com/thread-21481-1-1.html
     
    Alverik likes this.
  31. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    @RaiuLyn Thanks, I'll read it properly later (with google translator or something). Though, by checking the picture slides I'm guessing to get some of the effects their way would probably involve making a custom SRP... Though I guess info on toon shading will be useful anyway.

    Anyway, I've been trying ShaderGraph. IT wasn't bad, but I must say Shader Sandwich is still a much better option. (I made some triplanar shaders, it was so much easier and better looking using SS). Considering a lot of people are going to stick to the Legacy pipeline for a long while for various reasons (like, not losing all their current shader library or the current native pipelines not properly fitting their platform or style), I don't really think @spike1 has much too worry about for a while.
     
    Last edited: May 23, 2018
  32. Danirey

    Danirey

    Joined:
    Apr 3, 2013
    Posts:
    548
    Hi!

    This is a great tool, so i would say "please, don't give up!". But the reality is a different thing... Hard decission. Just have faith! Regarding the Spanish, i always love to hear it is included in tools and plugins. It is appreciated! ;) and it reflects the hard work involved on this.

    Best regards!
     
  33. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    The name of the game is 崩坏3 and I found some links to the games site but nothing about where we could find the shaders etc.

    I did some digging but none of what those guys have done is any different from what RealToon does: https://www.assetstore.unity3d.com/en/?stay#!/content/65518

    Add some screen space lens bloom or whatever they are using for that blurry look and done.
     
    Last edited: Jun 19, 2018
  34. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    I just looked back at this thread from the beginning and I realize we pushed @spike1 the poor guy too much :( he was taking on everything from SSS, GI to Real Time AO lol.

    Regardless I haven't used Shader Sandwich in a while but looking back it was because I was so obsessed with all the crazy stuff I forgot all the cool stuff that it did have. Give this man a medal.

    It's Unity 2018 now so I haven't used it in a while but if i get it working I will show cool stuff here on the forums.
     
    Alverik and vertexcolor like this.
  35. RaiuLyn

    RaiuLyn

    Joined:
    Sep 14, 2014
    Posts:
    39
    I wrote an email to @spike1 to thank him for the tool and up till now, I have not received any response. Personally I think he has a lot of personal issues to deal with on his plate at the moment and couldn't respond back.

    As far as I'm concerned, he can take all the time he need to get those features in with how the tool being feature complete and all.
     
    vertexcolor likes this.
  36. C_p_H

    C_p_H

    Joined:
    Nov 24, 2014
    Posts:
    153
    Hi @spike1

    Would love to see you continue to support ShaderSandwich even if it becomes your side gig or hobby in the future, assets like this are true time saving gems but on Unity's Asset Store it'll take quite some time to catch on because its buried in a sea of other assets and ambitious marketing, however please keep your perseverance on development, your hard work ethics and attention to detail will pay off in the long run after the other competitors shader tools have deprecated in this marathon towards greater success. Your work is a true inspiration and motivation, and your compact tabbed interface design of ShaderSandwich was the primary reason I switched from ShaderForge and Unity's built-in shader builder! I truly believe that if you continue to take your time and refresh SS for major Unity releases, sooner than later SS will get the kind of notoriety and recognition it deserves and in a couple years give or take would become the best in class of all the other shader assets on the store, then you could raise your price to match its AAA quality at that time (or do something really ingenious like add a tab extension that can import & convert your competitors shader assets to ShaderSandwich assets; that'll make it a no brainer for curious users whom are already heavily invested in those other shader assets to feel confident in trying yours because they'd be happy not to have to rebuild all their shaders).;)

    At the time of this writing Shader Sandwich still works for Unity 2018.2....etc. but its starting to show its age and in need of an update soon.
    Code (CSharp):
    1. ArgumentException: You can only call GUI functions from inside OnGUI.
    2. UnityEngine.GUIUtility.CheckOnGUI () (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:284)
    3. UnityEngine.GUI.set_skin (UnityEngine.GUISkin value) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUI.cs:36)
    4. ElectronicMind.ElectronicMindStudiosInterfaceUtils.EndProSkin () (at Assets/ElectronicMindStudios/Shared/Editor/ElectronicMindStudiosInterfaceUtils.cs:432)
    5. ElectronicMind.Sandwich.ShaderSandwich.OnDestroy () (at Assets/ElectronicMindStudios/Shader Sandwich/Internal/Editor/Scripts/ShaderSandwich.cs:156)
    6. UnityEditor.WindowLayout:LoadWindowLayout(String, Boolean)
     
  37. siumanchun

    siumanchun

    Joined:
    Apr 7, 2013
    Posts:
    44
    ShaderSandwich support Setting PBR Shader ?

    Please continue to support ShaderSandwich ! :)
    I Love ShaderSandwich !
    Thank You !
     
    Alverik and vertexcolor like this.
  38. C_p_H

    C_p_H

    Joined:
    Nov 24, 2014
    Posts:
    153
    Shader Sandwich contains all the nodes that's capable of scene lighting interaction etc., so by default what it considers to be normal shaders are actually standard Unity PBR out of the box with extra bells & whistles of course.

    Funny @spike1 doesn't mention this anywhere in its documentation (please correct me here if I'm wrong). Only mention of PBR capability is on its Unity Asset Store page, " ...normal shaders - like Unity's PBR shader - or custom ones like cartoon, skin, or water shaders.".

    SS is in a league all its own and certainly the holy grail of shader creation tools currently imho, as a result of the developer blessing us with this easy to utilize Unity blueprint to generate virtually any shader from scratch I've ditched all other shader tools because its workflow is so much easier for me but at the same time I really appreciate discovering all of its solutions without any need to contact the developer for help (weird to have fun for months just tinkering with SS features). Well if anyone else is like me I'd guess that's why so many of his users haven't spent a lot of time here on the forums. Now that I think of it I've never rated SS on the Asset Store since my purchase a long time ago, hmm that's embarrassing.:oops: I'll just copy & paste what I've just stated and call it a day!
     
    vertexcolor and Alverik like this.
  39. siumanchun

    siumanchun

    Joined:
    Apr 7, 2013
    Posts:
    44
    Hi !
    unity 2017.4.11f1 PlaeseHelp

    use Fluid Noise , To Effects Add Mapping Offset
    SSTemp.shader File error !

    Shader error in 'Shader Sandwich/Shader Preview': undeclared identifier 'PerlinFastHash2D' at line 813 (on d3d11)
    Compiling Vertex program with POINT
    Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_RGBM_ENCODING

    And

    Shader error in 'Shader Sandwich/Shader Preview': undeclared identifier 'PerlinFastHash2D' at line 1390 (on d3d11)
    Compiling Vertex program with SHADOWS_DEPTH
    Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_RGBM_ENCODING


    Thank You !
     
    Last edited: Jan 26, 2019
  40. C_p_H

    C_p_H

    Joined:
    Nov 24, 2014
    Posts:
    153
    Try eMailing him with your invoice # for quicker response.
     
  41. gravelhunter

    gravelhunter

    Joined:
    Sep 3, 2014
    Posts:
    1
    so has everyone given up on this asset ???
     
  42. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    As far as I know the shaders included still work and offer some niche shaders that are still really useful in the demos that you can use. However the author has moved onto bigger things.
     
    C_p_H likes this.
  43. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    330
    Anyone know how to rename a material property?
     
  44. C_p_H

    C_p_H

    Joined:
    Nov 24, 2014
    Posts:
    153
  45. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    330
    Thanks C_p_H, this would be exactly what I am looking for but unfortunately that is the legacy documentation, and the "Inputs" panel no longer exists.

    It appears to have been replaced by the "Bread" panel as seen on the front page of the newer documentation http://electronic-mind.org/ShaderSandwichDocumentation/#

    The updated reference page was never added, so I've been stumbling around inside the bread panel looking for similar functionality. I can rename the input labels that are visible in the inspector, but I can't find a way to alter the internal property names.

    From the screenshots it looks like even the legacy Inputs panel was only altering the label and not the internal name.

    Am I missing something?

    Thanks again for replying, I really appreciate it!
     
  46. C_p_H

    C_p_H

    Joined:
    Nov 24, 2014
    Posts:
    153
    I was able to change names of properties by double clicking on its name within the Bread mode, this also worked similarly within the Layers mode. Very interesting to explore this situation. Hope this is what you were looking for.

    P.S.: I noticed the name changes didn't actually update within the shader and Unity Inspector until I selected from the internal drop down menu of ShaderSandwich/File Menu/Save OR Save As.
     
    Last edited: Apr 30, 2020
    Graham-B likes this.
  47. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    330
    Awesome! I had just about given up, but your reply made me take a second look today, and I found out why renaming wasn't working for me.

    For the property name shown in the Bread panel to become the actual property name, you have to press the little star to the left of the name and choose "None."

    I was trying to rename the albedo and normal map, but they were set to default internal names from that drop down as defined by Shader Sandwich; so renaming would only rename them in the inspector, but not in the shader itself.

    You have my gratitude!
     
    C_p_H likes this.
  48. Fibonaccov

    Fibonaccov

    Joined:
    May 5, 2020
    Posts:
    58
    Has anybody got Shader Sandwich running in 2019.3+ by any chance?
     
  49. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Spikes no longer active on the forums and I'm surprised Unity hasn't depreciated it yet,
    However the shaders still work even in the latest 2019 Standard built-in pipeline.
    If you have trouble running the app though in 2019 try it in 2018 LTS it should work fine.

    I've seen you on other posts and I think you reverted back to built-in from HDRP so you don't have access to shader graph. If you still want to use shader graph you can try URP and buy the URP Essientials pack which includes many essiential shaders for URP: https://assetstore.unity.com/packages/vfx/shaders/lux-urp-essentials-150355

    Other Shader options you can get are Uber Shader as well it has many of the packs for built-in pipeline that it's missing: https://assetstore.unity.com/packages/vfx/shaders/uber-standard-shader-ultra-39959

    And if you still need a shader generator then Amplify still works in built-in and all pipelines:
    https://assetstore.unity.com/packages/tools/visual-scripting/amplify-shader-editor-68570
     
    Last edited: Dec 15, 2020
  50. Fibonaccov

    Fibonaccov

    Joined:
    May 5, 2020
    Posts:
    58
    Thank you for your post! Yes i am on built-in - Used ASE but I kind of grew tired of node based approaches and was curious about this asset as it looked refreshing with high potential if it hadn't been stopped. Spike1 hasn't replied hence why I ended up posting here. You are absolutely right I can still try it on 2018 LTS - Funny enough I got the Lux essential asset for URP - it is an amazing one indeed. Cheers!
     
    SilverStorm likes this.