Replies: 28 comments 28 replies
-
Personally, I've started using it recently and found it confusing that a node can have a drop-down to change operations. Isn't the node itself meant to represent an operation? If the intention is to make it easy to switch operations on already connected nodes, I think it would be better to have a way to replace the node, while remapping it's connections as best as possible |
Beta Was this translation helpful? Give feedback.
-
all these are good points...what really irks me though is the connections...if you zoom in or out whatsoever it becomes a major hurdle getting sockets connected without connecting to the wrong one or being fed a popup for a new node. |
Beta Was this translation helpful? Give feedback.
-
I guess this PR (godotengine/godot#67152) will be useful for upgrading UX. |
Beta Was this translation helpful? Give feedback.
-
Okay so I summarized my main ideas for a better UX and functionality in the VS graph editor:
|
Beta Was this translation helpful? Give feedback.
-
If the user experience has to be modified then i believe you should base the new design on the node wrangle addon of blender, there are a lot of feature who allow for a very fast workflow. Here is i think the essential shortcut that should be available:
|
Beta Was this translation helpful? Give feedback.
-
Color inconsistencies and vector splittingColor params and constants are vec4, but color functions and operations take vec3. suggestion: make component splitting a first class citizen for all vector types. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Unify math nodesFunction nodes: there's 4 function nodes, unify them into a single one and allow changing type from all to all. If necessary, change the function list depending on the input type. NOTE: i think transforms are different enough to warrant separation. int and floats arent. vector and scalar, debatable. |
Beta Was this translation helpful? Give feedback.
-
Contextual search node highlightDragging out a pin into a new node popup should navigate in the list to the entry with the right type. |
Beta Was this translation helpful? Give feedback.
-
Constants with dropdown menus instead of flat numberI'd prefer a node with dropdown menu for constants too, instead of just making a new constant node with plain text inside. |
Beta Was this translation helpful? Give feedback.
-
Minor: clamp uses the term float, while smoothstep uses the term scalar. |
Beta Was this translation helpful? Give feedback.
-
This one's more involved: completely remove the sampler2D parameter and instead have the following:
|
Beta Was this translation helpful? Give feedback.
-
Merge and enhance curve nodesMerge the two nodes "curvexyz texture" and "curve texture" into one, with a dropdown selection. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Varying to output nodeRework varying UX: instead of having them in a separate box that floats, add them to the output of the vertex/fragment stage Varying from previous stage can still live in a separate node with the dropdown. |
Beta Was this translation helpful? Give feedback.
-
Instance data previewFor us particle developers: have something set the custom vector of the material while working on it. Perhaps it should be in the inspector for the visual shader itself, as mock properties. Without this, the preview of the current texture is useless for anything that is developed around particles or multimeshes. |
Beta Was this translation helpful? Give feedback.
-
Stuff that gets in my way the most in current implementations is : Reroute NodeA simple dot node that can be used to lay out readable data paths in the graph. Without this at a certain level of complexity everything tangles into big mess. I think MaterialMaker handles this best. You can even insert a reroute between a port and it's destinations (multiple!) t be able to insert something between them without reconneccting all outputs individually. I love how MM and Blender implement this, but I dislike Unity ShaderGraph's take with makes the Reroute node directional (let to right), making laying things out nicely harder than it should be. |
Beta Was this translation helpful? Give feedback.
-
Node GroupsGrouping nodes is the ability to encapsulate a subset of the node graph into a single node that could be saved into a file and reused in multiple places in the project like a resource. In Unity's ShaderGraph this is called a Subgraph. Lack of this feature is something that limits Visual Shader's usefulness tremendously. It's like a graphics program without the Layers feature - you can only do so much before the project becomes unmanagable. It'd also allow reusing pieces of visual shaders, reducing duplicated code, easing management and readability. |
Beta Was this translation helpful? Give feedback.
-
Space bar to Add NodeMaterial Maker does a wonderful thing - if you hit space bar it will open the menu for adding nodes where you can type and search for a node name. This speeds work up tremendously. I'm missing this in Unity's ShaderGraph and any other nodes program that doesn't do this. Adding new nodes is such a fundamental action that assigning it to space bar makes a lot of sense. |
Beta Was this translation helpful? Give feedback.
-
Detach the Editor or make it FullscreenThe Visual Node editor is part of the bottom panel, just like the animation editor. Often I find myself wishing I could put it into the place where Code Editor is instead, or just detach it to a secondary monitor. Though this is probably something of a wider topic to generally rethink how editor panels are managed. |
Beta Was this translation helpful? Give feedback.
-
Contextual material selectionRight now, with the shader dock being constantly present, it's REALLY easy to lose track of the object that had the material with the shader we're editing. The splitting of parameters into per-instance and per-material makes it even clunkier to work with Proposal: have a second list other than the open shaders that allows to quick-select a any node in the scene that's using the current shader. |
Beta Was this translation helpful? Give feedback.
-
TextureTriplanar color output cannot be split |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Cannot split output of vector operations |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Naming of screen texturesIt's really unclear which of those is a screen source, other than screen. |
Beta Was this translation helpful? Give feedback.
-
something for paralax depthmapping would be nice |
Beta Was this translation helpful? Give feedback.
-
Some way to add local variables. Would be nice saving a value in one side of the grid and loading the same value on other side. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently, visual shader lacks guidelines for overall design, which has led to inconsistencies in how the nodes are implemented.
Some nodes allow to split the output, some don't. Some nodes allow to change type, some nodes allow to change operation.
Additionally, UX improvement are hanging behind legacy code that's become hard to maintain.
NOTE we will try our best to not break compatibility. This is not meant to be a compatibility breaking update.
Please drop your ideas here, I'll try to organise them in a document.
Beta Was this translation helpful? Give feedback.
All reactions