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

    ScottJ88

    Joined:
    Aug 28, 2012
    Posts:
    47
    Hi, I am trying to make an effect with ASE, I am currently using the triplanar sampler, which works how I would expect it to, however what I need to do is be able to rotate the texture by a set amount to match the models orientation.

    As the triplanar node doesnt have a UV input I am unable to use the rotator node to get the required effect, is there a work around for this, or could this feature be added to the node (like it already has tiling)?
     
  2. ColtonK_VitruviusVR

    ColtonK_VitruviusVR

    Joined:
    Nov 27, 2015
    Posts:
    146
    Hey All,

    Quick question about tessellation, I have a circular plane for water in tub that ripples when objects are dropped into it. In order to make it look good the plane needs to have lots of vertices so the waves are smooth. Should I use a subdivided mesh with ~17k verts/~33k tris or a mesh with ~24 verts and tessellate it x32? What are the advantages of one over the other (pros/cons to each)? Also running it in VR if that makes a difference. The tessellation settings would be fairly small min 0.5 max 2.

    Cheers,
    Colton
     
  3. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,311


    Thank you!
    You helped us make the best of out of ASE, we are very happy and humbled to be part of this year nominees. It's an honor seeing our product next to so many fantastic entries. We hope that we can count with your vote for Best Tool 2017.

    Vote here: Asset Store Award for Best Tool
     
  4. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,311
    Thank you for your support and all your feedback!
     
    brisingre likes this.
  5. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

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

    Release Notes v1.3.1 dev 05:
    • Fixes:
      • 'Indirect Specular Light' and 'Indirect Diffuse Light' now compile properly in vertex functions but provide dynamic baking results only
      • Changed mask clip variable name to be compatible with internal unity functions
      • Fixed issue with texture arrays derivatives not being declared in 'Parallax Occlusion Mapping' nodes
      • Fixed 'Texture Sample' node not changing cast mode automatically when in reference mode
      • 'Lerp' node now works as the hlsl/cg specification and allows for component based interpolation
      • Fixed issue on template native properties getting lost when hot code reloading
    • Improvements:
      • 'Get Local Var' nodes now get highlighted in green when their referenced 'Register Local Var' node are selected
        • It should be now easier to spot how many and which nodes use a determined Register node, we intend to expand this idea to other similar cases
      • 'Static Switch' now allows to use define symbols and material toggle is now optional
      • 'Keyword Switch' is now deprecated (opening the shader in newer versions should replace it by 'Static Switch')
      • 'Static Switch' and 'Grab Screen Color' nodes now show their node name in title but still allows to edit their variable by double clicking
      • Reorganized toolbar buttons for consistency
      • Showing internal value name at the node properties window when selecting a property on the 'Template Parameter' node
    Happy shader creations!
     
    Last edited: Sep 14, 2017
  6. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    VOTED! This is a MUST HAVE tool for ANY game pipeline... especially if it is artist friendly...
     
    Amplify_Ricardo likes this.
  7. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,881
    I voted too. I especially like the way Amplify is building a sample library. For those of us who would use a product like this, a good sample library is a tremendous aid.
     
  8. daliang2018

    daliang2018

    Joined:
    Aug 22, 2017
    Posts:
    10
    @adamz

    I noticed that this skin shader is your own development? I have a presumptuous request, if you do a high degree of completion, can not sell this skin shader to me, I was the last month by the skin shader torture, I am eager to solve this problem.
    I am in Shanghai, China, if you are interested in my offer, can we contact us?
    Waiting for your reply.
     
  9. adamz

    adamz

    Joined:
    Jul 18, 2007
    Posts:
    910
    @daliang2018

    Hi, there's nothing fancy in what I put together. I wanted to create a fully procedural skin texture generator using Substance to output my textures, and then I added those to my Material. It's not very complicated, but I'm happy with it as a starting point. Here's the graph:

    Skin.jpg

    I hope that helps...
     
    KRGraphics likes this.
  10. daliang2018

    daliang2018

    Joined:
    Aug 22, 2017
    Posts:
    10
    @adamz
    Thank you very much for your sharing, your words are the crystallization of knowledge.
    I am a game planning, only the basic code, I recently put the beautiful characters into the new envy.
    How to make the skin show better, I studied for more than a month, has been tortured.
    I tried several well-known shaders in the store, or did not have a satisfactory result.
    So, would you like to get in touch with you so that you can tell me your email?

    I tried a few plugins, failed, so I started to study this plugin, the first day of today's contact, hoping to get a little experience from you.

    I am using Google Translate, and if my vocabulary makes you troubled, I am very sorry.
     
    hippocoder likes this.
  11. adamz

    adamz

    Joined:
    Jul 18, 2007
    Posts:
    910
    You are welcome. The shader graph that I created is really simple, so as long as you understand the basics of Amplify Shader Editor, then it should be very easy to recreate. All you need are your textures to plug into the nodes, and you're all set.
     
    KRGraphics likes this.
  12. daliang2018

    daliang2018

    Joined:
    Aug 22, 2017
    Posts:
    10
  13. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    Nice shader... I started doing one for skin but it is missing a TON of stuff that I want. Like diffuse scattering and Diffuse Bump per channel...

    and for the translucency colour, I would just make that a colour and not a separate texture. Also, I would use the Standard Specular model so you can dial in the PBR specular value of .35

    I am hoping to update mine to work like CryEngine with the two layer specular. Those templates are gonna be SWEET!!!
     
  14. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    upload_2017-9-15_0-54-52.png

    This is how I set up my POM node for my eye... pretty straighforward... but trying to figure out how to use the roughness for the iris separate.
     
  15. christophercimbaro

    christophercimbaro

    Joined:
    Aug 30, 2017
    Posts:
    12
    Thx KRGraphics, It's near how I pluged it I will test to see what happen,

    Thanks again,
     
  16. Loards

    Loards

    Joined:
    May 2, 2013
    Posts:
    78
    "Yep! I can confirm it, it's a bug. I just checked and indeed it's losing it's emission values. I'm using a unity built-in function to get it and somehow it's not working correctly, I'll probably need to do something like I did for the specular component. It's fixable, I'll try to get it to work for the next build. Sorry for the trouble and thx for the report ;)"

    Awesome!! Thanks!!! ill be waiting since our environment kind of depend on this haha.
     
  17. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Hey guys, just to let you know we released a build earlier to day. Get it a the usual place.

    Release Notes v1.3.1 dev 05:
    • Fixes:
      • Fixed issue on template output node attempting to access template data before its initialization is complete
      • Fixed issue with validate/execute commands like duplicate on Mac
      • Fixed issue on not updating correctly mouse position when doing multiple pastes/duplicates
      • Fixed disappearing titles when selecting 'Register Local Var' nodes being used by 'Get Local Var' nodes located outside the visible graph area
      • 'Toggle Switch' node now properly casts its main port type for both input ports
    We are still busy with updating the documentation and finishing the template system so It's not a big changelog but it's specially important to some of you that were experiencing some annoying issues for some time.

    Also, thanks a lot for your votes ;)

    I haven't tried the shader yet but one think I noticed from looking at the graph is that you haven't set up the tangent view direction in the POM node properly, you need to select the 'view dir' node and set it to tangent space.

    Thx for sharing that, at a glance it seems that almost all of it can already be put in place with existing options and nodes, I'll try to get a test case or something, otherwise I'll probably nag you at somepoint to see if you can test it for me :p

    Just quoting you so you can check out the latest build and see if it finally fixes your issues with copy/paste/duplicate on mac. Hopefully everything is working fine now ;)

    We already made a fix for that is some dev builds ago. There's still a few issues with it, but it should work correctly for your cases now. Please try it out and let me know if it works for you

    cheers, everyone and have a good weekend
     
  18. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,150
    Hi guys .. small question . more curiosity ...
    Can I rename Mask Clip Value and have a slider [0,1] to control ?

    upload_2017-9-16_13-55-58.png
     
    nxrighthere likes this.
  19. VCFY

    VCFY

    Joined:
    Feb 7, 2015
    Posts:
    23
    Hello, does anyone know if there is a way to add normal map to custom lighting model? If so, could somebody please explain how to do that?
    Thanks!
     
    Last edited: Sep 18, 2017
  20. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    257
    bgolus likes this.
  21. chippwalters

    chippwalters

    Joined:
    Jan 25, 2017
    Posts:
    68
    How do I rotate a texture sample node? I would like to be able to rotate it to 0 or 90 degrees. I assume the same would work with a normal texture as well.

    Thanks anyone for any help.
     
  22. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    While I do agree with you that using a slider is far better (and easy to add) the issue is that there are cases where it might be necessary to use other values outside the [0,1] range so in order to account for all cases we added the float property instead. One thing that I have in my todo list with low priority is being able to change the properties in the left panel. This would mean you could edit the options for that specific property and thus you could tailor it to your taste. I think that's the best solution, it's just one with low priority for now. I hope that makes sense to you.

    When you create a custom lighting shader you are purposely saying that you'll create your own rules for lighting, a common one is changing the incoming light according to the surface normal (in world space). So if you somehow want to use a normal map in that way you only have to connect texture sample to a World Normal node. (check link)

    That is indeed a good read. Our triplanar node already does that. It was actually one of the reasons for creating it. You could however recreate it using nodes and shader functions if you feel like adding extra features and what not. I'm not sure to what extent shader forge supports it, I could be wrong but I don't think they have a node for it (don't quote me on that :p ).

    You need to use the Rotator node, keep in mind that we are actually in the process of changing that node and updating the documentation page (probably later today). But while that doesn't happen what you need to do is to rotate the UVs and not the texture. So you must use this in conjunction with something that fetches UVs and then use the result to change the texture UVs.

    Something like this (you can ignore the Tau part):
    Unity_2017-09-18_12-26-26.png
     
    Last edited: Sep 18, 2017
    VCFY, KRGraphics and antoripa like this.
  23. chippwalters

    chippwalters

    Joined:
    Jan 25, 2017
    Posts:
    68
    Thanks. What is the number I should use to get it to be 90 degrees and more importantly WHY? somewhere between 1 and 2. Much appreciated!
     
  24. chippwalters

    chippwalters

    Joined:
    Jan 25, 2017
    Posts:
    68
    Also, now that I've added that node, the tiling fields don't work anymore for that texture. How would I go about fixing that? TIA.
     
  25. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    The rotation is done using radians, that's why I was using Tau (which is 2Pi) to make sure I was doing one full revolution. If you use Tau like I did 90º would be 0.25, 180 would be 0.5 and so on. You can, however, use degrees by converting the value using the 'Degrees' node or the inverse of it by using 'Radians' node. But that's an extra calculation that I feel it's unnecessary, but I'll let you decide for yourself.

    The tilling is greyed out because the Texture Coordinate node is fetching the tilling and offset from the texture material inspector widget, if you don't select the texture in the reference it will create it's own set of UVs and the tilling and offset works again. Using the reference saves a little of performance and it's just more convenient to use, that's why both options exist.
     
  26. chippwalters

    chippwalters

    Joined:
    Jan 25, 2017
    Posts:
    68
    Thanks so very much for your help, Paulo. I got the Tau working, but I'm not quite getting the tiling working right just yet.
    Can you please take a peek at this very short video and let me know your thoughts? Thanks again!
     
  27. chippwalters

    chippwalters

    Joined:
    Jan 25, 2017
    Posts:
    68
    Sorta figured it out by creating that video! Added a value and stuck it on the Tiling. Is there a way now to disable the tiling fields in the Unity UI?

     
  28. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Yes, just select the texture sample node and add the attribute "No Scale Offset" and you should be good to go.

    Unity_2017-09-18_16-26-14.png
     
  29. DanielSnd

    DanielSnd

    Joined:
    Sep 4, 2013
    Posts:
    357
    I'm really new to this, if the solution is really obvious sorry xD

    I'm looking to give a couple of colors to a shader, and have it make a texture for me with 2 gradients side by side, each using 2 of those colors. I looked for something like this gradient node from unreal but couldn't find anything. Is it possible with amplify shader? What kind of node should I be looking like? Also assuming I can do a gradient, how do I separate the gradients into different areas of the UV? Would I have to use a texture mask for it or is there a way to specify I want to do that to only a section of the UV space? What node should I be looking for? It would be great if I could do it without any real texture D:

    - EDIT -
    Nevermind, I figured ito ut. Used a Lerp with Vertex TexCoord for the gradient, and for the mask I used a Vertex TexCoord with an IF to paint if the value is smaller than a certain amount.
     
    Last edited: Sep 18, 2017
  30. Ziboo

    Ziboo

    Joined:
    Aug 30, 2011
    Posts:
    290
  31. christophercimbaro

    christophercimbaro

    Joined:
    Aug 30, 2017
    Posts:
    12
    Hi Amplify,

    My eye shader is going on the good way (thanks for the supply), actually POM works well, Reflection too.
    Now i'm working on Physically based refraction to get feeling of third dimension for the iris. I looked of refracted shadow sample and simple refraction but it's not the effect. I also see a refract node vector.

    Do you know how can i get this physically based refraction (Like bellow):

    Eye_refract.jpg

    This is actually my render
    eyeUnity.jpg

    Best,
     
    KRGraphics likes this.
  32. Kirbyrawr

    Kirbyrawr

    Joined:
    Jul 23, 2012
    Posts:
    935
    Hi there, is there any way to obtain the texture tiling and offset easily?
    upload_2017-9-18_22-55-29.png

    Thanks in advanced!
     
  33. Katzelschnurr

    Katzelschnurr

    Joined:
    Mar 25, 2011
    Posts:
    11
    If I am not mistaken, UV tiling and offset stop working once you feed UVs to the Texture Sampler node. But if you are still working with a Texture Coordinates node you can set the reference to the texture sampler there and both values should work fine again! textureSampler.jpg
     
    Kirbyrawr likes this.
  34. Kirbyrawr

    Kirbyrawr

    Joined:
    Jul 23, 2012
    Posts:
    935
    Thanks a lot, will try!
     
  35. sybere

    sybere

    Joined:
    Mar 26, 2015
    Posts:
    156
    Hi,

    How can i get this output node (Matallic and Specular at the same time)? the picture from UE4 it's a surface shader with Opaque and Default lit
     
    Last edited: Sep 19, 2017
  36. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Hi, perhaps I'm wrong but i think that the specular value in unreal engine material editor, only have effect when metallic is 0.

    EDIT:
    I have found this on the UE4 docs:

    Specular
    The Specular input should not be connected and left as its default value of 0.5 for most cases.

    It is value between 0 and 1 and is used to scale the current amount of specularity on non-metallic surfaces. It has no effect on metals.​

    https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/index.html


    On the other hand, or I'm totally wrong or the PBS model in Unity is metallic or specular, but not both at same.
     
    Last edited: Sep 19, 2017
    Amplify_Paulo likes this.
  37. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    405
    Hey guys,
    We've just uploaded a new build into our website.
    Here are the release notes.

    Release Notes v1.3.1 dev 07:
    • Fixes:
      • Fixed issue on 'Simple Contrast' node ignoring Value internal data
      • Fixed issue on nodes preview data not being written when its internal data is read from shader
      • Fixed 'Texture Sampler' node to output a Color instead of Vector type
      • Fixed 'Swizzle' node not detecting changes on its input ports
      • Fixed issue on allowing invalid characters when typing a custom keyword on the 'Static Switch' node
    • Improvements:
      • Improved code generated by 'If' node and hides unused internal data
      • Improved 'Rotator' node behavior
      • Improved 'Panner' node behavior
      • Added checkout for version control systems that need it to edit files like perforce.
      • Changed labels and port order for various nodes in the Image Effects category to improve consistency
    Happy shader creations!
     
    Last edited: Sep 19, 2017
    petersx likes this.
  38. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    I love the skin on this model... are you doing this with amplify
     
  39. habsi70

    habsi70

    Joined:
    Jan 30, 2013
    Posts:
    25
    Works fine now, thank you for the quick fix!
     
  40. petersx

    petersx

    Joined:
    Mar 5, 2015
    Posts:
    216
    Hi,

    Is it possible with the current version of ASE to create subsurface scattering shader and hair shader or we should wait for it ?
     
  41. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

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

    Release Notes v1.3.1 dev 08:
    • Fixes:
      • Fixed issue on 'Simple Contrast' node
      • Fixed boundaries issues on 'Dither' node
    • Improvements:
      • Minor tweak on 'Smoothstep' ports order
      • Added new Color and Intensity ports into 'Light Color' node
      • Minor overall optimizations on node previews
      • Added preview for 'Substance Sample' node
      • Added preview for 'Blend Operations'
      • Added input port for automatic texture dithering into 'Dither' node
    Unfortunately it's not possible to fully create a proper SSS or hair shader with ASE current version but as we expand the templates functionalities we will try to have specific templates to these effects.

    Happy shader creations!
     
    KRGraphics likes this.
  42. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    3,975
    I am DEFINITELY looking forward to that... and I have a lot of input on shader controls...
     
  43. DaDarkDragon

    DaDarkDragon

    Joined:
    Jun 6, 2013
    Posts:
    115
    OK so I have been trying this on and off for awhile to no avail. I am trying to figure out how to flatten a mesh to its pivot point relative to the camera.

    Something like this where if I move the camera around it will still stay flat no matter the camera position.
    Capture.PNG

    Instead of what is normal
    Capture2.PNG

    i have a feeling that this involves matrices but I'm having a difficult time figuring this out.
    Also if I can lerp between flat and normal that would be fantastic. Any help would be appreciated. Thank you.
     
  44. Caronte3D

    Caronte3D

    Joined:
    Sep 16, 2014
    Posts:
    43
    Exists a way in ASE to use global variables?
     
  45. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Trying to achieve this result in Unity

    My idea is to hide the 3D text object behind a invisible object, or better to achieve the dynamic boolean effect.
    Any way to achieve this using Aplify custom shader?
    I was reading about the very outdated DepthMask shader, being a total newbie to shaders I was wondering if I'll be able to achieve better results using Aplify in a reasonable amount of time.
     
  46. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    I think that I'ld start testing with stencil buffer to get this effect...
     
  47. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    No idea what you are speaking about...sorry I did never worked on any shader.
    Reading the manual didn't clarify what I'm supposed to do.
    I didn't expect you just start teaching on shaders :), if just you give me a hint why using Amplify will ease my work on that.
     
  48. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Quick Test:

    On stencil-001.jpg you can see a test where a cube is only visible when is not behind a sphere.

    On stencil-shader.jpg you can see the shader that is using the cube (the trick is on the stencil buffer settings of the master node).

    On mask-shader.jpg you can see the shader that is using the sphere (again, the trick is on the stencil buffer & color mask settings of master node).
     

    Attached Files:

    Last edited: Sep 25, 2017
    arnoob and davide445 like this.
  49. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    It is usefull to solve some "water mesh inside boat" problem.

    Image 001.jpg --> Boat over water where the water mesh is over the boat mesh.
    Image 002.jpg --> On red the mask mesh.
    Image 003.jpg --> Final result using stencil values on water and mask material shaders.
     

    Attached Files:

    • 001.jpg
      001.jpg
      File size:
      115.1 KB
      Views:
      369
    • 002.jpg
      002.jpg
      File size:
      105.4 KB
      Views:
      297
    • 003.jpg
      003.jpg
      File size:
      103.6 KB
      Views:
      376
    Last edited: Sep 25, 2017
    arnoob and davide445 like this.
  50. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    @benderete you'r grate! Thant's showing what a tool can do.
    I suppose also I can use something more complex that a sphere as mask (i.e. the blobby shape in Houdini tutorial).
    Also do you think will be possible in any way to transfer some property from one shape to the other, so to create a band where particles will be emitted?