Search Unity

Feedback Some points about Shader Graph

Discussion in 'Shader Graph' started by Deive_Ex, Oct 29, 2019.

  1. Deive_Ex

    Deive_Ex

    Joined:
    Dec 30, 2014
    Posts:
    26
    So, I've been messing with Shader Graph for some months now and I wanted to give some feedback.
    Also, I've been messing with the Visual Effects Graph too, and that made me think about some things related to both graph systems, so you'll hear me mention the VFX Graph a lot.

    A note, though: I've been using Unity 2019.2.7f2 with Shader Graph 6.9.1 for my tests, so forgive me if some of these things were changed/fixed on newer versions of Unity/Shader Graph.

    Well, here we go:

    1. Although Shader Graph and the VFX Graph are different tools, I don't see any consistency between the nodes of both systems.
    From my perspective, they should look and work in similar ways, since they both use the same "Graph" interface. What I mean by that is that while they do different things, nodes like "Time" and "Multiply", which have basically the same functionality in both systems, have totally different looks. I think since they're both tools inside the "Unity Editor", they should have similar looks, so if a person that's been using Shader Graph decides to use VFX Graph or vice-versa, they won't feel lost when searching/using basic nodes (I know I felt lost when I jumped from Shader Graph to VFX Graph).

    Sahder Graph: upload_2019-10-29_13-10-32.png
    VFX Graph: upload_2019-10-29_13-10-47.png

    2. On VFX Graph we can put Tooltips on each variable AND organize them in "Categories" in the Blackboard. It'd be nice to be able to do that on Shader Graph Blackboard as well.
    I guess I don't need to say how that would improve the workflow, both for you and for your team.

    3. On VFX Graph, nodes like "Add" or "Multiply" can be edited to increase or decrease the number of Inputs, while on Shader Graph if I want to multiply 3 values, I have to create 2 multiply nodes, which increases the size of the Graph.
    That sounds like a very basic, yet useful thing to have.
    upload_2019-10-29_13-15-34.png

    4. Also, on VFX Graph, nodes that can have more than 1 input/output value (like a Vector3) lets you expand the node itself to choose which value to pick, instead of using a "Split" node for the same effect.
    upload_2019-10-29_13-24-29.png

    5. On the "Main Preview" window, give us the control of the light direction by using the Right Mouse Button.

    All 3 Mouse buttons lets you rotate the model, but you can't change the light direction. It doesn't even have to be the Right mouse button, it can be the middle button or a combination like "Alt+Right Button". The important thing here is to be able to see how a change in the light direction can affect the model without having to create scripts or custom nodes for that.

    6. Add and "Expand/Collapse all" button on the blackboard.
    When you start to work with lots of parameters, it can become a pain to search for your variable when all of them are expanded.

    7. On VFX Graph, Nodes show the values they're receiving. That could be useful when doing some calculations on Shader Graph as well.
    I understand that you can't really show values when they are pixel/vertex dependent, since that means the value can change for each pixel, but sometimes we do calculations that are not pixel/vertex dependent, and seeing what are the values of these on the nodes instead of taking a calculator or a piece of paper to check what you're doing could be really useful.

    1. On the Blackboard, when you set a Vector1 to a Slider, it won't become an slider.
    And that makes it really weird to use, since it makes you type your values anyway, instead of just dragging the slider (which limits you min/max values).

    2. Adding a Vector of any size greater than 1 on the Blackboard shows up as a Vector 4 on the Material Inspector.

    It shows the size just fine on the Blackboard.
    upload_2019-10-29_13-22-5.png


    3. Can't Delete groups of nodes by selectiong "Delete Group and Contents" from Group Node.
    To be honest, I won't say it never worked, but it usually doesn't work and nothing happens. Sometimes it even deletes just SOME nodes inside the group, but the group and the remaining nodes stay there like nothing happened. Also, after clicking this option, if I grab and move any node, it get stuck on my mouse and I can only release it by doing stuff like right clicking to bring the context menu. Oh, and it won't save either after I do that.

    ---

    And I guess that's it for now. Most points are about consistency and some cool functionality that the VFX Graph gives you but Shader Graph doesn't (although the VFX Graph nodes looks uglier than Shader Graph's nodes).

    I don't know if some of these things are not possible on Shader Graph, but I though it could improve the workflow quite a bit (and, from what I've seem, the VFX Graph generates a compute shader, right? So It should be possible to implement these things on both graphs).
     
    Last edited: Oct 29, 2019
    LooperVFX, neoshaman and Korindian like this.
  2. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Pretty much