Geometry Nodes

I don’t know. I mean attributes but pretty much everything to be honest in order to make our lives easier.

For instance:

  • vertex/faces/edges index numbers;
  • visualize map range/color ramp values and its influences on the geometries/instances;
  • preview just a part of the node tree;
  • a point display system on curves (for instance) without the need to use dummy primitives and Instancers nodes;

Sometimes is real hard to work without proper visual feedback. Just imagine weight painting using only numbers and the viewport resulted mesh but with no color gradients.

2 Likes

I like your points about visual feedback. The viewer node is a start, but something like an overlay node, where you could somehow enable → show normals/indices/tangents… for different domains like in the edit mode overlay options. that would be very helpful.

The experience of using the String to Curve node in Geometry Nodes feels broken.

It is very difficult to get instance data (position, index, id, scale, rotation) into text strings. It’s even hard to pass a random number into a text string.

There is so much potential for making amazing text-based procedural work in geometry nodes, but the limitations of the String to Curve node make it nearly impossible. I realize this has to do with the fact that it is field data, but this kind of thing works with other instance-based operations, so I would imagine it is possible here.

If instance data (and random/noise data) could be easily passed into a String to Curve instance it would be an incredible tool for things like future UI and motion graphics work.

Thanks for listening to my rant.

1 Like

Working on a long-term project, trying Geometry nodes for scattering stylized character fur. Overall potential is impressive, but I’ve Stumbled upon inability to get polygon orientation for scattering. I guess a UV tangent input would come in handy.
Any clues on if it could be implemented in neari-ish future would help with some decisionmaking.
Also - if anyone has any hacks on how to calculate one :slight_smile:

I believe the rotation output of the distribution on faces node is what you are looking for.

1 Like

Thanks. Been there, done that. Unfortunately rotation is calculated based purely on normals/object Z. Deform the geometry and those will change. The correct term probably is “spin”. That is - the instances will maintain rotation to normals, but the spin around normal is controlled by tangent to Z. To lock spin to geometry one needs a tangent to a property of the face (UV usually).
But it seems the DIY solution is somewhat possible: Extra Nodes for GeometryNodes - #2 by Strike_Digital if the required data can be accessed from Python.

1 Like

Its possible to calculated tangent that points to face edge and use that to lock spin, here is setup:

5 Likes

You could have an array of objects (empties), weight them according to distance and orient the instances according to the resulting vector. I am working on the same problem as you currently (feathers on a bird), and am looking for a better solution as well.

3 Likes

How do i create UVs that can be used for weight painting vertex groups? The best i could find was some rumours about a “bounding box trick”, but not more. Is it possible to draw maps on vertices and use them in GN, without using an unwrapped primitive mesh?

Try use transfer by nearest

?
If there is only a GN mesh primitive grid? Transfer from what then? Sorry if my questions sounds silly. I wouldn’t ask if it was clear enough.
My situation: I have a terrain asset without UVs and want to weight paint a displacemant for a river bed. And since i want to be able to share the asset on a single-object basis, i can’t just provide an additional default plane just to borrow the UVs from it.

Doesn’t work…

If you are using UV I’m not sure if it should be a scalar
Also, it looks like not correct work, which is strange
but I could misunderstand what you are doing

In theory, you simply don’t have a general analytical method to transfer attributes correctly unless you know that the geometry is identical ( by index ) or at least similar to (by nearest)

I don’t really understand what you mean, but it seems to me you want to weight paint in point generated by GN and then use that vertex groups as input for the same GN.

Which is of course impossible, so that’s probably not what you mean ;-). You can’t weight paint on the output points of GN without first applying the modifier. If that were possible every chaneg to the GN tree would wipe your painting work.

A question: Why was the Edge Angle slider removed from Edge Split (now called Split Edges) node in 3.0?

It’s now part of a more general node called “Edge Angle”. That means you can use the edge angle wherever you want, not just as part of the split edges node.

2 Likes

Does a node that would recalculate/flip normals exist? Or is there a way to manipulate the attributes to get that?

In 3.1, there is a flip faces node that lets you flip the normals of a face. As for recalculation, it may be possible to use raycast and select only faces that are pointing in the wrong direction. That would be extremely complicated though.

I think the long term solution would be to add a “backwards” boolean output to the face normal node, and you could use that to flip only faces that are backwards after an automated calculation.

1 Like

Seems to be working fine here. Maybe you are expecting the “top” selection to be physically on top? In the extrude operation the “top” face is not necessarily on top, top here means the new faces not directly adjacent to the original faces (sorry if this is too confusing, english is not my first language).

1 Like

I would find useful to have an option to enable / disable a node according to 3D Viewport Object Interaction Mode.
In my case I would like to have Realize Instances node enabled in Object mode (for better preview performance), but disabled in Vertex Paint mode (for better editing performance).

Is it currently possible? If not, do you also think such feature would be useful?
I can imagine much more use-cases for this.

1 Like

Whenever I try to use geometry nodes I always encounter the same problem. How do I take an implicit data from the mesh and modify it? And I always get lost looking for how to do it.

How can I just take the normal of the object and invert it? I don’t understand, it should be easy, but I can’t find a way to take an attribute from the mesh and modify it. Wasn’t this something simple in early geometry node designs?