2023-11-28 Nodes & Physics Module Meeting

Check the overview thread for more information about the meeting.

Present

  • Dalai Felinto
  • Simon Thommes
  • Lukas Tönne
  • Hans Goudey
  • Jacques Lucke
  • Iliya Katueshenock

Meeting Topics

  • Gizmos
    • The limitations of the backward propagation for determining which values to control
      • For example, controlling a spherical coordinate element of a vector (in this case it was the length node that stopped the gizmo propagation)
      • It should be possible to pass through any node with an invertable function
      • There might be a specialized builtin gizmo for rotation inputs in the future
    • Different link display
      • Simon brought it up again, but it wasn’t clear that it is necessary
      • Link visualization might conflict with field link visualization
    • Transform output
      • When scaled with transform geometry node, doesn’t work properly
    • There should be a 2D drag gizmo
    • When a single value is connected to gizmos with two different derivatives, there should be some visible error
    • The gizmo icon should be displayed on all group inputs, not just the one connected to the gizmo
    • Add an “Active Modifier” gizmo display toggle to the gizmo popover in the 3D view
      • We may need more precise (per object) display toggles in the future though
      • Maybe there could be an active tool that displays the modifier gizmos
    • Names
      • Linear and Dial gizmo work well enough
    • Shapes
      • For the linear gizmo, everything except “Plane” should stay
    • Size
      • The nodes should have an option for screen space or object space
        • In screen space, a “Size Factor” controls how large the gizmo is relative to the default
        • In object space, the size can be set in scene distance units. The object scale would influence the size.
  • Expressions
    • The variables / inputs should be stored similarly to the simulation/repeat items
    • The expression should be a string input
    • It’s not clear what syntax to use, but ideally it should be something similar to drivers
  • Volumes
    • A first PR will add a very basic grid socket
    • Simon had a use case
6 Likes

Please don’t remove Plane gizmo :')

It will be removed from the existing node, because the plane is supposed to control a 2D or 3D vector and not just a single float, which is what the existing node is for. It will likely be added as part of a separate gizmo node.

1 Like

Oh, math expression! Superb! Finally a superior math node! :slight_smile:

One thing though: Why not make the number of inputs dynamic, the same way as it is for node group inputs/outputs or the new “Index switch” node? That makes sense to me.

The input/variable names would then automatically be generated as “A, B, C, D…”, but perhaps could be changed in the node properties (N-Shelf) if the user really wants to. I think there is no need for that first line for variable definitions on the node itself.

Maybe there could also be a dynamic number of outputs as well! So, the user could write more than one expression, one for each output.

2 Likes

if the synthase are like Latex language ohh yeh

Does better collision detection and bake node still have a 4.1 target?

Math expression node look interesting.

Would this work?
(2.0).sqrt.sin.power(3.0) == power(sin(sqrt(2.0)),3.0)

The text input is very small. For longer expressions, it would help to have more lines or to delegate expressions to a text-block (edit it in Blender’s text editor).

But, still, exciting news.

1 Like

A god-tier implementation of gizmos would be a separate output node for the gizmo shape, with in input for the node location, etc. and the output would be a geometry, that would allow for very customisable gizmo renderers.

4 Likes

I totally agree with this!
I had this problematic while creating a feather tool with geo nodes.
I found a workaround by linking a geo nodes modifier with empties linked to an armature with custom bones shapes acting like Gizmos. As you can see there’s a lot of controllers, and the current gizmos options cannot replace them, because the controllers need to be visually explicit.

Having gizmos with custom-made shapes would be a must, and even better if they could be dynamic, (like text dynamically displaying the number of barbs on the feather)

here is the feather product page with all the controllers and GIFs (i don’t know if it’s allowed to post links here. If not, i’m sorry)