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. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389

    BETA 3
    is now officially available at the Unity Asset Store, if you prefer, you can download it directly from the editor. We would also like to take this opportunity to remind you that you can download the latest development build directly from our website.

    Be sure to check out the last 2016 build posted by @Amplify_RnD_Rick - Amplify Shader Editor v0.3.0 dev 002

    Happy Holidays everyone!
     
    ViktorKom likes this.
  2. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Looking forward to seeing the next build... and I hope to see shaders for skin making it way it... trying to figure out the diffuse blurs for the shaders.
     
  3. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,364
    !Node preview and Lighting model in 2017!
     
  4. NeonTanto

    NeonTanto

    Joined:
    Jun 19, 2013
    Posts:
    156
    @KRGraphics, what about more than one pass shaders, non surface shaders and shaders with compile options? Its in roadmap or not?
     
  5. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    I'm pretty sure they are. It's was requested before and confirmed to be on the plans.
     
  6. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Can we modify the zwrite depth using custom textures?
     
  7. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    AFAIK no, you can't. Surface shader generation still doesn't let you write to the depth buffer. Maybe custom lighting surface shaders? not sure.
     
  8. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Love the new tessellation nodes in the latest release! :)
     
    KRGraphics likes this.
  9. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Just to ask if make sense to try this also for a newbie like me. Investing in learning Unity only for video and digital stage set creation, I'm really a noob in shaders but I start feeling they can solve a lot of VFX topics I've in mind.
    So might make sense to use this tool to in fact learn about shaders? I suppose using the nodes I can find in a visually more structured way all the main parameters and concepts coming behind them.
     
  10. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    If you're the same Seith on Twitter with the demo of a mouse and plants are you controlling the grass movement with a shader
     
  11. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    If you're an artist, this toolset helps with shader creation from a creative standpoint
     
    davide445 likes this.
  12. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    I am gonna use ASE for my new project "Sentieri" ...I am not very familiat with Shader .. so probably I will aks for help / support ...I think that ASE even still in beta and work in progress is quite mature product for productions ....
     
  13. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Hi,
    can i reproduce something like that for input ? how ?

    const static int maxColourCount = 8;
    int baseColourCount;
    float3 baseColours[maxColourCount];
    float baseStartHeights[maxColourCount];
     
  14. ViktorCor

    ViktorCor

    Joined:
    Jul 22, 2012
    Posts:
    13
    Simple artefact:
    Hard shadow if using translucency:

    and have a hard border by shadow distance
    if look through a transparent shader:
     
  15. Maverick

    Maverick

    Joined:
    Dec 18, 2009
    Posts:
    240
    Hello,

    Following shader is crashing unity each time I try to compile it in shader editor:

    upload_2016-12-29_18-52-47.png

    upload_2016-12-29_18-50-23.png

    To reproduce it just link last multiply node to Albedo. (see attached shader file)

    PS: I have v0.3.0 dev 002
     

    Attached Files:

  16. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    I'm not sure what you are trying to accomplish but don't you want to attach the remap node to the uvs instead? The tex input should be used only for texture objects. Still it's weird that is crashing unity altogether, does it crash unity when you connect it? or only when you compile?
     
  17. Maverick

    Maverick

    Joined:
    Dec 18, 2009
    Posts:
    240
    It crashes on compile.

    PS: You are right about UVs, I did a repo in a hurry after lots of crashes.
     
  18. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    That would be me. The vegetation bending system is not based on a shader. It's using "fake physics". I'll do a post about it later on the game's site.
     
    one_one likes this.
  19. ViktorKom

    ViktorKom

    Joined:
    Feb 24, 2015
    Posts:
    29
    I made a small shader with LightWarpping. This allows shading softer.
    Without LightWarpping:

    With LightWarpping


    And you can repaint LightWarpping with ColorRamp for to create the effect SSS for simple skin, marble, and other transmission materials:




    But it works only with Direction light. And I have no ideas how support point and spot light, light Color and shadows in Amplify Shader Editor. :(

    textures for color ramp:



    And simple feature for a more clear result - Flakes:
    without flakes:

    With flakes:


    Bonus CarPaint with Flaker effect ;)


    Flake texture:
     

    Attached Files:

    ksam2, petey and Seith like this.
  20. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Couple of requests if they're not already on the list:

    Ability to create re-usable shader functions with their own inputs/outputs. Re-use in other shaders would be great but it would be nice even if only in the same graph.

    Group Properties in the Inspector in sections. I think Unity supports this. Maybe represented in the graph by a flagged Comment box or similar type Section box?

    When copying Commented node graphs with Properties, name the new Properties similarly to the original, like "Wavelength2" instead of "Float 10".

    edit: Oh yeah, what's the difference between the Time Parameters' "out" and "t" outputs?
     
  21. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    Out is just the output of the variable that unity provides that holds those values, so usually a float4, the "t" values are each individual components that provide different unity-calculated values for time (or any other parameter node)
     
  22. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    Could you please share the shader? I tried replicating this with both a standard shader created in the editor and one with translucency and the shadows seems fine to me
     
  23. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Good stuff... I am trying to figure out how to do grass waving in the wind with vertex animation...
     
  24. ethanwgross

    ethanwgross

    Joined:
    Jun 25, 2014
    Posts:
    83
    Seems like the new build (Dec 21) did something to break the tessellation example. It works when I install it from the asset store. Unity 5.5.0f3
     

    Attached Files:

  25. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

    Hope you all had an amazing New Year's Eve and we wish that 2017 will be a synonym of awesome for all of you.
    We've returned from our holidays and are already working at full force.
    We'll be looking at all the issues reported here and via private support and will address them as soon as possible!
     
    Last edited: Jan 2, 2017
  26. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

    Just uploaded a new build already addressing some of the reported issues.
    Here are the release notes.

    Release Notes v0.3.0 dev 003:

    • Fixed crash from infinite loop generated on port 'Tex' at 'Texture Sample' node
    • Fixed cast issue when using internal port data on some nodes
    • Fixed issues with local variables generation
    • Tweaked Vertex Displacement port on Master Node
    • Added ability to specify range of valid data types for input ports (API)
    • Locked 'Tex' port from 'Texture Sample' node to only allow connections to 'Texture Object' nodes
     
    Cactus_on_Fire likes this.
  27. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Glad to have you back Amplify team :)

    I had a question about future implementations. You can already modify the Zdepth offset, is it possible to push the zdepth with a heightmap texture along its normals while using the parallax occlusion feature? That way it would integrate much better with other 3D objects as well as cast depth-based accurate shadows.
     
  28. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Will be possible to recreate some explode and recreate object effect?
    Trying to understand if I need some specialized fragmenting shader, some dissolve shader+particle effects or can manage all from Amplify without coding needed.
     
  29. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    Wouldn't you want a specialized vertex function instead? If you want the object to look bloated while exploding or have the polygons scattered you have to move the vertices around in the vertex function. In the case of the editor you do that in the vertex offset output.
     
  30. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Unfortunately, like kebrus already mentioned, this is still not possible while using surface shaders.

    I'm not being able to replicates this issue. Is it possible for you to confirm that it is still happening on our latest version?
     
  31. Moouz92

    Moouz92

    Joined:
    Mar 16, 2016
    Posts:
    14
    Since the BETA 3 the texture coordinate became a bit tricky to use. I have to use a vector 2 for the coordinates so I no longer have acces to a single slider to tweak it in the editor. And if I don't attach a vector 2 and instead put only a value directly on the node, it doesn't work.
    Am I doing something wrong ?
     
  32. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    I'm not discussing about the detail - I didnt have the knowledge to - just wanted to know if the final result such as this one

    might be achievable using Amplify. My idea was to use Amplify to in fact learn shaders, will be nice starting with a specific objective in mind.
     
  33. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    No, you are doing it correctly. This is an issue.
    I already was able to replicate it on our end and will fix it asap!

    EDIT: Just uploaded a new build which solves this issue. Please let us know if it's still occurring on your end.
     
    Last edited: Jan 4, 2017
    Moouz92 likes this.
  34. ethanwgross

    ethanwgross

    Joined:
    Jun 25, 2014
    Posts:
    83
    - Downloaded v0.3.0 dev 004 – 1st April 2017 – Beta directly from the website and Imported into a new clean project
    - The shader is still just black. When I opened it up in ASE editor, it says "wrong checksum" and that it was created with an older version of ASE. So, I save it and the message goes away. However, the shader is still not working. I even tried disconnecting and reconnecting all the nodes to no avail. I also tried to reimport the package and the material is still just black.

    - Imported ASE v0.3.0 dev 01 from the Unity Asset Store, and it works fine. Please let me know if you need more info... beta's are fun are they not? : )

    * The first few images of the black material are of dev004 and the one that shows the correct version is from dev01
     

    Attached Files:

  35. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Thank you for the additional info and apologies for the incorrect date ( already fixed that ). I'll try to replicate using your steps.
     
  36. ethanwgross

    ethanwgross

    Joined:
    Jun 25, 2014
    Posts:
    83
    Yea, definitely let me know if there is more info you need, Im using 5.5.0f3 on a Mac.
    Didn't really do anything but simply import the asset into a clean project. I didn't change the build settings or anything for that matter. Thanks for the help : )
     
  37. Khena_B

    Khena_B

    Joined:
    Aug 21, 2014
    Posts:
    273
    Currently using Shaderforge and thinking about switching because their support is nonexistent.

    I made a shader in Shaderforge using a panner node and a time node to offset the texture, however i'd like the shader to be functioning regardless of the timescale, in Unity there is Time.unscaledTime. Is this something that can be done with Amplify Shader Editor?

    Thanks.
     
  38. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,824
    Hi there,

    I'm just getting into Amplify Shader Editor and I was wondering, can you create unlit shaders with it? I was just trying to create some simple shaders that need to be a blend of vertex colour/colour and transparency without any lighting. Is that possible in ASE?

    Thanks,
    Pete
     
  39. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

    Our native time node ('Time Parameters') is also scale dependent. Unity only gives direct access via shader to a scaled time via its built in variable _Time.

    But you can easily inject your unscaled time into an ASE shader via a simple script.

    Please consider the shot bellow where we interpolate between two colors depending on unscaled elapsed time:

    UnscaledTime.PNG

    In this simple example we, instead of using the 'Time Parameters' node, create a Float node, set its type to Property and name it Unscaled Time. Then via the StopTime script we update it's value according to Time.unscaledTime.

    Please note the difference between the name you give on ASE and the one you access via script ( Unscaled Time vs _UnscaledTime ) since we internally create the shader propriety variable names by removing all invalid characters and add an _ to the beginning.

    Hope this helps.


    Hey Pete,

    On ASE we only generate surface shaders for now so you can create something similar to an unlit shader by using the Emission port our Master Node ( which internally uses the emission channel of the surface shader ).
     
  40. Khena_B

    Khena_B

    Joined:
    Aug 21, 2014
    Posts:
    273
    Thanks, this is exactly what i did with Shaderforge, injected my own unscaled time float value.

    I'm still really interested in making the switch however, but i think i'll wait for a real time preview to be implemented.
     
  41. Moouz92

    Moouz92

    Joined:
    Mar 16, 2016
    Posts:
    14
    Hey guys,

    Sorry for the newbie question but is there a way to have different tiling scale for textures connected to a POM node ?
    upload_2017-1-7_20-54-49.png

    Do you have planned to add nodes like pixel, scene depth or depth fade ?
     
    Last edited: Jan 8, 2017
  42. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    POM is just a clever offset of the UVs, which means, you can simply do some math operations with the result of POM. For example, after the output of POM you can add and multiply that with a vector2 node and have the tilling and offset of that effecting POM. Just be advised that you should try to match the tilling and offset for all textures or else it'll look weird.

    POMwithTilling.PNG

    Also, pixel and scene depth already exist. And if you want to see a depth fade, you can see the water and dithering examples.

    depthstuff.PNG
     
    KRGraphics and Moouz92 like this.
  43. Moouz92

    Moouz92

    Joined:
    Mar 16, 2016
    Posts:
    14
    Thank you so much for the help Krebus. I'm an UE4 guy so all these is new. Make the transition between the engines still a bit tricky for me atm
     
  44. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Hi everyone,

    We've just uploaded a new build into our website.

    This update, like the one before, is mostly about fixing issues overall.

    Release Notes v0.3.1 dev 001:
    • Improved overall editor UI
    • Improved Live Mode
    • Nodes can generate shader comments ( API )
    • Each port can now have multiple restrictions ( API )
    • 'Texture Object' can now only be connected to 'Texture Sample' nodes
    • Added 'Switch' toggle node
    • Auto adding AMPLIFY_SHADER_EDITOR symbol on current target group when initializing ASE ( API - to be used on external community nodes )

    Concerning the API tools we are adding, they are mostly for the community to be able to more easily contribute to ASE.
    We are preparing proper documentation for it all will share with you as soon as it is ready. We also apologize for the huge delay on updating our documentation.

    Please let us know if you guys have any issue with this build.
     
    KRGraphics and nipoco like this.
  45. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    So I can use something like this to simulate fog underwater.
     
  46. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Hello, I'm using the latest build from the site and I'm sorry to report that I'm having a significant issue with it: when clicking on the "recompile" button top left the shaders are no longer recompiled. I have to set the Windows focus to another application then switch back to Unity and then the compilation happens.

    Also, it looks like adding a Panner node to pan UVs on a texture used for Local Vertex Offset results in a pink shader:
     
  47. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Hi Seith,

    We will take a look at these issues ASAP!
     
  48. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Just uploaded a new version into our webpage.
    Seith, is it possible for you to download it and let us know if it fixed the issues on your end?
     
  49. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Absolutely, I'll do that right now and report here! Thanks!
     
  50. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Okay so the compilation issue is fixed, thanks!

    However the pink shader issue is still there. I'll send you the shader itself right now via email.