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

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,204
    @Amplify_Ricardo or anyone else,

    Is there a way to change a texture size using a float slider? I'm working on an eye shader, and I'd like to re-size the pupil with a slider.

    Thanks.
     
  2. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Unfortunately we still don't have have any estimate on this.

    Yes, this is a feature that we are very thrilled to start working on, but we have other major features we really need to develop before tackling this.
    We'll take a look at your suggestion and see how feasible it it to implement.

    Tessellation right know has some limitations. When its activated we cannot use interpolators and send data from the vertex to surf.
    Our Dither node currently uses interpolators so this gets broken when Tessellation is active. But we'll modify it to use a different approach on this situation.

    Unfortunately it is not possible to change a texture size from within a shader.

    We also uploaded a new build into our website.
    Here are the release notes:

    Release Notes v0.7.0 dev 03:
    • New features:
      • Added 'Face' node
      • Added 'Switch by Face' node
    • * Fixes:
      • Fixed issue on not setting shader version on graph when creating a new empty one which lead to copy/paste issues
      • Fixed wrong port type assignment and incorrect conditional operator usage on community 'Compare ...' nodes
      • Fixed issue with creating a material from a shader already with properties in Unity 5.6
      • Fixed multiple UI issues on Retina MacBook
    • * New Samples:
      • Highlight Animated by The Four Headed Cat
      • 2 Sided by The Four Headed Cat
      • Two Sided with Face

    Happy shader creations!
     
    Flurgle and benderete like this.
  3. arnoob

    arnoob

    Joined:
    May 16, 2014
    Posts:
    155
    Hello everyone!

    I just downloaded the version 7, and I am having multiples errors coming from three particular scripts : "FaceVariableNode", "SwitchByFaceNode" and "UndoParentNode".

    The problem is here with version 0.7.0 dev 01 and 03.

    here are the messages I get :

    1. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs(36,52): error CS0117: `AmplifyShaderEditor.Constants' does not contain a definition for `VFaceInput'
    2. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs(38,38): error CS0117: `AmplifyShaderEditor.Constants' does not contain a definition for `VFaceVariable'
    3. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs(66,52): error CS0117: `AmplifyShaderEditor.Constants' does not contain a definition for `VFaceInput'
    4. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs(67,166): error CS0117: `AmplifyShaderEditor.Constants' does not contain a definition for `VFaceVariable'
    5. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs(314,80): error CS1614: `DefaultValue' is ambiguous between `DefaultValue' and `DefaultValueAttribute'. Use either `@DefaultValue' or `DefaultValueAttribute'
    6. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs(334,74): error CS1614: `DefaultValue' is ambiguous between `DefaultValue' and `DefaultValueAttribute'. Use either `@DefaultValue' or `DefaultValueAttribute'
    7. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs(344,80): error CS1614: `DefaultValue' is ambiguous between `DefaultValue' and `DefaultValueAttribute'. Use either `@DefaultValue' or `DefaultValueAttribute'
    8. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs(354,66): error CS1614: `DefaultValue' is ambiguous between `DefaultValue' and `DefaultValueAttribute'. Use either `@DefaultValue' or `DefaultValueAttribute'
    9. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs(364,66): error CS1614: `DefaultValue' is ambiguous between `DefaultValue' and `DefaultValueAttribute'. Use either `@DefaultValue' or `DefaultValueAttribute'
    10. Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs(383,115): error CS1614: `DefaultValue' is ambiguous between `DefaultValue' and `DefaultValueAttribute'. Use either `@DefaultValue' or `DefaultValueAttribute'
    Do you have any idea about how to fix it? (I am completely code illeterate...)
     
  4. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Hey there!

    No worries, we'll help you sort this out. It might be a bug so I'll just ask you some questions to help point us in the right direction:

    • What version of Unity are you using?
    • Did you download ASE from the Asset Store or our website?
    • Do you get those errors right on import or while testing a specific graph?
    Thank you
     
    Last edited: Apr 20, 2017
    arnoob likes this.
  5. arnoob

    arnoob

    Joined:
    May 16, 2014
    Posts:
    155
    Thank you for answering so quickly!

    I am currently using unity 5.6.0 f3
    I downloaded the dev 01 on the asset store itself when it was out, and then the dev 03 on your website hoping for an improvement (the error messages are exactly the same).
    I get these errors right on import (I tried to delete the folder and reimport it, still the same thin).
    I have been using ASE since 0.2.0, and this error wasn't present.

    Hope it helps! :)
     
  6. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    We're currently trying to replicate the issue on our end but without success.
    Can you try to create a new empty project and import ASE to see if the issues are still there?
    Are you on which operating system?

    EDIT: Also, are you using Cache Server?
     
    Last edited: Apr 20, 2017
    arnoob likes this.
  7. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,342
    I think you're asking about changing the displayed scale of the texture, vs changing the texture's resolution, yes? The later isn't possible and is I'm guessing what @Amplify_RnD_Rick 's response was thinking you were asking. However I suspect all you're asking about is scaling the texture's UVs, which is quite trivial. You just need to add a float property and multiply the texture coordinates.
     
  8. arnoob

    arnoob

    Joined:
    May 16, 2014
    Posts:
    155
    I'll try it now on a new project.
    No cache server, and on windows 10. I keep you updated.

    EDIT : It seems to work on an other project. I really don't know why it does it in my main, I'll have to figure it out... :-/

    EDIT 2 : I blindly tried to delete probuilder basiac and uscript basic, as I don't really use these assets, and it now seems to work. This is very weird, as I don't think they were the actual cause, neither was ASE (all reputable assets)...
     
    Last edited: Apr 21, 2017
  9. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    If you don't mind waiting a bit for a full reimport, please try deleting the project's Library folder to trigger a reimport of all assets.

    If that doesn't work can you please send us the editor log? In that case it could potentially be some kind of incompatibility caused by another asset.
     
  10. WarrenMarshall

    WarrenMarshall

    Joined:
    Jun 7, 2015
    Posts:
    44
    I really love this shader editor and just got done using it on a large project.

    My main complaint? Lack of documentation. If I could ask anything of your team, please ... PLEASE ... update the Wiki with in-depth descriptions of the various nodes and what the values going into and out of them mean.

    That would have saved me a ton of time tinkering and experimenting and guessing.

    Thanks! :)
     
    arnoob likes this.
  11. Diogo-Teixeira

    Diogo-Teixeira

    Joined:
    Apr 9, 2010
    Posts:
    494
    Hi Warren,

    Thanks for using ASE, first of all.

    We understand this is a major problem at the moment and apologize for the inconvenience.

    We've been dedicating more and more time to our ASE Wiki. There's still a lot of work ahead of us but besides the wiki, we're also aiming at more text and video tutorials and deepen the community engagement even further.

    The popularity of ASE has left us with a lot on our plate, which we can only be grateful for. Be assured, however, that we are taking measures to adapt to this new situation and you can expect improvements in these areas over the coming weeks.

    In the meantime, please feel free to post any questions you might have, we'll be happy to answer them.

    Thank you for your patience.
     
  12. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    oh man, that would be annoying for large graph
     
  13. WarrenMarshall

    WarrenMarshall

    Joined:
    Jun 7, 2015
    Posts:
    44
    Oh, also a feature request ... copy/paste nodes between shaders would be SO WELCOME. :) We had some fairly complex wind set ups for foliage and we ended up having to recreate the networks in each shader because there was no way to transfer the work ... not that we saw anyway.

    However, don't take this as all negative. ASE was great for us! It saved so much time and I'd highly recommend it to anyone.
     
  14. WarrenMarshall

    WarrenMarshall

    Joined:
    Jun 7, 2015
    Posts:
    44
    Oh, and the examples you include are great. I was able to figure quite a bit out by referencing those so good job there!
     
  15. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Last edited: Apr 21, 2017
  16. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    You can copy and paste nodes between shaders as long as the editor remains open, the copied information is currently lost when the shader editor is closed. We might be able to improve it further and actually support it when the editor is closed, keep an eye out for the next update.

    You might also have been using an older version at the time, it's always best to pick up the latest build directly from our website using your Unity Asset Store invoice number.

    Amplify Products - Download

    That's awesome, happy to hear it. Be sure to let us know if you have any request.

    Thanks!
     
  17. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Hi @adamz,

    Try this if it's that you are looking for

     

    Attached Files:

  18. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    benderete likes this.
  19. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,204
    Thanks so much!
     
    benderete likes this.
  20. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    To avoid texture repeating, set the texture wrap mode to Clamp and for best results on masked or transparent shaders make the texture with transparency on the four sides (no opaque zones touching borders)
     

    Attached Files:

    DigitalAdam likes this.
  21. IsotomaSharon

    IsotomaSharon

    Joined:
    Apr 21, 2017
    Posts:
    2
    Hi, I just want to start by saying this is an amazing asset and it's helped me both in creating and learning about shaders! Great job :D

    I'm currently trying to create a shader to use with a sprite renderer and I'm a bit stuck with the billboarding. I've ticked the option in the master node and everything works perfectly until the GameObject with the sprite renderer is rotated (or it has a rotated parent). The shader doesn't seem to account for this rotation and so the sprite doesn't face the camera anymore.

    From what I can understand looking at the shader code the verts are not taking into account the model rotation and only applies the view rotation. I'm not sure where to go from here but I'm more than happy to get stuck in (spent a few hours googling already but I don't really know what I'm looking for) so I was wondering if anyone could point me in the right direction.
     
  22. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389

    Quick update!

    Along with a few improvements and fixes, you can now hold Alt and Drag Nodes to automatically connect or disconnect existing wire connections. Be sure to pick up the latest version directly from our website using your Unity Asset Store invoice number.

    Amplify Products - Download

    Release Notes v0.7.0 dev 03:
    • New features:
      • Alt + Node Drag to Auto-(dis)connect node on existing wire connection
    • Improvements:
      • Added new Tex Input Port into 'Texel Size' node
      • Optimized nodes list usage on palettes (API)
      • Improved retro-compatibility handling with adding new ports on already existing nodes (API)
    • Fixes:
      • Fixed issue on horizontal scroll bar not appearing on Helper Window

    Happy shader creations!
     
  23. petersx

    petersx

    Joined:
    Mar 5, 2015
    Posts:
    239
    Hello,
    Is it possible to store ddx/ddy nodes into local variable ? When I trying to do that - material becomes white ?

    World Position XYZ=>DDX=>Register Local VAR
    Get Local VAR =>(DDX) Normal Map
     
  24. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,204
    UV.gif
    Question for you or for someone else... I'm trying to use your UV scaling technique to work with Parallax. POM also uses the UV input of a texture. Any idea on how I can combine two UV's, POM and your Scaling nodes, into one for the texture?

    Thanks again!
     
  25. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    benderete likes this.
  26. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Here go the Force Field with Impact Effect Shader Sample made with ASE.
    It can be a little dirty and surely needs some improvements, but it looks cool! XD.

    The object with the shader must have attached the ForceShieldImpactDetection script. This script will get the impacts and send it to the shader, setting the _HitPosition shader property with the impact position and animating the _HitTime shader property for the effect.

    I have a little problem with it: the intersection highlight works fine on Windows, but not on Mac. I don´t know if is a mistake on the shader or a hardware problem:

    This is the diagram section related:


    Attached go the Sample Scene with the shader. Enjoy shooting some balls XD



    Note: On the screenshots is powered with Amplify Bloom and Amplify Occlusion
     

    Attached Files:

    Flurgle likes this.
  27. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I'm digging this. I can imagine some issues though with full characters, especially UVs.
     
  28. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Is possible that with characters you will need apply shield textures with world position. Also I'm not sure about the impact detection with complex meshes, it could need another approach.
     
    KRGraphics likes this.
  29. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    I have not done anything with Parallax and i have not idea about it.
    I did a little try from the ParallaxOcclusionMap sample without success.
    From the ParallaxMapping sample i have this result:





    Let see if someone with experience on it can help you
     
    Last edited: Apr 22, 2017
  30. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Probably World Position would be sufficient. Just have to test it out
     
  31. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    And I got my hands on the latest build for double sided shaders... and while it is working wonderful... the lighting is still off on the opposite side of the mesh. I am expecting the other side of the face to be dark...
     
  32. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    It's CTRL+ALT+Drag btw :)
     
  33. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    A question: I'd like to use the alpha channel of a normal map to control the smoothness of the material.
    I know that if I set the texture sample with the "normal map checker" ON I loose the alpha channel so I'd like to do something like I saw in ShaderForge forum.
    The tips was here http://neatcorporation.com/forums/viewtopic.php?f=6&t=277

    Do you think it's possible to do the same with Amplify?
     
  34. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    You can try this:

    On Unity import the texture setting Texture Type = Default

    Use the Amplify Shader Editor Unpack Scale Normal node.

    But the results of the normal effect is not the same using unpack that with the unity normal import.

     
    marcatore likes this.
  35. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    Thank you.

    I've tried but it seems that using the remap node (like the shaderforge link suggests) gives best results.

    I've also to suggest that in the import options of the normal map it must be unchecked "sRGB (Color Texture) check button.
     
    Last edited: Apr 23, 2017
  36. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    A question for the devs: is it possible to organize the shader like the Unity standard material?

    http://i.imgur.com/Q25sUbM.png

    I'm interested to replicate the small texture slot and the possibility to have space between some material elements.
     
    WarrenMarshall and benderete like this.
  37. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Yes, remap node rocks! (just kidding).
    I'll try with those advices! Thanks!
     
    Last edited: Apr 23, 2017
  38. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    benderete likes this.
  39. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    277
  40. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    415
    The unpack scale normal only works to unpacked normals that are set as such because it will remap the normal but also unpack it, meaning, it will swizzle the values around. If you want to use the alpha channel you have to not set the texture as a normal map and use the remap node or remap it manually to have the same results.

    Yes you can, the same caveats for that effect apply, particle lighting or transparent objects with shadows are usually dependent or complementary scripts for the technique to work, these are usually tied to how unity works, so you can replicated that technique in ASE as long as you have equivalent scripts for it.

    Really? here it's alt+drag, are you using something else besides windows?
     
    brisingre and benderete like this.
  41. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I'm on Windows 10 and the Alt+Drag is not working for me
     
  42. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    I'm new to ASE and I can't see a node to separate and use one of the UV coordinate. I'm blind or is missing? Or should I combine some nodes to extract from an existing one?

    Thanks in advance
     
  43. DedRed

    DedRed

    Joined:
    Jan 16, 2013
    Posts:
    4
    Is it possible to get a scrolling texture with the triplanar node? Since there is no UV input I'm not sure how to go about this. It'd be nice if you could offset the texture in x, y, or z direction, choosing if you want that offset in object or world space.
     
  44. arnoob

    arnoob

    Joined:
    May 16, 2014
    Posts:
    155
    Hi!

    Yes you can, but to do so you have to do it the old way (creating UVs using the "world position" node in combination with "append" node fro the three main axis and then blend them). You can't do it only with the "triplanar sampler" node. This node is here to avoid you the whole work each time you make a triplanar shader, but it's not as polyvalent I guess.


    I am also having a problem with a shader. I'm trying to make a "cloud dome" that creates clouds using noise maps and panners. The trick is, I want them to cast shadows from the sun (don't receive them don't worry).

    The weird thing is, I works great when using a simple texture, but as soon as I plug something in the UV tiling (even a 1x1 value, witch doesn't change anything, as shown in the joined pictures), the shadow becomes completely homogeneous (averaging the global shadow value).

    Also, when the uv is not controlled by a nod, changing the tiling gives no problem at all.

    Dome1.jpg

    Dome2.jpg

    I need to us the UV tiling in order to make the clouds move. Does anybody have an idea about what is going on here? Is it a bug of some sort?
     
    corjn and WarrenMarshall like this.
  45. Maverick

    Maverick

    Joined:
    Dec 18, 2009
    Posts:
    240
    Hi

    Do we have a way to use global custom shader parameters in ASE? (those set by Shader.SetGlobal...)

    Thanks
     
    arnoob likes this.
  46. WarrenMarshall

    WarrenMarshall

    Joined:
    Jun 7, 2015
    Posts:
    44
    arnoob

    You know, I saw problems when plugging in "Texture Coordinate" nodes as well. Whenever I would, things would break in the shader. We ended up not using them and having to find work arounds ...

    As you say, even plugging one in with a 1:1 scaling - which shouldn't change anything - things can go wrong.
     
    arnoob and benderete like this.
  47. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Yes. And if you test the Texture Coordinate node setting it a Texture Sample like reference also works fine.
     
    arnoob likes this.
  48. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Revisiting my old Low Poly Water shader (now with foam)


     
    Last edited: Apr 26, 2017
    Amplify_Ricardo and hopeful like this.
  49. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Great stuff ;)
     
  50. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

    We just uploaded a new build mostly with bug fixes.
    Here are the Release Notes:

    Release Notes v0.7.1 dev 02:
    • Improvements:
      • Improved 'Texture Coordinates' node and added new Tex input port into it
      • Improved local variable usage on several node generated code to improve overall shader instruction count
      • Vertex Position' node now has new Size property
    • Fixes:
      • Fixed issues on 'Vertex to Fragment' node
      • Fixed issue on loading an ASE shader with its window already opened but tabbed and not visible during play mode
      • Fixed multiple issues with 'Grab Screen Position' node usage on Vertex function
      • Fixed issue with Forward Shadows not being correctly written when Custom Shadow Caster was active
      • Fixed issues with Blend nodes usage on Vertex function
      • Fixed issues with 'Dithering' node usage on vertex function and when Tessellation is active
      • Fixed issues with 'Screen Depth' node usage on vertex function and when Tessellation is active
      • Dithering sample now works while Tessellation is active

    Yes, unfortunately this is a bug on our Custom Shadow Caster. We're really glad you caught that out.
    We already registered it on our bug tracker and will fix it as soon as we can.

    Yes, on property nodes like Float, Vector and Color you only need to set their Type to Global on the Node Properties window.

    Can you let us know if you are still having issues with the 'Texture Coordinates' node, so we can try to replicate on our end and fix what might be happening?

    Happy shader creations!
     
    arnoob and Pecek like this.