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

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Right click the folder with shaders in and reimport.
     
  2. moyashiking

    moyashiking

    Joined:
    Jul 10, 2018
    Posts:
    35
    My purpose is to deform the texture.

    I wrote a simple sample. Both gave almost the same output.
    A) Same as the previous one.
    B) When I wrote the same thing as A using Texture Object, Unpack Normal Maps was not unchecked even if I reopened it in the editor.
    C) I tried using Normal Create.

    A and B are not normal textures, so it's useless.
    Is C good?

    Please let me know if there is a better way.
    2021-01-30_23h02_04.png
     
  3. RedEarth

    RedEarth

    Joined:
    Nov 4, 2016
    Posts:
    23
    ASE is breaking my urp shaders and I have no clue why. I've removed ASE (I think) and reinstalled latest and it still breaks the shaders. I wrote many of the shaders in ASE originally.

    Under Shader Type, I don't see the URP options and I don't have any options to create URP shaders in the create menu. As far as I can tell there are no URP options available to me through ASE.

    So something broke but I'm not sure what. Noticed on 2019.4.16f1 and upgraded to 2019.4.18f1 with same results.


    Edit: Found the URP shader package, installed it, and profited. Curious tho, why wouldn't they have been installed with ASE's install? Why the extra step?
     
    Last edited: Jan 31, 2021
  4. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Afraid that's not possible at the moment as a general option. However, you can compile all shaders that use a specific Shader Function directly via the inspector.

    upload_2021-2-1_10-39-55.png

    To be honest I'm still a bit confused with your explanation. General rule, don't Toggle a Texture Sample node with Unpack Normals if that texture is not listed/set as a Normal texture in its properties.

    upload_2021-2-1_11-0-31.png

    If you're using a Normal Map Texture, this is the best way.

    upload_2021-2-1_11-5-48.png

    Not using a normal also works but it really depends on what you're going for; some tweaking is required as you're just adding to the existing UV's.

    upload_2021-2-1_11-17-5.png

    Good to hear it! It should indeed be automatic, the first time you open the editor you should see it importing the package; odd that it didn't happen but the only way to replicate/debug is if the console log can clue us in. Let us know next time it happens, check your console log; perhaps that could give us some idea of what's going on.

    Apologies for any inconvenience.
     
    eggsamurai and moyashiking like this.
  5. escic

    escic

    Joined:
    Aug 6, 2013
    Posts:
    42
    hi, i want to use Indirect Specular Light to make a mirror fx but it only give me a black image. Any idea? still210201a.jpg
     
  6. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    1,248
    Hi Guys. Just checking in to see the status of this tool and Raytracing? Still not working, or no work will happen on it until Raytracing out of preview?
     
  7. Slashbot64

    Slashbot64

    Joined:
    Jun 15, 2020
    Posts:
    326
    Surely when you fill in the [Header] field for a public property.. howcome you can't then reuse the same name for another property and those properties using the same name are grouped in the inspector... trying to tidy up a shader and having similar properties grouped together instead of being scattered around like mess would be nice.

    Is there any solution to this I'm missing when using Ampify?
     
  8. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Working partially, not available for proper use on your end; this is something we've been looking into but still needs some work.

    Apologies for the inconvenience.

    The only solution at the moment is making a custom Material Inspector; ours offers a basic functionality and some custom stuff on the Built-in renderer. There's actually a problem here, so to speak, we're currently unable to use our Custom Inspector on HDRP and URP so any additions would not translate over: https://www.alanzucconi.com/2016/11/07/shadergui-custom-material-inspectors-unity-5

    We do have a few plans to improve organizing/customizing your inspector/order but we first need to figure out how we should handle HDRP/URP as it's currently using Unity's own inspector.

    For reference(to any user reading this), properties can be manually ordered under "Material Properties" by dragging them(save to update).

    upload_2021-2-1_18-16-54.png
     
  9. Slashbot64

    Slashbot64

    Joined:
    Jun 15, 2020
    Posts:
    326


    ...aaah well that alone helps... it was getting messy :)

    but yeah things like https://odininspector.com/attributes/box-group-attribute I thought might have been supported with Odin inspector to group fields under it.
     
  10. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    I'm afraid I'm not fully familiar with what we can do with Odin for Material Inspectors but you can always not use your Custom Material inspector which should help you get things working well if you're familiar with the requirements.
     
  11. moyashiking

    moyashiking

    Joined:
    Jul 10, 2018
    Posts:
    35
    Thank you for preparing the sample!
    I will refer to them.
     
  12. Whatever560

    Whatever560

    Joined:
    Jan 5, 2016
    Posts:
    519
    Hi,
    Is there a way for a function to have parametrized sample names, or to temper with the property names? I'd like to use this kind of function several times and that it creates Albedo 1, 2, 3 (same for the other maps), etc, for each instance. Is this somehow doable? It would save a lot of time. For now if I duplicate the function I still get only one exposed sample of each in the editor.

    I tried auto-register, thinking it would do the trick but no. I'm thinking to temper with ParentNode to add like a "PrefixNodeInput" that would be a uint. It would be exposed in the function. But there might already be a better solution somewhere ?



    upload_2021-2-2_2-0-41.png

    upload_2021-2-2_2-49-21.png
     
    Last edited: Feb 2, 2021
  13. moyashiking

    moyashiking

    Joined:
    Jul 10, 2018
    Posts:
    35
    I pasted a texture with alpha on Plane Polygon.
    I changed Blend Mode from Opaque to Tranceparent and it doesn't cast shadows on opaque areas.
    Both Cast Shadows and Recieve Shadows are checked.

    1) Tranceparent is as expected.
    2) Recieve Shadow is invalid. How can I enable it?

    For reference, I have prepared a comparison image.

    Blend Mode : Opaque
    Opaque.png

    Blend Mode : Tranceparent
    Tranceparent.png
     
  14. Whatever560

    Whatever560

    Joined:
    Jan 5, 2016
    Posts:
    519
    Isn't it a problem with transparency itself? I think it changes the rendering order (it's what I learned back in the days), maybe you should try cutout instead of transparency, it usually behaves better (I had better results with fog shaders for instance)
     
  15. moyashiking

    moyashiking

    Joined:
    Jul 10, 2018
    Posts:
    35
    Render Type
    Transparent --> Transparent Cutout

    I tried to change it, but it didn't change.
    I will read more of the manual.
     
  16. moyashiking

    moyashiking

    Joined:
    Jul 10, 2018
    Posts:
    35
    The relevant place is here.
    I wish I could solve it easily, but it doesn't seem to be the case.
    I will take a closer look.

    https://docs.unity3d.com/2019.4/Documentation/Manual/ShadowPerformance.html
    Only opaque objects cast and receive shadows so objects using the built-in Transparent or Particle shaders will neither cast nor receive. Generally, you can use the Transparent Cutout shaders instead for objects with “gaps” such as fences, vegetation, etc. Custom Shaders
    must be pixel-lit and use the Geometry render queue.
     
  17. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hello,

    The naming is done sequentially and automatically; there's no alternative solution for this at the moment. Note that while the Name is kept, the actual Property Name value changes with the following numbered value. Perhaps something to consider for future additions.

    As a side note, the actual Property Name can be changed by pressing the padlock icon next to it.

    One is opaque, the other is transparent which does not receive shadows.

    Set it to Masked and save so that all necessary parameters are adjusted.

    upload_2021-2-2_10-28-5.png
     
  18. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Please try to condense your posts into a single one. For quick questions, we definitely recommend using the Discord channel: https://discord.gg/6EdHQq9
     
    moyashiking likes this.
  19. moyashiking

    moyashiking

    Joined:
    Jul 10, 2018
    Posts:
    35
    Cutout is done!

    Blend Mode --> Masked
    A --> Opacity Mask

    upload_2021-2-2_22-36-24.png

    Next time I will go to Discord and ask a question.
     
    Amplify_Ricardo likes this.
  20. Jayme65

    Jayme65

    Joined:
    Dec 11, 2016
    Posts:
    94
    Hello,
    I would like to reproduce the 'Lava Lamp' effect as shown here: https://twitter.com/RiftFrigate/status/1165009899581059074

    Despite the brief explanations given in this tweet, my tests come to nothing! Would you be so kind as to explain to me further how I should proceed to reproduce this effect? Thank you for your time!
     
  21. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey there!

    There are some examples out there that could help you get started; most can be transposed between editors/engines.

    https://www.youtube.com/results?search_query=lava+lamp+shader
     
    moyashiking likes this.
  22. Jayme65

    Jayme65

    Joined:
    Dec 11, 2016
    Posts:
    94
    Thanks for the reply...but as stated in my message, there is already a 'tuto' given in the tweet I've posted but I can't get it to work. Could you please give me help on this?:
    Plug a World Position node into a Noise Generator (Simplex 3D's good), use that as the Alpha in a Lerp node between 2 colors and plug it into a Local Vertex Offset for good measure ;)
     
  23. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    I would definitely recommend following something like this in order to best understand how it's done:


    Based on that description, what exactly can we help you with?
     
    moyashiking likes this.
  24. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Another test for volumetric explosions. This time they are entirely procedural where shapes are made by the particle system.

     
  25. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Impressive, as always ;) Would love to see a package with this!
     
    Cactus_on_Fire likes this.
  26. PascalTheDog

    PascalTheDog

    Joined:
    Mar 16, 2015
    Posts:
    86
    Hey! I'd like to create simple blending modes for UI elements — think a Photoshop-layer kind of thing. I know Amplify lets you combine multiple sources using a variety of blending modes, but what about blending a texture or sprite with its background or environment? Like this: fig. 1 is the game view; fig. 2 is brokenglass.jpg; fig. 3 is blending the two with the texture on Screen mode.



    Would appreciate it if you could help me with this. I'm new to Amplify and am still grappling with some of the basics. Cheers!
     
  27. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Hello.

    What could be causing this problem in the console?
    Could not create custom UI from the shader 'TopDown. The shader has the following: 'CustomEditor = ASEMaterialInspector'. Does the custom editor specified include its namespace? And does the class either derive from ShaderGUI or MaterialEditor?

    it shows up in 2020.1.17f1
     
  28. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey there,

    You actually have a couple of ways of doing that, the question is really which one do you want to use. You could simply Add, use the Blend Operations node(mimics the modes you find on Photoshop), or just use a Lerp node.

    upload_2021-2-9_14-12-25.png


    Are you using the shader on a project without ASE? If so, you should remove the Custom GUI used, or use your own which you can distribute.

    upload_2021-2-9_14-8-43.png
     
  29. PascalTheDog

    PascalTheDog

    Joined:
    Mar 16, 2015
    Posts:
    86
    Please correct me if I'm wrong, but what you've just described is just blending two given textures together. What I'd like to achieve is for an UI element to blend into any background i.e. the game view "behind" the UI. Say I want a big fancy UI element saying "LOOSER" blending multiply-mode over replay footage of the deadmatch's lowest ranking player — how would I go about achieving that?
     
  30. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Ah, I see what you mean. In that case you're a bit more limited, you can change the actual shader Blend Mode(scroll down, Output options on the left).

    upload_2021-2-9_15-32-46.png

    If you want to actually use what's behind the UI element to create a specific effect, let's say distortion for example, you'll need to use a Grab Screen Color node. (e.g. paste into canvas http://paste.amplify.pt/view/raw/daa5c7d0)

    https://i.imgur.com/5bqFDma.gif
     
    PascalTheDog likes this.
  31. PascalTheDog

    PascalTheDog

    Joined:
    Mar 16, 2015
    Posts:
    86
    I believe that's what I'm looking for! However, I can't seem to make it work the way I want. What I have is a very simple Universal Unlit shader (I work with URP) that takes a texture and nothing more. I can find the settings you mention under Pass > Blend Mode and I've tried many combinations, but none achieves any sort of blending (either in 3D worldspace or 2D UI). The rendering just looks like a regular unlit material. Any idea where I could go from there?
     
  32. WryMim

    WryMim

    Joined:
    Mar 16, 2019
    Posts:
    69
    Hi, can you tell me how I can display the "Receive Shadows" setting in the inspector? I'm making a Decal shader and would like to specify in the material whether the object should receive a shadow.

    upload_2021-2-10_15-15-20.png
     
  33. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Show us what you have, maybe we can help.
     
  34. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Not possible, but you can toggle it in your mesh renderer component. upload_2021-2-10_17-30-24.png
     
  35. Liderangel

    Liderangel

    Joined:
    Jul 8, 2018
    Posts:
    101
    Hi, is there a way to have (in HDRP) a per-material option to show or hide decals like in the HDLit default shader?

     
  36. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey there! Should be visible, be sure to save the shader to update it to your current project HDRP version.

    upload_2021-2-11_12-9-33.png
     
  37. Liderangel

    Liderangel

    Joined:
    Jul 8, 2018
    Posts:
    101

    I just created a default HD/Lit shader, compiled it and:




    Any ideas?
     
  38. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    I see, what's your ASE version? (Window > Amplify Shader Editor > About)
    And just to be sure, HDRP and Unity version as well.
     
  39. Liderangel

    Liderangel

    Joined:
    Jul 8, 2018
    Posts:
    101
    1.8.7r11
    Unity 2019.4.15
    HDRP 7.5.2
     
  40. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    You might be experiencing an issue fixed in version v1.8.8r04. Please update from our website and re-save your shader; this version is not on the Asset Store yet but it will be added soon.

    http://amplify.pt/download
     
  41. Liderangel

    Liderangel

    Joined:
    Jul 8, 2018
    Posts:
    101
    Got it, thanks Ricardo! (will update when it gets added to the Asset Store since we are always looking at the most stable version of the tools we use)
     
    Amplify_Ricardo likes this.
  42. unity_MyWwvGAFstre6g

    unity_MyWwvGAFstre6g

    Joined:
    Oct 27, 2020
    Posts:
    6
    Hello, quick question:

    in Amplify, what would be the way to input new UVs?

    UV.jpg

    It's a really useful way to world-unwrap something, or to warp the UVs with a texture (like lava, or slime).

    Thank you
     
  43. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389

    Hey there,

    Isn't that input just the used UV channel?

    upload_2021-2-12_15-32-20.png


    How would you use the Shader Graph version? We'd be happy to elaborate on how it's done with ASE.
     
  44. unity_MyWwvGAFstre6g

    unity_MyWwvGAFstre6g

    Joined:
    Oct 27, 2020
    Posts:
    6
    No, this is for a special effect that uses the world position as the UVs. It passes a sweeping light through an object, using the object's vertex world position as the UV, then moves a gradient texture through that UV. This is only one usecase.

    sphere.jpg

    We've used it quite a lot, to world-unwrap oceans (so there are no seams between the procedural generated water planes, since their UVs will always match.)

    (Here's what I am trying to recreate using Amplify. Basically, I want to utterly replace UV0 with whatever red and green/XY/UV information I want.)
    Untitled-2.jpg

    Thank you.

    EDIT:
    I found something that works, directly jacking the numbers in the UV input of the texture sample.
    Untitled-1.jpg
    This works, though it requires the user to "manually" build their uvs, "adding" to them instead of offsetting them, and "multiplying" them instead of tiling them.

    I think Unreal similarly has no UV input in its shadergraph (it's been a long time since I checked), and the explicit "UV" input in unity shadergraph has been very useful in the project I've been working on, making UV editing more human-readable.
     
    Last edited: Feb 12, 2021
  45. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thanks for the details! Our devs suggested using this instead:

     
    unity_MyWwvGAFstre6g likes this.
  46. unity_MyWwvGAFstre6g

    unity_MyWwvGAFstre6g

    Joined:
    Oct 27, 2020
    Posts:
    6
    Thanks for the quick answer!

    You guys rock!

    Edit:
    Simple world unwrap.
    world.jpg
     
    Last edited: Feb 12, 2021
  47. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thank you ;)

    That's definitely the simplest way to do it, good one.
     
  48. DanijelM

    DanijelM

    Joined:
    Dec 20, 2017
    Posts:
    20
    Hello ladies and gents,

    Just installed the latest ASE build (from the website, not the asset store) and imported the URP "update" from it. Anyhow, I'm dabbling, or trying to, with the URP terrain shader, but straight out of the box I'm getting two compile errors:

    • Shader error in 'ASESampleShaders/SRP Universal/TerrainFirstPass': undeclared identifier 'sampler_Mask0' at line 626 (on d3d11)
    • Shader error in 'ASESampleShaders/SRP Universal/TerrainAddPass': undeclared identifier 'sampler_Mask0' at line 627 (on d3d11)
    Anyone have an idea? Searching the forum didn't yield anything.

    EDIT: After Unity decided it needs to reimport SRP, and then I recompiled the "problematic" shaders, the errors persist, only the "at line" part changed for both errors.
     
  49. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey there,

    That's unusual, hope we can help.

    What's your current Unity and URP version?
     
  50. DanijelM

    DanijelM

    Joined:
    Dec 20, 2017
    Posts:
    20
    Hi,

    Here are the stats
    UNITY: 2020.2.1f1
    URP: 10.2.2
    ASE: 1.8.8r12