Search Unity

[Best Tool Asset Store Award] Amplify Shader Editor - Node-based Shader Creation Tool

Discussion in 'Assets and Asset Store' started by Amplify_Ricardo, Sep 13, 2016.

  1. ArturoSR

    ArturoSR

    Joined:
    Feb 21, 2014
    Posts:
    21
    Image A. 2017-07-06_1729.png Image B 2017-07-07_1249.png
    Hello everybody, I got an issue when tried to make a simple color mask (Image A Upper Right Corner), using only the shader without any texture, this is a mimic from a Shader Forge tutorial (trying to see if ASE can do the same thing) on youtube, but sadly, I could not achieve the same result, the first thing I notice was the ATan2 node function, that does not work the same way (in ASE can't make the conical asymmetric), but figured out how to achieve that I came with the desired result, but seems to does not work as should be, making some mods to my node structure a notice this: Image B.

    It seems that does not use all the nodes, just part of it (very unusually, because it shows the result from the node sequence), so, why does not work as should be?, I'm not shader programmer so I can't fix that (until then, I use Shader Forge to make what I need), I hopes this help to solve that issue, cheers and thanks in advance.
     
  2. Pecek

    Pecek

    Joined:
    May 27, 2013
    Posts:
    187
    @kebrus
    Ahh, I see, thank you for the detailed explanation.
    The workaround sounds nice, however this would be just a small extra for the environment asset I'm working on and I'm way behind schedule already, I think I'll just leave it this way, at least for now.
     
  3. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    Yep there's a bug in it, so the bug is in the PI node, because you are using the multiplier it's creating a "2 * UNITY_PI" code which in itself if fine but then you follow it with a divide which is generating code without proper parenthesis. Expect it fixed in the next version but for now just either multiply PI by 2 using a multiply node or a scale node. Also don't forget to put your clip mask to zero for the final effect to be the same.

    The thing about the preview is weird, could you share with us the shader file so we can look into it?
     
    Last edited: Jul 10, 2017
  4. Katzelschnurr

    Katzelschnurr

    Joined:
    Mar 25, 2011
    Posts:
    28
    I recently stumbled upon a new (free) package in the asset store that achieves a similar effect. It has some limitations but can produce some excellent results if you tinker with it.
    https://www.assetstore.unity3d.com/en/#!/content/91921
     
  5. Pecek

    Pecek

    Joined:
    May 27, 2013
    Posts:
    187
    @Katzelschnurr thank you, but I already tried that asset before I asked for help here, that solution could be used in a lot of cases but sadly this isn't one of them, it doesn't detect the intersections but simply uses a hardcoded value to decide whether it should blend the textures\inflate the meshes or not based on Y position alone. If you move the objects in the sample scene to a few units up or down it will be broken, for more or less even terrains it would be fine but I have fairly large height differences (~200 units\meters).
     
  6. TimNedvyga

    TimNedvyga

    Joined:
    May 18, 2015
    Posts:
    95
    Hi there,
    Got this errors with Unity 2017.1.0f3 and ASE v1.1.0.002
     

    Attached Files:

    Last edited: Jul 12, 2017
  7. x4000

    x4000

    Joined:
    Mar 17, 2010
    Posts:
    353
    You might want to switch to OpenGLCore instead of Metal. Unity has been having a ton of troubles with Metal in general. This is just an armchair guess from me, though.
     
  8. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Hey guys,

    We'll take a look at these errors on our end to check if it's an ASE issue or not.

    We also uploaded a new build into our website.
    Here are the release notes:
    Release Notes v1.1.0 dev 03:
    • Fixes:
      • Fixed issue on 'Pi' node
      • Fixed issue on 'Texture Coordinates' node not generating unique names when used on vertex body
      • Fixed issue with incorrectly counting amount of 'Virtual Texture Object' nodes on graphs
      • Fixed issue on 'Texture Array' drawers
      • Fixed issue on 'Remap' node preview preventing division by zero
    • Improvements:
      • 'Texture Array' node:
        • Now work with shader functions
        • Added derivative option to 'Texture Array' node
        • Minor tweak on tooltip text
    • New features:
      • New Community Node 'GlobalArray' submitted by Vincent van Brummen and created by Johann van Berkel
      • Added new Enable Instancing toggle into Rendering Options to be able to activate instancing without having to use Property nodes

    Happy shader creations!
     
    Last edited: Jul 12, 2017
    Pecek and arnoob like this.
  9. TimNedvyga

    TimNedvyga

    Joined:
    May 18, 2015
    Posts:
    95
    yes, this solves problem and I would be glad to use OpenGL, but when I'm using Metal editor I can see how exactly shader is looking on iOS without building it to device.
     
  10. TimNedvyga

    TimNedvyga

    Joined:
    May 18, 2015
    Posts:
    95
    Also with Metal Grab Screen Color create strange artifacts in editor view. In game view almost everything ok except shader grab screen upside down.
     

    Attached Files:

  11. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,335
    I see instancing automatically added by Unity at the bottom of the material's inspector. What's the difference?
     
  12. MP-ul

    MP-ul

    Joined:
    Jan 25, 2014
    Posts:
    230
    is there a way to make an outline without using the builtin outline ? i want to give the outline the texture color but i played only 20 minutes with ASE since i got it! xD and i see is a bit faster than Shaderforge for...... what i did!! :) i want to remake the unityChan shader outline but my knowledge in ASE is limited!(i was able to do it in SF but for some reason it crashed and i cant get it to work again :| so i switched to ASE xD )
     
  13. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    277
    Outline shaders are often two-pass which ASE doesn't support yet, but there are single-pass techniques I think. Maybe you could do something with depth texture discontinuity?
     
  14. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Hey guys... anyone having issues where you click on your shader and the canvas doesn't open, or even clicking on Open in Shader Editor does nothing? I am on Unity 2017.

    Nevermind... a restart of Unity fixed my issue :)
     
    Last edited: Jul 13, 2017
  15. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    That check box is for the most recent versions of unity. They streamline their process and now a bunch of built in shader have support for instancing and thus that checkbox lets you choose if you want it or not. We want to integrate this with ours as well. The new option simply adds the necessary compile directive for the checkbox to work.

    You have to wait a little bit longer. There's a new feature coming in the next weeks that will solve a bunch of small problems with some stuff that people request us, including yours. In your case you can't texture the outline yet because the outline is a different pass that has no input in the main node. Adding that input in not entirely out of question but we don't want to over-complicate things and the new feature should be able to handle that more elegantly.
     
  16. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    Yesterday I've downloaded this build but I can't find the new "global array" shader.
    Where am I wrong?
    Anyone else could check? I can't understand if it's my fault.

    Thanks in advance.
     
  17. MP-ul

    MP-ul

    Joined:
    Jan 25, 2014
    Posts:
    230
    Awesome :D! can't wait
     
  18. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,276
    Does anoyne know how to make a particle water shader like this with Amplify Shader Editor, i. e. the flowing water that comes out of the tubes:

    water.jpg
     
    KRGraphics likes this.
  19. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    That looks so pretty...
     
  20. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    That should be working, did you perhaps update the package while having a shader window open? Try reloading it by closing and opening again.

    You need a special mesh and refraction shader. For your mesh not only you need it to be tube shaped you might wanna have it animated in some sorts, maybe using the UVs with a sin wave function and have it pan in the direction of the fountain. Finally the shader is a simple translucent refraction shader with a panning normal map. Besides the mesh you can do everything in ASE. :)
     
    KarelA likes this.
  21. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,276
    Thank you. It would be great if there were an example in ASE. I've seen the soap bubble example, but it comes nearwhere close to clear water when you change the properties.
     
  22. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,276
    Since I've been searching for this for quite some time now, I thought it might be useful for others. In case you need it, here's a graph for a lightsaber shader with pulsating glow effect:

    lightsaber-shader.jpg

    Note: Remap is [-1,1] -> [0.8,1]. It would be great if ASE would show all that information in the graph.

    You need to use the Unity post processing stack asset and activate bloom:

    postprocessing.jpg

    The material settings for the shader:

    material.jpg

    And this is how it looks like:

    screenshot.jpg
    Credits to "K Re" who did the glow effect graph tutorial for the unreal engine.
     
  23. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    158
    Is it possible to make a custom light deferred shader?
     
    laurentlavigne likes this.
  24. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    DualLayer.jpg

    Hey guys,

    We've just uploaded a new build into our website.
    Here are the release notes:

    Release Notes v1.1.0 dev 05:
    • New features:
      • New 'Standard Surface Light' node ( exclusive to Custom Lighting Light Model )
    • New Sample:
      • Double Layer Custom Surface
    • Fixes:
      • Fixed issue with pasting nodes not refreshing external references from original ones
      • Fixed issue with generating helper local variable ids on several nodes which may lead to issues on shader functions
      • Fixed issue on 'Depth Fade' node
      • Fixed issue with not registering sampler dummies correctly when using 'Texture Coordinates' node with Tessellation
      • Fixed issue on multi-tabs with breaking all tabs except the focused one when dragging wires
    • Improvements:
      • Added previews to nodes:
        • World Space Camera Pos'
        • Object Space Light Dir'
        • World Space Light Dir'
        • 'Light Color'
        • 'Object To World'
        • 'World To Object'
    Here's a quick animated preview on our latest sample:



    Hi HitsuSan, unfortunately our Custom Lighting only works in Forward for now.

    Happy shader creations!
     
    benderete, zyzyx, Hitch42 and 7 others like this.
  25. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    158
    Is there any ETA on that? :D
     
  26. Loden_Heathen

    Loden_Heathen

    Joined:
    Sep 1, 2012
    Posts:
    480
    I have run across the same 'samplerunity_lightmap' error in frag_surf has anyone sorted out what causes this ... note I am working in Unity 2017.1
     
  27. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    This is a difficult one, if you send us a repo case it should be fixable, but right now, in our tests, everything seems to be working fine. I'm guessing it has something to do with the light maps or the baking process which is dependent own your project and scene settings. By sharing those it should be possible to replicate the issue.

    Also, is this happening in the latest version available on our website? Or a specific one?
     
  28. victorkin11

    victorkin11

    Joined:
    Apr 20, 2013
    Posts:
    175
    I have some problem, Custom Expression use multiply time in same shader cause this error.

    Shader error in 'AmplifySky': declaration of "InH" conflicts with previous declaration at (77) at line 82 (on d3d9)

    this is my expression. can someone help me pls!

     

    Attached Files:

  29. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Unfortunately this is not an easy task since we're limited to forward rendering when it comes to use custom lighting with surface shaders.
    We're still trying to figure out the best way to tackle this one.


    You've stumbled into a limitation of our custom expressions.
    We are generating local variables according to the node port names to then be used by the expression you wrote.
    By having two custom expression nodes with the same input port names, it is generating duplicate local variables. But don't worry it has a quick and easy solution and we are already working on it.
    We'll be uploading a new build later today with this issue fixed.
     
  30. victorkin11

    victorkin11

    Joined:
    Apr 20, 2013
    Posts:
    175
    Thank for reply!
     
  31. MP-ul

    MP-ul

    Joined:
    Jan 25, 2014
    Posts:
    230
    I just hope that the Outline "feature" is done soon :D!! i managed to make the shaders made with ASE optimized for mobile and I am happy with the performance :) so atm i only need the outline textured to look awesome for my anime
    shader xD !!!
     
    Amplify_RnD_Rick likes this.
  32. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    No problem at all @victorkin11. We're really glad you caught that one.

    We've already uploaded a new build into our website with the 'Custom Expression' duplicate port name issue fixed along with other things.

    Here are the full release notes:
    Release Notes v1.1.0 dev 07:
    • New Features:
      • Added support for Custom Subshader Tags on Output Node properties
      • Added new nodes:
        • 'World Transform Params'
        • 'Vertex Bitangent'
        • 'Vertex Tangent Sign'
    • Fixes:
      • Fixed issue with having 'Custom Expression' nodes with similar port names
      • Fixed incorrect order of instruction write on 'Texture Coordinates' node
    • Improvements
      • Able to specify an HDR color on 'Color' node if the HDR attribute is set
      • Improved how vertex data is being generated to prevent future issues
      • Small improvements on canvas zoom behavior
      • Added previews to nodes:
        • Time
        • Object Scale


    Happy shader creations!
     
    Last edited: Jul 19, 2017
  33. TheWalkingDevTA

    TheWalkingDevTA

    Joined:
    Apr 24, 2014
    Posts:
    9
    I found a small property order anomaly when Tessellation with the Phong option is active: the Phong Strength parameter doesn't show up in the output node material prop list, and it's position when rendered in the inspector UI is static (it's always the second property in the material, regardless of how you arrange the other properties on the output node). See images.

    Cheers!

    2017-07-19 16_38_05-.png 2017-07-19 16_40_42-Unity 5.6.2f1 (64bit)_Inspector.png
     
  34. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I am really digging the builds of ASE! Every improvement one after the other... I do have a question about some features in the roadmap.

    1. Will you guys be adding specularity to the Master channel, especially for legacy purposes? Such as setting skin to .35?

    2. Speaking of Skin, when will be seeing that make it's way into the shader tools? Right now it feels incomplete without the ability for skin shading. I am using Alloy for now, but I need some fine grain control over how the skin looks and feels to the models, similar to how Marmoset Toolbag and the skin shaders from Frostbite have that insane control..

    3. Also is it possible to create Skybox shaders with this that emulate the sky realistically, such as Rayleigh Scattering, and the ability to use the directional light as a sun? Or some form of Sun Spot tool with a ridiculous HDR power amount. The current implementation in Unity only works for procedural skies and I don't want to shell out for an asset that does skies, unless it does skies REALLY well, and works with GI.
     
  35. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    You are correct, that should be an easy fix, thx for reporting, we'll look into it ;)

    Thank you for the kind words.

    #1 We already have a specular output that you can place a specularity term in it. Do you mean creating a legacy shader with a specular value without using pbr?

    Regarding #2 and #3. We are aware that we have a few shortcomings in some specific shader cases and sometimes people just want something they saw or already have it to be in the editor as well, because of that we decided to create a new feature that has the potential of fixing all of those shortcomings and offer a solution for all future requests. This will also help more advance users and will let people like you create very custom shaders.

    That feature isn't out yet, it's a big one and it's taking it's time. We have it working (we actually demoed it in Unite last June) and it's currently in a testing phase, I can't give you an ETA just yet but I think it's safe to say by the end of this month we might have a build on our website (don't quote me :p ). So you can expect to have a solution for those cases in the near future.
     
    TheWalkingDevTA likes this.
  36. SengiG

    SengiG

    Joined:
    Oct 31, 2012
    Posts:
    6
    Buyed ASE to support you guys, great work. The only thing by now is the editor window, its really clumsy from time to time and sometimes just go wild with input fields and stuff. I hope it will take some attention and will improve in the future.
    Thanks for fixing Depth Fade.
     
    Rowlan likes this.
  37. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467


    No. A specularity value for metal/rough
     
  38. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Could you be more specific on what feels clumsy and the "go wild with input fields"? It could be a bug we are not aware of. Also, we are working on stability and performance as well so we'll definitely look into it. You can always drop us an email as well ;)

    So you mean, having a specular rgb value while still using a metallic type shader? Specular and metallic are mutually exclusive or the same thing depending on how you look at it. Metallic pipeline uses specularity but by definition it takes the albedo value as it's specular hue value. If you want to have a different color for specular thats when the specular pipeline kicks in. You just switch to specular shader type and you override the color. Another way to think about it is, you can replicate any metallic type setup using specular type by picking the correct color hue and brightness. You can't do the reverse however. Metallic type shaders saves you some channels and complexity but limits you on some types of surfaces, most of the times this is fine. But you can still use specular type shaders if you need more control.

    To put it short, if you want to tint your specular term in your metallic type shader in some way you need to switch to the specular type and use whatever color you want for your specular while keeping in mind that your specular color brightness is equivalent to changing the metallic parameter on a metallic type shader.

    Maybe I'm understanding you wrong but if what you want is not a custom-lighting-non-pbr shader then what you want already exists. You just have to use specular type and change some things accordingly.

    Hope that clears up.
     
    KRGraphics likes this.
  39. RDeluxe

    RDeluxe

    Joined:
    Sep 29, 2013
    Posts:
    117
    Hi !

    We just bought Amplify Shader, and our 3D guy is like a kid during Christmas. However we have several problems and I can't find the reasons of those.

    First, the background grid :



    As you can see, the grid does not work correctly.

    Second, the values of our nodes are sometimes stuck on 0 and can't be modified.

    Our codebase is pretty big now, and your plugin works fine without any extensions and without our code. Problem is, I tried to remove all our code and extensions one by one and still had the problem ... Lost 1 hour and I'm nowhere close to find the reason of this behavior.

    I checked your code quickly, but did not find any clue, and I don't have any time to dig more
     
  40. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    It does... I am just so used to using Alloy that speculars are always in the shader... I was also referencing Unreal 4 and their master node. See how there is a specular input and a metallic... usually the specular is a grey scale value, and it feels weird switching to specular/smoothness.

     
  41. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    You definitely shouldn't need to look into it. Feel free to contact us directly. We might be a little slower with replies on weekends tho.

    That 0 value bug is a know one and it was fixed a few versions ago but I can tell you are using a recent version so something must be going on. Are you perhaps using OS system with an unusual language. Or maybe you are using some sort of localization plug-in? I'm asking this because the 0 value issue is tied to the language the system is running. Considering that you are also seeing the background like that my best bet is that something didn't import correctly and some settings got corrupted, so try this: close any editor tab, restart unity, then try deleting the entire ASE folder and re importing again. This should fix both problems but if it doesn't contact us again (you can also use email) and tell us your OS language and your unity version. It's still possible that another plugin is interfering, specially if they use some kind of post-processing-import stuff but that seems less likely.

    If you having any other issue please get in touch, sometimes these bugs slip into the cracks and are hard to catch and thats why we have a time buffer between our website version and the asset store version so we appreciate any reports you might have.

    Thats understandable, unity and unreal have some disparities in that regard. Having them both does generate some unnecessary "overhead" but we'll think about it, maybe there's a happy medium somewhere.
     
  42. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,276
    I have a request: Unless I haven't found it yet, would it be possible to create a numeric property for numbers ranging from 0 to 1? Just a default for the float constant. I rarely use a hardcoded number, especially not when I'm developing and testing things. So changing the float constant to property and setting min/max to 0/1 is kind of tedious :)

    Also I noticed that when you change e. g. the shader name and then close the ASE window, then the name didn't change.

    And a question: How exactly does one create a shader with transparency? A simple sphere with transparent color would suffice. Or is there a documentation link for that kind of stuff?

    Oh, and what do the letters next to nodes mean? eg Multiply [M]. When I press M, nothing happens, so it doesn't seem to be a shortcut, which would of course be handy.

    Also, is it possible to have the Global Preview always active?

    Thank you very much!
     
    Last edited: Jul 23, 2017
  43. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    It's cool... I can work around that for now :)... and I now I am trying to get fresnel working on my eye shader, which I've switched to Standard Specular...
     
  44. RDeluxe

    RDeluxe

    Joined:
    Sep 29, 2013
    Posts:
    117
    Thanks for the PostProcessor hint ! It was indeed one of our script targeting any "UI" folder in a TexturePostProcessor script which was screwing up your textures. Seems to work well now, no more fixed "0" value. We are using Windows 10 in both French and English. So nothing exotic.
     
  45. Cynicat

    Cynicat

    Joined:
    Jun 12, 2013
    Posts:
    290
    Was using the Blend Operations node recently and realized there is no soft light blend mode. Is there a reason its missing? I use it for so many things it feels odd that its the only one missing. Also the new custom lighting stuff is awesome *thumbs up*
     
  46. RDeluxe

    RDeluxe

    Joined:
    Sep 29, 2013
    Posts:
    117
    Hi, it's me again.
    This is now working, inside our project, but only for me.
    I've got a colleague still stuck with the "0" values (the texture bug is solved). Same codebase, Library & Temp folders cleaned, etc.

    Amplify Shader Editor works fine on his computer in a new project. I have no idea what's happening here.
     
  47. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    No reason at all. We most likely missed that one when we were implementing the 'Blend Operations' node.
    We will add it as soon as we can. Really glad you pointed that out.

    This is really quite strange indeed, we're not quite sure on what might be happening. I really hate to ask you this but is it possible for you to share that project with the "0" bug with us? It would help us immensely.
     
    Cynicat likes this.
  48. RDeluxe

    RDeluxe

    Joined:
    Sep 29, 2013
    Posts:
    117
    Let's continue in PM ?
     
    Amplify_RnD_Rick likes this.
  49. krIxh

    krIxh

    Joined:
    Mar 2, 2017
    Posts:
    12
    Hi,

    does the Amplify Shader support heightmaps, like the Unity Standard Shader?
     
  50. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Hi @krIxh . Yes you can definitely use heightmaps inside an ASE shader.

    We just uploaded a new build to our website.
    Here are the release notes:

    Release Notes v1.1.0 dev 08:
    • New Features:
      • New 'Keyword Switch' node
    • Improvements:
      • Improved 'Lerp' and 'Clamp' nodes behavior
      • Added new improved dynamic 'Append' node which adapts to inputs and deprecated the old one
      • Billboards can now ignore object original rotation via its new Ignore Rotation toggle
      • New Soft Light option was added to 'Blend Operations' node
    The amount of preregistered keywords registered on the new node keyword drop down is still very small, but please let us know which ones you guys commonly use so we can add them. Nevertheless you can place any value you want by selecting the custom option.

    Please let us know if you find any issues and as always happy shader creations!
     
    antoripa, Cynicat, KRGraphics and 2 others like this.