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

    Drenyn

    Joined:
    Jan 8, 2019
    Posts:
    8
    Looking into this further, if I don't use the toon ramp by just making it "None" the lighting goes back to normal, but its obviously missing some of the effects from the ramp. It appears the black side (shadow) is coming from the darkest part of the ramp.
     
  2. Amplify_Ricardo

    Amplify_Ricardo

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

    You can only create post-processing effects for the built-in renderer using ASE, I'm afraid this wont be very useful for your HDRP project. Other than the post-processing examples we offer, we don't have any additional documentation at the moment. I recommend starting with Catlikecoding's tutorial for a Bloom effect, and perhaps diving into dedicated books.



    Hey there! I just noticed that your last post on our Discord got lost in all the replies, feel free to ping us directly next time if we miss it, no need to duplicate questions.

    Is your project set to gamma?
    Is "Auto Generate" toggled in your project? (Lighting Tab)
    upload_2020-3-13_10-57-58.png

    Thanks!
     
  3. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hello,

    We aren't yet sure if we are going to switch rendering pipeline to URP. And we are even considering this weird workflow until URP is feature-complete with built-in
    "Switching to URP before taking a mobile build and switching back to built-in before a PC / Console build."

    Does ASE support such workflow? Would it automatically recompile shaders after switching render pipelines? Can I design one shader to work both in URP and Built-In that supports switching back and forth?

    Also, can we design light weight(non PBR) shaders for URP and Built-In with ASE like the URP/Simple Lit?

    Thank you.
     
  4. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    We would not recommend such workflow, create specific branches instead; there's a lot more that changes with URP beyond the scope of our editor.

    Not automatically, you can convert shaders manually but you'll have to deal with your specific requirements, depending on the platform used. We do simplify this process, platform specific differences excluded, you just need to change the shader type in the editor, reconnect any broken Output ode connections and save.

    I suppose that it would be possible to maintain a master shader than you can then save out for URP and the Standard built-in renderer but it's probably not ideal. With two branches, you'd simply have to create the URP shaders based on your built-in shader files; this simplifies the process and keeps everything separate.

    We only provide Lightweight PBR and Unlit types, you can create non-pbr shaders for the built-in renderer. If you're starting your project now, we strongly recommend using the Universal renderer instead of the Lightweight.

    Let me know if you have any additional questions.
     
    Last edited: Mar 13, 2020
  5. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Thanks for your response.

    Can you please explain what exactly is 2 branches? Do you mean 2 completely separate graphs for URP and Built-in? How can one create URP shader based on built-in shader files? (I don't yet own the asset and therefore have no experience)

    Sorry I messed up terminologies here. by "light weight"(non PBR) I ment "cheaper" lighting methods like Blinn-Phong that (I guess) are used with URP/Simple Lit shader. We aren't planning to use LWRP.

    Have I understood correctly that such lighting methods aren't available with ASE when targeting URP? So with ASE and URP, one can't achieve similar performance to URP/Simple Lit shader?

    From the documentation:
     
  6. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    No, I mean 2 project development branches using version control, one for PC and another for Mobile; and then generating the URP shader based on the built-in version, or vice-versa depending on how you prefer to do it.


    That's the simple part, you just change the type in the editor; do keep in mind that there might be platform specific differences, that's where you might encounter some problems but nothing that usually can't be reworked for SRP.

    The ASE SRP import process is automated, you may disregard that step in the video; it does show a simple shader conversion.


    No problem! We currently don't include the Simple Lit shader variant, we do include an Unlit version.

    Be sure to check our latest streams for additional details on Custom Lighting with SRP; you might find it interesting.

     
    Meceka likes this.
  7. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    That solved my issue. Thanks a lot.
    The stupid save scene messages after exhale is gone too.
    Sometimes it F***s me really off that Unity seems to be not not testing their packages in real world conditions and their example scenes like Fontainebleau or Spaceship Demo.
    Packages like the GitHub or Adressables need to be corrected and tested from us. Not nice.
     
  8. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,134
    The GitHub plugin is made by GitHub, not unity.
     
    syscrusher likes this.
  9. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Thanks for confirming it; we'll do whatever we can on our side to prevent the issue.
     
  10. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
  11. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387

    Attached Files:

  12. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Thank you for the fast reply and already providing me with actual shader function. Greatly appreciated!
     
  13. VirtusH

    VirtusH

    Joined:
    Aug 18, 2015
    Posts:
    95
    Hey guys, found a fun issue when using multiple depth functions simulaneously! And luckily I think I found the solution.

    So, if I use a 'Reconstruct World Position From Depth' function node with a 'Depth Fade' node, I get an error!
    upload_2020-3-14_15-50-15.png

    I played around a bit and it seems the issue can be fixed by popping into the Reconstruction function and changing the 'Variable Mode' from Create to Fetch on the _CameraDepthTexture node. I'm not sure if there are cases where this has to be the other way around?

    upload_2020-3-14_15-54-28.png
     
  14. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,195
    Sorry if this has been answered. I've tried searching this thread, but it's massive, and I could have easily missed it.

    I was wondering if there was any written documentation comparing ASE's functionality to ShaderGraph in HDRP? I'm trying to evaluate what ASE brings to the table compared to what ShaderGraph supports?
     
  15. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Hey there, I'll have to confirm with one of the devs if this is expected in this particular case.
    We could really use additional details, any chance of a sample?


    Thanks for asking!

    We tend to avoid direct comparisons, and instead direct users to what we offer, our goals and unique aspects, but there are definitely a few differences that usually turn developers onto our editor. We hope our product page at the asset store is informative but we're always happy to elaborate.

    As we've mentioned before, Shader Graph is a nice addition to Unity but they still have quite a lot of ground to cover. Our development paths differ greatly, while they seem to be heading in a direction that seems constrain some development aspects in the long run, we're taking additional steps to make our editor even more community driven; flexible, expandable and open do other developers. That's a major difference! We're not bound by the overall Unity development cycle and roadmap decisions, we're absolutely free to do what the community wants, and how they want it, which was always one of the main reasons behind creating ASE.

    When you license ASE, you're not just getting a shader editor. You're buying into an open ecosystem that any developer can take advantage off to create their own content. Unlike Shader Graph which locked out the ability of extending it via templates, and only supports SRP - you can create both Standard shaders and SRP shaders with Amplify Shader Editor, and we will never deprecate our API or Template system.

    We facilitate this by providing:
    ASE provides a stable pillar to expand our product offering or feature set; as it does to any other developer that uses it. We already launched our first tool, Amplify Impostors, thanks to ASE and we have 2 other major content creation related assets in development.

    In more practical terms:

    • Dedicated and responsive support personel via the Unity forums and email(support@amplify.pt).
    • Direct link to our team via Discord.
    • UI/UX is more inline with what you would expect from other editors such as the Unreal Material editor; less steps to create content, common standards.
    • Built-in renderer and SRP support(HD/URP/LW)
    • Full source-code
    • Custom Node API
    • Shader Templates
    • Shader Functions
    • Multi-window Support
    • Intuitive, familiar node interface
    • Extensive node library
    • User Contributed Nodes and Shaders
    • Growing sample collection (70+)
    • Additional shader types
    Hope that helps, be sure to let us know if you have any questions!
     
    KRGraphics, Meceka and dgoyette like this.
  16. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Hi guys, currently experiencing shading issues in URP on Android, a simple description would be "strange lighting behavior" are there currently any known issues in regards to this?
    If not, I will provide more details, if yes, any ETA for fixes?
     
  17. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    Thanks
     
    Amplify_Ricardo likes this.
  18. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    Thanks for the info.
     
    Amplify_Ricardo likes this.
  19. Amplify_Ricardo

    Amplify_Ricardo

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

    We're not aware of similar problems, please post additional details regarding the shader used.(screenshot helps)
    -Unity and SRP version
    -Amplify Shader Editor version

    Thanks!
     
  20. fedorval

    fedorval

    Joined:
    Nov 15, 2019
    Posts:
    17
    Hi guys,

    I hope the current covid crisis isn't too much of a problem on your ends.

    One of the artists in my team is using the Outline node to create something that looks like a shell pass to add volume. It basically takes the texture color under it, pushes it a bit outside like the outline usually does but flipped the cull mode so it appears over the object then used alpha clip so it only shows at the top of the heightmap.

    The problem with this though is even if it's using alpha clip (which usually supports shadows) the Outline node seems to completely ignore shadows and there's no options for it in my current version (1.7.2) even though there are options to write to depth or not which I've tried but it didn't change anything.

    Is there a way for the Outline node pass to accept shadows when the render is set to masked and/or opaque?
     
  21. Amplify_Ricardo

    Amplify_Ricardo

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

    So far so good, we're all working from home. Hope you're staying safe as well!

    We're somewhat limited with the Outline node, please check the video below for additional details and a possible workaround. Also be sure to update to the latest ASE version, v1.7.8.002.



    Amplify Creations Dev Stream #4 - Lightweight Toon Outline
     
  22. fedorval

    fedorval

    Joined:
    Nov 15, 2019
    Posts:
    17
    Hi,

    I'm glad to hear you switched to working from home for now, we have as well!

    I just looked at that video and the prepass option seems exactly like what we need! Thanks for the info we'll update the plugin and check it out.
     
  23. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Awesome, every bit helps in beating this thing.

    Hope it helps, let us know if you run into any issues.
     
  24. fedorval

    fedorval

    Joined:
    Nov 15, 2019
    Posts:
    17
    Hello,

    We are currently using the Built-in Render Pipeline and so I don't seem to have access to the templates shown in the video. Is there a way to get the extra pre-pass option while using the Built-in pipeline?
     
  25. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Hey there, which videos?
     
  26. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    That GitHub plugin is IMO a wonderful start, but it does have its issues. :/

    FWIW, I received the same error as @keeponshading in a project last night, and the project has never had the GitHub plugin installed. I can't reproduce the error, unfortunately, and I don't know what I did to trigger it. Now that I've seen it mentioned on the forum, if it happens again I'll capture my logs and see if I can submit a meaningful bug report.
     
  27. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    I started using Amplify Shader Editor seriously several weeks ago, needing to create a custom shader to support specialized camera behavior in an archviz scene. I must say, I'm utterly impressed with this tool! I am a programmer but not specialized in rendering. I've been trying to learn shader coding "the hard way" because I want to broaden my understanding, but even when I have a deeper understanding of the low-level code, I won't necessarily want to work at that level on production projects! By background, I'm a hardware designer and am perfectly capable of coding in Intel assembly language -- but I'm not about to do that on a daily basis! [caveman voice] "Smart engineer use tool!" [/caveman voice]

    In any case, I'm really enjoying ASE and have rather become "hooked" on making cool effects shaders! I've spent a lot of time in the manual and the online wiki, but I've run across a few things I wasn't able to answer, so I hope someone here can help out. (As an aside, these questions are not all from the same project; I have two customer-facing projects at work right now that are not related.) To save bandwidth on the forum, I'll use a numbered list, and anyone responding is welcome to just call them out by number and not quote my original text. I'll also boldface my actual questions to set them apart from contextual verbiage. :)
    1. When making my special archviz shader, what I really needed was the Unity standard shader (metallic workflow) but with some added features. Ultimately I was able to create what I needed by synthesizing knowledge from the ASE docs and examples, some online code samples, and my own examination of the source code of the Unity shader. The Unity source code has so many includes and boilerplate sections that it is really not well-suited as a learning resource. Is there a published example in which ASE is used to closely replicate the Unity Standard Shader? If not, this might be a very useful feature to include in the next version of ASE.
    2. No matter how many times I've read the documentation, I still do not understand exactly what the Vertex to Fragment conversion node actually does. I'm embarrassed about this because I have personally written shaders that have fragment, vertex, and geometry functions, so I do understand the difference between the vertex and the fragment functions. Could someone please explain what the Vertex to Fragment node actually does? Specifically, what is the difference between connecting Node A directly to Node B, versus connecting them with the V2F node between?
    3. One of my shaders, which I finished last night, is a sprite shader for a UI effect. I had almost everything working perfectly, but my effect wasn't gracefully resizing when the canvas was resized (the app is a free-aspect resizable window, with the Canvas Scaler set to "scale with screen size" mode). The data I needed and found very hard to obtain was the current, dynamically-calculated (by the Canvas Scaler) ratio of UV coordinate units to vertex object-space positional units. Ideally what I wanted was the size in pixels and/or world units of the RectTransform of the UI object where my shader is active. What finally seems to have worked are the "RT width" and "RT height" outputs from the Screen Params node. Is there a good source of online documentation for how world space and object space values work in shaders (and specifically, in ASE nodes) for UI sprites?
    4. I think I may have found a bug in the way Register/Get Local Variable works. I had some connections where I fed a float1 into a float2 or vector2 input, and when these are directly linked ASE implicitly fans out the single value to all of the inputs. Moving from direct connections to Register/Get Local Variable caused this implicit fanout to fail, and there were compile-time errors that a float1 could not be cast to a vector2. This issue was particularly reproducible for the Scale input on the Scale and Offset node. Was I doing something wrong, or is this a bug?
    5. From this forum, I understand that geometry shaders are not officially supported. That being said, I am happy to report successfully creating a template with my custom geometry function in the template, and I was able to add functions in ASE for the fragment and vertex functions. Will ASE support geometry functions soon? In the meantime is there a way to implement a geometry function as a custom node (hand-written like the code in my template, but with its inputs and outputs exposed on the ASE node canvas)?
    6. I want to create a shader that works on standard pipeline, URP, and HDRP. Will the switch by pipeline features in ASE let me provide a single *.shader file that works on all three, or is there more to it than that? Forgive me if I've missed some documentation on this; I've not had time yet to research this topic deeply.
    7. As a feature suggestion, could a future version of ASE possibly include a node to retrieve barycentric coordinates of the current fragment? This is what's needed for many wireframe (and related) shaders, and it's the function of the geometry function I mentioned in #5. Perhaps this could become a standard feature of the ASE templates? Alternatively, if ASE had a node that simply exposed to fragments the object-space coordinates of all three vertices of the current polygon, that would allow the barycentric computations to be done (but probably less efficiently) in existing nodes. Exposing the three vertices to the fragment/surface shader could have other uses as well.
    8. As a final -- and hopefully simple -- question, is there a way in ASE to group the exposed shader properties in categories?
    Again, I offer my compliments and thanks to the ASE developer(s) for a fine product. It's been a huge boon to my productivity and is empowering visual effects I would not otherwise have been able to implement locally.

    Thanks in advance for anyone who is able and willing to respond to my list of questions. :)
     
    Last edited: Mar 21, 2020
  28. Sibylline-Siren

    Sibylline-Siren

    Joined:
    Jul 8, 2012
    Posts:
    22
    Is alpha clipping possible in Universal/PBR ASE shaders like it is for High Definition?
    There's an Alpha Clip Threshold in the Output Node, but I can't seem to find the checkbox to enable it.
     
    Last edited: Mar 21, 2020
  29. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Yes, there is alpha clipping. In the settings for the Output Node, set your Render Type to "Transparent Cutout".
     
  30. Sibylline-Siren

    Sibylline-Siren

    Joined:
    Jul 8, 2012
    Posts:
    22
    Thanks for your answer.
    Maybe I'm doing something wrong but those options disappear for me once I switch to Universal RP. They also do in HDRP but there is an alpha clipping checkbox. In URP I don't have either.

     
  31. owenchen1994

    owenchen1994

    Joined:
    Oct 26, 2019
    Posts:
    7
    Hi guys!
    I was following a tutorial which uses shader forge, and I saw in shader forge there is a cubemap node. Is there any node that works like cubemap node in amplify shader so I can mimic the shader below?
    Untitled.png
     
  32. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    So sorry! Yesterday I was working on two different projects, one in SRP and the other in standard rendering, and I conflated the two when reading/replying your question.

    I mocked this up today in a URP project, and found that cutout works in Opaque render mode if you supply the correct data to the Output Node in ASE.

    I made this simple ASE graph:

    upload_2020-3-22_10-54-32.png

    The settings for the master node are (excerpted to include only relevant items):
    upload_2020-3-22_11-0-21.png
    Everything else is set at defaults. The Material is set as below. The Main Texture is simply a UI icon that has a transparent background (not obvious from the screen shot below).
    upload_2020-3-22_11-2-39.png
    Here is my alpha cutout shader in Unity's SRP test scene. Since I blew an icon up to large size, it is extremely pixelated, but it works as a quick example. :) It's properly casting and receiving shadows, properly occluding and being occluded by other opaque objects, and (not shown here, but tested) properly culling its back face if I have the shader properties set to do so. The mesh is a ProBuilder quad with the UV manually set so the corners range from (0,0) to (1,1) in texture space coordinates. Not shown here, but also tested, was that when the clipping treshold is set to 0.0, the entire image becomes visible with the background rendered opaque white.
    upload_2020-3-22_10-52-22.png

    Based on this test, I would conclude that URP has simply done away with the notion of cutout as a separate rendering mode and simply applies the alpha clipping behavior to opaque shaders that supply the needed alpha channel and alpha clipping threshold.

    I apologize for misreading your question, and I hope taking the time to mock up this test has earned your forgiveness and (this time correctly) answered your question.
     
    Last edited: Mar 22, 2020
    Sibylline-Siren and Meceka like this.
  33. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    ASE developers: Today I read the API documentation for ASE, and I just wanted to say it's really well-written and detailed, with nontrivial code samples as well as clear explanations not just of method signatures, but also of calling semantics. Well done!
     
    Amplify_Ricardo likes this.
  34. Sibylline-Siren

    Sibylline-Siren

    Joined:
    Jul 8, 2012
    Posts:
    22
    Wow! Incredible response. Thank you so so much. I'll try this right away
     
    Amplify_Ricardo likes this.
  35. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    I hope it's helpful, but noting how many questions I just posted here, please take it with a few grains of proverbial salt, because I'm pretty new at ASE myself. :)
     
    Amplify_Ricardo likes this.
  36. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387

    Thanks for jumping on board, we would be happy to answer any questions you might have!

    1. Generally, we would not recommend replicating the actual standard shader; it's a bit of a behemoth that, for full replication, will also require a fully custom Material Inspector script. At its core, ASE provides equivalent Unity Standard Metallic surface shader generation which can be adapted to any user requirements instead of what is provided by the Standard shader.

    2. It forces calculations to be done per-vertex by using the vertex to fragment node which will create an interpolator for you; try adding it between a UV node and a Texture Sample node to see the difference in code. Generally recommend for optimization purposes.

    3. Not that we're aware of but we would be happy to elaborate based on a sample/example.

    4. Sounds like a possible issue, can you send us a simple example with the problem present?

    5. That can work, but we're still working on being able to have geometry functions. In some cases, from what I can gather from similar inquiries, what you can do is use an include file that you call from your shader; in any case, this still needs work on our side.

    6. Afraid not, each shader type will need to be compiled separately.

    7. We do intend to provide our Wireframe option when it comes to adding support for Geometry Shaders. In the meantime, perhaps you can make use of a Custom Expression example in your experiments.

    8. I'm afraid that one is beyond the scope of our editor; we do intend to improve how they are ordered on our editor properties but, for full control, you'll want to use a custom Material Inspector.

    Thank you, that means a lot to us, we truly appreciate the support!

    It's done a bit differently on ASE, be sure to check the CubemapReflections sample for a specific example.

    That's great to hear! Please let us know if you find anything lacking, we're in the process of updating a few wiki pages.

    Thanks!
     
  37. fedorval

    fedorval

    Joined:
    Nov 15, 2019
    Posts:
    17
    The video you sent for my problem, the Dev Stream #4.
     
  38. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Thank you for such a detailed and prompt response.
    Understood and agreed. I probably should have clarified in my question, the context was for learning rather than practical application of such a sample. For instance, one thing I needed in one of my ASE custom shaders was for the height map to work visually the way it does in Standard. I had used the Parallax node in ASE but was not getting the right visual result. Eventually I found the answer (iterating the Parallax nodes) in a specific Parallax example (thanks for that, btw!), but there was a lot of this hunting around and synthesizing pieces from multiple sources.

    Perhaps what I should have asked for wasn't a single large example, but a section on the Wiki listing all the inspector settings on Unity's Standard shader, then indicating which existing ASE example is the best illustration of how to do that part of the Standard shader's function.
    I'll do that, thanks! Does that created interpolator count against the GPU's hardware limit on number of interpolators? (As I understand the docs, though, it sounds as if modern GPUs have enough interpolator capacity that it wouldn't normally be an issue, correct?)
    Fair enough. Is there a good way for me to share my shader with you for offline discussion, without posting it publicly since it's for a customer and covered by NDA? (Sharing with you for tech support isn't a problem, but I can't publish it.)
    It was intermittent for me, but I'll see if I can get it to reproduce reliably in a minimal sandbox shader that I can post here -- or maybe I can record it to a screen video capture.
    I've considered that approach, so thanks for the affirmation of the idea. Would you advise me to copy one of your templates and insert my include lines to make a slightly-customized clone of yours, rather than starting from scratch as I've done in testing?

    (BTW, it says a lot for your documentation that I was able to make a working custom template *from scratch* using only your docs! I might sound like a broken record, but part of my job includes extensive analytical reports for clients, so I appreciate very much when tools I purchase have high-quality documentation. It's so often an afterthought by developers, and under-appreciated by customers when it's good but so painful when it's not good.)
    Got it. I just reviewed the docs on that, so I think I understand what I need to do. I'll post here if I run into any problems.
    That would be excellent (the wireframe option). I had looked at that Custom Expression example myself. The OP on that is using a different barycentric algorithm than I am (mine doesn't have hardwired blending constants), but it's similar in context. The one thing I couldn't discern from that thread, however, was how to obtain the positions of all three vertices of the current triangle. I can do that in the geometry function (and in fact am doing so already in my hand-coded shader), but if there's a way to do obtain that data using existing ASE nodes, I haven't found it.

    One of my reasons for looking at the API documentation is that I'm considering a custom node that does nothing other than expose that data, based on values set from an include file that I would call from the template. In my current (production) implementation of this, the geometry function does the barycentric computation and passes the result to the fragment function, but I could move that computation into the fragment and do it with existing ASE nodes if I simply had those three vertex positions available there. I'm not sure if there are performance impacts from that, however.
    No worries, it was a "nice to have" but not by any means essential. Once I get my shader fully developed, I'll create the custom inspector as you suggest.

    My intention, assuming I can get everything working and polished, is that the next version of my Magic Markers asset will provide its specialized shader as an ASE canvas (possibly including a custom node and/or template, and definitely the aforementioned custom Material Inspector). That would allow customers to tailor my shader to the needs of their project easily.
    I'm absolutely intending to post a review on the Asset Store soon. I like to wait to review an asset until I feel at least journeyman-level confidence with the tool; as a part-time asset publisher myself, I know that the last thing any publisher wants is a bad or mixed review based on the customer's new-user misconceptions. That wouldn't be a problem here, because ASE worked quite well for me from the first day, but it's a general practice I follow.
    I registered for a wiki account this past weekend. I hope you won't mind, but I will probably correct a few grammar errors. :)
     
  39. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Thanks for confirming it. That option is specific to that template, I was referring to the way in which you can use a second material for the actual outline; may not be ideal for all situations, this is more of a workaround. Apologies for the misunderstanding, I should have been more specific.



    Good to know you found the answer! Thanks for elaborating, I understand what you meant. We would be happy to direct you to specific cases, if you run into any unknowns.

    Now more then ever, given that Standard Surface shaders are on the way out, I don't think that's something we're considering providing a breakdown for. The built-in shaders are a good resource for users that can follow along but there are many references out there that everyone should definitely take advantage of; we're instead focusing our resources on tutorials and samples.

    I'm afraid so, there's a limited number of interpolators you can use to pass the data from vertex to fragment; try packing them as much as possible. e.g. 2x Float 2 with a single Float 4 using the Append node. Generally speaking, try not to use too many regardless of the hardware.

    Yes, all exchanges sent to support@amplify.pt are private unless otherwise specified/agreed.

    Thanks, we really appreciate it! A sample would be ideal so we can load up the shader and replicate it on our side, quicker to debug.

    Not sure in this particular case as almost any shader can be turned into a template. For specific template discussion, I would recommend reaching out to us via email so that the developer responsible for the system can best advise you. But of course, feel free to post here if you prefer and I will relay the message or request his input.

    Thank you, really good to know, Amplify_RnD_Rick put a lot of work into the template system and its documentation.

    Not sure in this particular case, let me just consult with one of our developers or perhaps bring them into this discussion. Perhaps it's best to start an email thread regarding this subject as this is not something we currently provide.

    Nice, looking forward to that!

    Thanks, we appreciate it.

    Thanks, contributions are extremely welcome! Let me check that for you, I might have just missed it; we've been hit with a couple of spam accounts lately. What's your username, and have you submitted any changes?

    *edit
    Seems that the post I previously linked was using fixed values, it won't work for your case; apologies for any confusion caused.
     
    Last edited: Mar 23, 2020
  40. TruongNguyenTungDuy

    TruongNguyenTungDuy

    Joined:
    Oct 27, 2017
    Posts:
    13
    Hi, in shader graph i can make one property become a multiple node (like picture), it's very useful for organization. Can i do the same in amplify shader editor?

    upload_2020-3-25_14-30-17.png
     
  41. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    I'm not actually familiar with this feature, so all nodes have the same assigned value? If that's the case, you could use a Register node to register a single property and then use the Get node wherever you need to use that property.

     
    TruongNguyenTungDuy likes this.
  42. ArminJohansson

    ArminJohansson

    Joined:
    Jan 8, 2019
    Posts:
    14
    Hey! I'm loving the Amplify shader - of all the shader graphs i've used it is the most intuitive, performant and fun.
    Thanks a bunch.
    I have an issue with the visual representation of any node after a vertex color input.
    Normally the visual representation of a node is in regular 2d coordinates.
    upload_2020-3-26_15-16-10.png

    After plugging in vertex color each subsequent node is represented as a circle.
    upload_2020-3-26_15-19-24.png
    Is there any way of always using the 2d coordinate representation instead of the circle?
     

    Attached Files:

  43. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Thanks for using it!

    That's working as intended, those types are previewed as shown. Not everything can be displayed like the regular 2d coordinates of a UV node for example, hence the difference in visual representation.

    Are you running into any specific issues?
     
  44. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    Huge thanks in advance if you can help me with this, this is an WebGL exclusive issue so I've been doing builds and uploads for the past 6 hours trying to figure this out.


    For whatever reason if i plug any value into the out of this function (custom_lighting), the shader breaks and nothing renders in the web build. I have a similar shader "foliage" that runs fine with mostly the same bells and whistles. I've built this for android as well as PC and this issue ONLY happens with the web build.

    It feels like there is some sort of complexity limit for HTML5 shaders, but i'm not entirely sure. I've plugged a simple 1 value into the out above and even that breaks it, it's very bizarre. The specular out is fine and just as complex so i'm really dumbstruck what's going on.

    I've created new shaders, pasted the nodes in and get the same issue.

    A link to the shaders and used functions can be found here:
    https://drive.google.com/open?id=1thFj22NmIdMqLp32GW9iJqYh0yRtot36

    Hope someone is familiar with this and can say what's wrong without too much hassle and that i'm not dragging anyone into some project specific rabbit hole.
     
  45. Amplify_Ricardo

    Amplify_Ricardo

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

    Thanks for reporting it, we will examine the sample as soon as possible.

    What browser(including version) and Unity version are you currently using?

    For reference:
    https://docs.unity3d.com/Manual/webgl-graphics.html
    https://docs.unity3d.com/Manual/webgl-browsercompatibility.html

    Thanks!
     
  46. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    Great!

    I've had a few people report they are all having the exact same issue with various platforms and browsers, so web browser doesn't seem to be a factor.

    I have the most recent unity version and the newest WebGL module:


     
  47. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    I should note there are 2 shaders that use the function "custom_lighting". They both are having issues, the "environment" shader turns pink, the "environment prop" shader doesn't render at all.
     
  48. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,387
    Thanks!

    Well, from a WebGL and Unity Standpoint, browser version can be a problem. Probably not the case here, just a general reference, but we have come across issues before that are specific to the browser used.

    Thanks, hopefully we can sort it out.
     
  49. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Quick question: Is there an example somewhere with the Normal From Height Map node in use? I couldn't find one offhand, and whatever I'm doing with that node is clearly wrong, because I'm feeding it a greyscale height map and getting all-black output.
     
  50. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    Firstly, for anyone interested in doing web builds here is super handy info that was harder to find than it should be:


    Fixed it! This is actually kinda funny.

    So by random chance one of my mundane nodes that didn't do anything fancy had an extra underscore, "Diffuse__Texture_Power". Apparently that totally borks web builds only.

    Behind the scenes I believe an underscore is attributed to all properties, so maybe the web shader builder is somehow thinking the double underscore is a new property and it bones things up.

    Maybe you guys can add some sort of naming convention check for this? Very hard to track down if you're not aware of the potential issue!

    Sorry to have wasted any time, but crisis averted! So many rabbit holes I went down with this and it was a damned underscore, haha. Excited that i don't have to cut out any functionality and can go back to parity between all the shaders across all builds.

    Thanks again for this tool, it's awesome and the support here is always great.
     
    Last edited: Mar 28, 2020
    syscrusher likes this.