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

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,030
    @Amplify_Paulo After grabbing the latest, it works great!

    ..I originally had a problem replicating a Blinn Phong in a custom light model, but I got it now. Thanks!
     
    Last edited: Oct 3, 2017
    Amplify_Paulo likes this.
  2. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    243
    i mean like custom made nodes that u can save for use later & use it for other puroses
     
  3. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    272
    Just found the issue, it's mac related. I'll try to fix it for the next dev release. There seems to be some differences to the depth buffer that are breaking this node calculation.

    You can use shader functions for that, if what you want is reuse custom code you can simply place a custom expression node inside a shader function and call that shader function from any shader.

    If you feel comfortable with it you can also create your own node, check out our API.
     
  4. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    272
    I'm not exactly sure I understand the effect you are trying to get, still, I think what you need is to get the world position of what's behind the object. If I'm right look online for "reconstruct world position from depth". You can then get the object pivot point world position by using the object to world node (leave the input unconnected). I'll try that myself later and if I get something I'll post here. But at least that's a start.
     
    Cleverlie likes this.
  5. ColtonK_VitruviusVR

    ColtonK_VitruviusVR

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

    Just an FYI (not sure if it has been resolved or not). I am getting the following error while trying to build our game to PC from one of our Amplify shaders:
    upload_2017-10-3_17-2-23.png

    The issue only occurs when 'Receive Shadows' which is fine for our purposes, just a heads up. We are using Unity 2017.1.1f1 and ASE 1.3.1. I have also attached a copy of the shader.

    Cheers,
    Colton
     

    Attached Files:

  6. JakubSmaga

    JakubSmaga

    Joined:
    Aug 5, 2015
    Posts:
    415
    Congratulations Amplify!

     
  7. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    272
    Thank you Jacob!

    We are all pretty psyched, this definitely wouldn't happen without all of you so I'll be the first here and say Thank You! all for your support! :3
     
    GMax and JakubSmaga like this.
  8. brett_ridel

    brett_ridel

    Joined:
    Jan 15, 2017
    Posts:
    31
    Hi all

    I would like to use the Global Array node, but I don't understand how to use it.
    The node allows to specify the size and the index, and to get back the output value.
    However, how am I supposed to fill it ?

    Brett
     
  9. Dambusters

    Dambusters

    Joined:
    Jan 6, 2012
    Posts:
    52
    That's great, thanks Paulo.
     
    Amplify_Paulo likes this.
  10. BOXOPHOBIC

    BOXOPHOBIC

    Joined:
    Jul 17, 2015
    Posts:
    128
    Congratulations for the award! You really did and do a great job with ASE !
     
  11. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    386
    Hi guys,

    We are very humbled by your words! Amplify Shader Editor is what it is because of our wonderful community!
    Thanks to everyone for being part it and help us make this tool grow!

    We just released a new build into our website.
    Release Notes v1.3.2 dev 01:
    • New nodes:
      • 'Camera To World Matrix'
      • 'World To Camera Matrix'
    • Fixes:
      • Fixed issues with 'Toggle Switch' node
        • It now properly creates a toggle property and lets user change material in the editor
      • Fixed issue on vertex local variables not being registered correctly on custom lighting
      • Precision selection on 'Grab Screen Color' node is no longer locked when Custom Grab pass is disabled
      • Fixed issue with 'Depth Fade' node on OpenGL platforms
      • Normalized screen position code now works properly in all platforms
      • Fixed issue with 'Texture Array' node preview
      • Fixed issue with 'Vertex To Fragment' node generating duplicated code
    • Improvements:
      • Added toggle button into 'Static Switch' node
      • Improved wire auto-connection to node when its created from the context palette when dragging a wire
      • Auto screen UVs from 'Grab Screen Color' node now also take Unity Single Pass Stereo into account
      • Improved code generation on screen position related nodes
      • Activating internal port data into 'Toggle Switch' node
      • Updated Simple Blur and Simple noise examples to be fully android compatible
      • Tweaked 'Desaturate' node to prevent issues with PS4
      • Tweaked 'Parallax Occlusion Mapping' node to prevent issues with PS4

    Because of an issue posted here we did some digging on 'Depth Fade' node and noticed that it was giving incorrect results when using the OpenGL API.

    The issue is now fixed and outputting correct results, but for OpenGL users that were already using this node, you may notice now some visual changes when recompiling shaders using this node since the values are now different.

    We apologize for this inconvenience.

    Happy shader creations!
     
    hopeful and JakubSmaga like this.
  12. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    272
    I've not been able to reproduce this. I'll try for a lit bit more but for now try updating to our latest version and see if the problem persists. Also, check the updated water sample see how the screen grab is being done, this is to prevent some issues with some platforms.

    Unfortunately Unity doesn't provide any automatic way to fill those values, you need to create a script that sends them to the shader, using something like this. The docs for that node aren't done yet, we'll include some sort of code snippet for testing. Or maybe a new sample, kinda like we did for instancing.

    I finally tried creating the effect myself and ended up adding two new matrix nodes for it. I THINK this was what you were getting at. There's lot of crazy stuff you can do it it, you can invert the alpha and create a bubble effect if you write to depth, you can negate the opacity and get all these weird burned colors to the geometry. We like the effect so much are are considering creating a utility node for normal reconstruction and adding a new sample with it. Word of advice, it doesn't like msaa very much because of the depth buffer but it should be okay for other screen space aa solutions (didn't test it).

    omnidecal.png
     

    Attached Files:

    Reanimate_L, Cleverlie and antoripa like this.
  13. zhoazhiqing

    zhoazhiqing

    Joined:
    Nov 7, 2016
    Posts:
    6
    Hope to add an example of Billboard:oops:
     
  14. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    639
    @everybody at Amplify, congrats with the well deserved Unity award. Great asset, great support, keep it up guys!
     
    Amplify_Ricardo likes this.
  15. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    Yeah it's well deserved.
     
    KRGraphics and Amplify_Ricardo like this.
  16. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,148
    Congratulation to Amplify guys ...well deserved .. I would add even best code quality and best support ...
     
    Amplify_Ricardo likes this.
  17. Mark_T

    Mark_T

    Joined:
    Apr 25, 2011
    Posts:
    303
    Congrats for this well deserved acknowledgement award. It simply states the care and quality of your work you're putting in.
    And this is true for all your products.
    Congrats!
     
    Amplify_Ricardo likes this.
  18. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,230

    Thank you for using our products and for your vote. You helped us make the best out of ASE, we would definitely not be here without your support. We're very happy and humbled to be part of the Unity community, this award is for all of you.

    We have much more planned for our editor, stay tuned for future developments!
     
  19. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    140
    Congratulations!
    It's a great addon that helps a lot all the no-programmer creating shaders and your support is a great key point for us.

    Again, congratulation!
     
  20. 3d_Artist1987

    3d_Artist1987

    Joined:
    Jul 9, 2012
    Posts:
    693
    congratulation!!!
     
  21. Dambusters

    Dambusters

    Joined:
    Jan 6, 2012
    Posts:
    52
    Well done on winning the justly deserved Unity Store Best Tool award. (And thanks for fixing the Depth Fade node on the Mac so quickly). If there was an award for best support I reckon you'd be favourite for that too!
     
  22. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    I'm enjoying amplify so much but when I enjoy it I have this nagging feeling that it'll turn around and bite my arse when it comes to performance. So some proper docs on performance tips and optimising advice would be welcome.

    Now negative criticism:
    I think that where Amplify does do badly is in documentation. I haven't really enjoyed trying to use the docs for any of the amplify products they have, and with ASE I have to constantly go back and forth over a horrible forum thread or a bare bones wiki or keep scrubbing back and forth over a video just to see the nodes. So 5/10 for docs, guys (I would say below average). Don't look sad: your customer support is excellent, but constructive criticism is valuable.

    Maintaining a large FAQ with common solutions and advice would be a good start so people don't have to keep searching a thread.

    The rest? 10/10 :)
     
    nxrighthere and Amplify_Ricardo like this.
  23. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,230
    Hello,

    Thank you for your feedback, we really appreciate it. We completely agree, our documentation pages left much to be desired a couple of months ago but we have been actively detailing and improving each node with proper information and examples(where required) in order to correct this misstep.

    I recommend anyone that has not already to check the main wiki page for quick access to all the available information.

    We're basically going from something like this:

    To something like this:

    We're also working on a knowledge base(FAQ like) that will, hopefully, resolve the issue you mentioned. Ideally, this will be available online and searchable directly in the editor. We'll definitely be posting more about it in the near future.

    Performance is a big concern when it comes to shaders generated in node-based editors, it's one of our top priorities. However, user Shader complexity is not something that we can predict and will always depends on the actual content created as you would with coded shaders. Regardless, this is also something that we intend to address soon with a myriad of Beginner to Advanced tutorials(video/written) and General Best Practices tips.

    Stay tuned, the first new tutorials should be rolling out soon, along with proper information added to the wiki for quick reference. Just to conclude, new samples and learning resources updates could very well be announced in the near future directly in the actual editor via a discreet notification system. (can be disabled)

    Thank you for your feedback and support, we really appreciate it.
     
    Last edited: Oct 6, 2017
  24. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    Wow! nice!

    Forget what I wrote then, it's just ramblings of a madman ;)
     
    hopeful likes this.
  25. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,230
    That's the kind of feedback that helps us improve our products, you are right on the mark ;)

    Detailing the documentation pages has actually helped us considerably improve the editor by polishing and fixing any issues we found along the way, hence why it's taking a bit longer than we anticipated but it's for the best.

    Thanks!
     
  26. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    Awesome! now to test customer service with a Question :p

    Get Local Var & Register Local Var

    Currently, I abuse these so that the node network has no spaghetti or tangled up wires, makes it very clean to work with in a modular fashion, so I love using them... perhaps a little too much!

    Is there a performance hit? Thank you for any advice :)
     
  27. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    386
    No, there's no performance hit on using Register/Get Local Vars. They internally work as a normal wire connection so you can use it without worries.

    EDIT: Please note that by using the Register Local Var, we internally create a local variable and assign the value of the node input port into it. This local variable will then be used by each Get Local Var node and node connected to the Register Local Var output port.
    So, by looking at the source shader you will see this extra declaration being done but this has zero impact on the shader performance since the final compiled code will be similar.
     
    Last edited: Oct 6, 2017
    hippocoder likes this.
  28. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    So good. People need to be using that node. I have beautifully modular chunked networks that expire at a registered variable, then the get local var is used whenever I need the output. Such good design. Such a good asset.

    Unity are fools to ignore the actual design that's gone into this. Be nice if they could hire you all but that's just wishful thinking. In any case, I can use it now.

    I award you guys the hippo seal of approval. I'd give you a badge but I think I ate them all.
     
  29. JonasPersson

    JonasPersson

    Joined:
    Aug 14, 2016
    Posts:
    65
    Hi! i have a question.

    I just switched from shaderforge to amplifyshader and reconstructed all shaders in my project. A few of the shaders has a custom caustics effect (since they are under water). In shaderforge i plugged this effect into "Ambient lighting" in the output node and it worked really well. Amplify shader dosnt have this output. Is there anyway to accomplish the same effect in amplify shader.

    Plugging the effect in the Emissive output doesnt look like light...since the white caustics are just added and not blended.
    I tried Blending the effect into the albedo channel (with color dodge blending), the colors look good but the object still gets shaded where the light hits,this looks a bit like caustics are painted on the surface,

    Thanks:)
    Great plugin btw!!
     
  30. Cleverlie

    Cleverlie

    Joined:
    Dec 23, 2013
    Posts:
    189

    OH MY!! you are awesome!! that's what I wanted to do!, I solved the problem in a different way doing a really dirt trick rendering the same sphere two times with different parameters in the Ztest mode and stencil buffer configs, and I ended with this result, which is similar to what I wanted with a deferred omnidecal.

    cvcvcv.jpg

    the problem with my solution is that it can't do interesting stuff like rendering a heatmap color depending on distance to center of the range etc.

    amazing thing that you not only solved my problem but you created a couple of new nodes because of my request, thanks a lot! you really deserved the unity award!
     
  31. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    Sorting public inspector material properties and material inspector stuff:


    I would like to specify the order of any public properties I make with an index number. This way, properties are sorted in the order I would prefer, for quality of life improvement in the public inspector... or something similar if it exists.

    Currently for my water shader I have to jump up and down the inspector to tweak related variables. Otherwise I have to make my own material editor for what seems a trivial thing.

    While we are at inspector quality of life things, perhaps it's also possible to hide texture tiling and offset where it is not wanted with [NoScaleOffset] and other things.

    It's probably all possible but I don't know where to look. Thanks guys!
     
    Cleverlie likes this.
  32. Cleverlie

    Cleverlie

    Joined:
    Dec 23, 2013
    Posts:
    189
    these are exactly the two things you need, I hope this helps you!

    rtyryr.jpg eeeeeewrw.jpg
     
    hippocoder likes this.
  33. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    HOLY MACKEREL POGO STICKS! Thinks Cleverlie. No more randomly placed bits for me then! :)

    Couldn't see the wood for the trees.
     
    Cleverlie likes this.
  34. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    New Power-HACK! select a bunch of nodes, hit c and type the title/comment!

    Bug: undo happens when the amplify node window is not selected. I don't dock it, so I get real estate from it. So When I undo changes in Unity, it actually does undo on amplify as well, and I don't really want that to happen. I suspect it happens when I do an undo of a material parameter change within the editor. This happens, then amplify gets the undo as well.
     
    Last edited: Oct 8, 2017
  35. DiggingNebula8

    DiggingNebula8

    Joined:
    Oct 2, 2016
    Posts:
    21
    Hello, sorry to bother you all. I have several doubts regarding Amplify Shader Editor.

    1. In what config should one export the texture maps from substance painter to get the best output in Amplify Shader Editor?
    2. Can one invert normals or other texture with the help of a node?
    3. How can I use roughness map?
    4. What is the recommended substance preset for Amplify Shader Editor?
     
  36. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,030
    I'm testing Amplify's water shader, the one included in the examples, in VR. It seems the distortion effect isn't working with both eyes in single-pass stereo. My money is on the Screen Position node not compatible with single-pass stereo. Could you guys help out?

    Thanks
     
  37. Johnny-Ow

    Johnny-Ow

    Joined:
    Mar 3, 2015
    Posts:
    9
    I'm having trouble figuring out how to use the Soft Particles Factor in the Particles Alpha Blended template. I assumed that I just needed to add a Depth Fade node and hook the Soft Particles Factor template parameter to it. However, if I drop a Depth Fade node into the graph, I get this error:

    redefinition of '_CameraDepthTexture' at line 68 (on d3d11)

    I see that there's a Template Parameter called _CameraDepthTexture, should I use it in combination with the Soft Particles Factor to get soft edges instead? how?
     
  38. Johnny-Ow

    Johnny-Ow

    Joined:
    Mar 3, 2015
    Posts:
    9
    I added a Vertex Color node and blend that into the output of my graph. That seems to work? it responds to the Soft Particles Factor without any additional hookups. Is this how Soft Particles is supposed to work using the Particle template? I thought it would be a per pixel operator?
     
    Last edited: Oct 8, 2017
  39. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,219
    Hi,

    I was wondering if there is a method to create post effects that slot in the V2 Post Effect stack? It seems it would be a good fit. Also SRP HD path shaders might need special support, I hope you guys will support that too.

    I know it's a little early to talk about unreleased Unity features, sorry!
     
    nxrighthere and chiapet1021 like this.
  40. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    272
    I could be mistaken but I believe that port on shader forge is just mimicking some sort of standard lighting with indirect lighting changed. We done have a port like that, you would need to use the custom lighting setup and recreate your own. Maybe you can use the "standard light" node which mimic unity's and do some operation after it, or you would need some sort of structure using using light attenuation node, indirect diffuse lighting and indirect specular lighting nodes. You can take a look at the custom lighting sample we provide to have an idea on how to do it. If you are having troubles with it, send us the shader and we'll see what it needs.

    We need to look into that, the material part is intended because the editor syncs the property nodes values with the material, I suspect we need to better filter when undo works and when it doesn't, we are using unity's undo system which comes with some caveats, but it should be doable (don't quote me on that :p ).

    We intend to have full support for those features of unity, we are just waiting a bit to become less volatile, we sometimes update the editor to be compatible with the latest features only to be broken on the next release so we ended being more cautious about those.

    1. We use the unity built in standard lighting system so use whatever you would use for unity's standard shaders. I can't remember right now if designer or painter lets you select between specular and metallic, if it does just select based on you performance and artistic requirements, in most cases you are good with metallic, there's only a few cases were you need the specular setup. Both are support by ASE so you are fine either way.
    2. It depends on what you are referring as "inverting", you can use one minus nodes to generally invert textures or something like the face node to invert a normal map when necessary. But if you mean inverting the green channel or normal map, that's usually an operation done in the texture importer, you can still inverted some components of the tangent normals in the shader editor but you would be spending performance for no good reason.
    3. Place a one minus node just before connecting to the smoothness output.
    4. There's none, take a look at the the substance sample we provide. We just connect the textures where we want and no special option or selection was done.

    Have you updated to the latest version? The water sample was recently updated to correct mistakes like that, something could still be wrong, I'll take a look as soon as possible since that is not the first time that specific issue has shown up.

    That sample already includes soft particles, that is, it already includes the calculation to fade the sprites into the other geometries, so no extra setup is required, it's still good that you tried because there's obviously a bug there, that error should not be happening. It is a per pixel operator, but it uses per vertex data to do it.
     
  41. DiggingNebula8

    DiggingNebula8

    Joined:
    Oct 2, 2016
    Posts:
    21
    @Amplify_Paulo Thank you so much for a quick answer; words can't express my gratitude.
     
  42. Johnny-Ow

    Johnny-Ow

    Joined:
    Mar 3, 2015
    Posts:
    9
    @Amplify_Paulo, so is it necessary to place a Vertex Color node into my graph and blend it into my result for the soft particles? If I don't include it, the Soft Particles Factor seems to have no effect.
     
  43. Johnny-Ow

    Johnny-Ow

    Joined:
    Mar 3, 2015
    Posts:
    9
    Different question. I am trying to pass random vector2s into the shader via the Custom Vertex Streams. Unity wants to shove the data into UV channel0 TEXCOORD0.zw. I get multiple errors if I try to do this and set my Texture Parameters node to a Vector4 (so that I can access the UV and the ZW).

    In the particle system, I get an error about streams not matching.

    bar.jpg

    In the shader I get an error about being unable to explictly cast a float2 to a float4.

    foo.jpg

    I can get around this by adding a dummy UV2 vertex stream into my particle system, and then putting the random vector2s into TEXCOORD1.xy, but why is this necessary? or am I doing it wrong?

    foobar.jpg

    foofoo.jpg
     
  44. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    272
    Ahhh I get it now, sorry for not understanding earlier.

    The short answer is yes, you have to use the vertex color node, more specifically it's alpha channel.

    You might be scratching your head onto why, since vertex color doesn't seem to have anything to do with soft particles. But this is a very particular case, we decide that in order to show off the template system we would be using unity's built-in shaders as is. So if you look at our template for the particle system it's exactly the same as unity's built in shader with the extra tags to let the editor know where to inject code. The reason this is relevant to your case is that in the original built-in shader the soft particle effect is being "pre-multiplied" into the vertex color alpha channel. Since we wanted to use the exact same shader we left that calculation there and that's why you need to use the vertex color. If we were to create a new template from scratch we could put it in a more sensible and intuitive way, or maybe "post-multiply" the effect to the result. It was just a design choice, feel free to edit the original file or make a copy of it and change that.

    To your second issue, that is actually a mix between a error a another thing. The error is that cast conversion fail, we missed something there and thanks for reporting that. We'll try to fix it for the next build. The other part of the problem tho is that templates are a way to use a pre-existing shader and being able to add stuff to it. Custom vertex streams assume that you will edit the shader yourself. The reason this is a problem is because in order for your shader to correctly use and respect variable sizes it must be told by editing the original file. In your case the original texcoord is just a float2, it is hard coded that way, if you then tell your particle system that you want to pass something into the zw components it wont be able to use fit that data into that location. This could be resolved again by editing the original file to allow the use of the extra two slots but for the same reason as the first problem we left it untouched to match unity's built-in files.

    Strangely enough both your issues are related to the fact that we are using a copy of the built-in files. Our intention with the template system was never to have just one template for all particles but something that could be used for most cases and then altered to fit whatever extra purpose you wanted with them. To put it simple, if you need to do something extra with them you need to copy and make the appropriate changes to them. On the other hand it's our job to make it more clear what a certain template can or cannot do. We will definitely improve this for future versions, we already had discussed internally and we have a few ideas on what to do. We'll try to fix this for the next release, I'll then give you an update on it and most likely a template you can use safely for you case. Until then keep using that hack. Sorry for the inconveniences.
     
  45. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,030
    @Amplify_Paulo Regarding the water shader and single-pass:

    Yes I did update from the asset store last night and recompiled the shader. The water distortion was still only happening in one eye in single-pass stereo. Thanks for looking into it!
     
  46. Johnny-Ow

    Johnny-Ow

    Joined:
    Mar 3, 2015
    Posts:
    9
  47. arnoob

    arnoob

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

    I don't know if the question has already been asked, or if the answer is dumb, but is there a way to grab screen space normals? (or View dir normals I don't know).

    Basically I would like to make a shader or a function that displays how a surface is oriented from the camera...
    Kind of like that for example http://devmaster.net/assets/post/3095/uploads/images/ao_normals.jpg

    I already tried to use View dir with space set to "tangent", and while the X value (red) seems to work properly, I have some weird results for the Y (green) that seems to still be referenced to the "world tangents". Is it a bug or am I simply going in the wrong direction?
     
    Last edited: Oct 11, 2017
  48. zelmund

    zelmund

    Joined:
    Mar 2, 2012
    Posts:
    374
    Hi there.
    I dont undrstand Reference option in textures nodes clearly.
    Can someone explain me how it work and what difference betwen them (objec type/reference type)?
    Also, how many referenced textures i can have in shader?
     
  49. TheAlmightyPixel

    TheAlmightyPixel

    Joined:
    Jun 21, 2014
    Posts:
    263
    I noticed a thread on your forums where someone was asking if it was possible to achieve this extrusion effect with ASE:




    Back when the thread was made you said it wasn't possible at the time, but can you say if it's possible with the current version?
     
  50. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    386
    That shot you sent is appears to be showing surface normals in world space, from which we already a node for it. But these don't depend on the camera position and orientation.
    Is it possible for you to give additional information on which effect you want to achieve so we can figure out which kind of data you may need?

    The Reference option allows a Texture Sample node to use a Sampler property from another Texture Sample node instead of creating a new one.
    It's useful if you want to fetch the same texture using different UVs like p.e. on the Simple Blur sample.
    This is similar on creating a Texture Object node and connecting it to the Tex port in the Texture Samplers.

    It's still can't be done. We'll see if can take a closer look at it and try to make it possible in a future build.

    We also released a new build on our website and here are the release notes:
    Release Notes v1.3.2 dev 02:
    • New Shader Functions:
      • 'Bidirectional Parallax Mapping'
        • Mimics iterative Parallax Mapping with reference plane
      • 'Reconstruct World Position From Depth'
    • New Samples:
      • Added new Vertex Normal Reconstruction sample
    • Fixes:
      • Fixed issue with shader function nodes generating the same code multiple times
      • Fixed issue with function input generating duplicated code
      • Fixed issue with 'Texture Coordinates' node generating code in the vertex function when used inside a shader function
      • Fixed issue on 'Texture Coordinates' node in templates not respecting the size of the Coord Size option
      • Fixed issue on matrix multiplication via the 'Multiply' node not taking correct output type into account
      • Minor fix on Search Bar positioning
      • Recompiled Triplanar sample to be PS4 compatible
      • Recompiled Translucency sample to be PS4 compatible
      • Recompiled Hologram sample to be PS4 compatible
      • Fixed compilation issue with Billboard generated code in PS4
      • Fixed hot code reload issue with 'Template Parameter', 'Template Vertex Data' and 'Template Fragment Data'
      • Fixed issue on 'Fresnel' node not read/writing new normal space option
      • Fixed issue on 'Screen Position' node when used on Templates
    • Improvements:
      • Functions inputs now allow the use of node default graph trees supporting complex default operations
      • Particle Alpha Blend template now uses a float4 on its TEXCOORD0 semantic both for vertex and interpolator data
      • Added pragma tag into Default Sprites template
      • Added port failsafe config into 'Texture Sample' node after reading all its internal data
      • Making vector port invisible in Unity Parameters type nodes if not being used
      • 'Component Mask' node only creates local variables if needed
      • Multi-wire colored connections now active by default
      • 'Fresnel' node now have Normal Space option set to Tangent by default
      • Shader functions now display their description on its Inspector window
      • Fixed 'Grab Screen Position' and 'Grab Screen Color' nodes for VR and updated the respective samples accordingly

    Here's a glimpse into our new Vertex Normal Reconstruction sample. Hope you guys like it.



    Happy shader creations!
     
    Last edited: Oct 11, 2017