Geometry Nodes

It kind of exists with Attribute vector distance. and attribute mixing. E.g. take dist and mix with scale or rotation
image
Is this what you mean?

You can try map range attribute, colour ramp, or scale your distance with a math attribute

1 Like

Unfortunately, you can not do anything to that. There’s no way to check if the point is inside a volume.
Not for now as far as I am aware.
So, the Proximity node measures only a distance from the zero-width surface.

Although, depending of your setup, you could project the geometry with the Srinkwrap midifier prior to Geonodes.

Hold on! I made it… The setup might be unreliable though, but it’s the possible way around.
The intersection between closed geometry and a thin surface is (mostly anticipated) a slice of thin surface…

1 Like

Smart idea! Thanks.!
It works good, a bit heavy to compute though.
1|690x441

1 Like

There also should be a better solution exploiting those two things, I feel it. But can’t think of anything… =(

Recently I’ve been looking at autocad clones, and I found out that for simple tasks they’re so similar that you don’t even have to ask yourself what you’re using. The commands and the interface are identical, so training time is zero.

This brings me to the question: is Blender copying from any other software? And since the answer is no, why not?I’ve looked at the astounding number of nodes of Houdini, and it’s obvious that they have made some real planning to include all the possible geometric transformations without too many duplicates. Houdini for example has an additional area where you define all the fine tuning parameters for each node, while in Blender there is none.
In Blender, the rotate note could benefit from an area where you can define other parameters, who knows, for example the pivot point (vertex, center of a face, etc). The same for the translate, why can’t it be defined by explicitly selecting faces or nodes as reference points?

I just want to be curious, not obnoxious, so I’m asking if the node development follows just the goal of making the movie (with all its subtasks), or if it is being developed following a path that developers have clear in mind. Just planning a series of nodes that enclose all possible geometric transformations seems a difficult enought task for me, seems something that could involve a theorem that demonstrates that all trasformations are possible with just some specific nodes, so I’m curious of the development planning for geo nodes. Thanks and sorry for the long post.

The development has settled to replace all stacks in Blender ( modifiers, constraints), logicbricks of physics of Game Engine and particles with nodes. That was the target mentioned as “Everything nodes” by them since 2015.

First, they wanted to replace particles with nodes.
So, they had to change nodes python API to enable easily ability to create custom nodes.
That allowed creation of addons like Sverchok or Animation Nodes.
Then, they tried to officially accomplish target to replace particles by nodes.
Author of animation nodes tried to figure out how to do that by creating a simulation nodes branch.

Task was seen as too ambitious. So, they started geometry nodes with simple target of just scattering assets for sprite fright movie and a call for contribution.


And they opened this thread for user feedback.

So, there is not just one human in charge of thinking about everything.
Developers initiated a primary goal and during the journey to that goal ; they are incorporating users suggestions and contributions.
Of course, users may have experience in Houdini, Cinema 4D and 3DSmax and lots of software offering nodegraph as 3d scene creation UI.
Here, on official Blender developer site, they are moderated to clearly expose features, they want to see supported, without mentioning other software tools to avoiding copyrights issues.

The goal is not to copy Houdini. Blender developers are trying to deliver something more modest that they could maintain with their limited manpower and resources.
If things may not be looking as smooth as solutions in other software, it is because project only has few months of existence and will require years to look as smooth.
Often, due to its open source nature and time of development, desired feature does not end-up looking like what people had in mind, at the beginning.

7 Likes

Given the complexity of this task, how can you imagine to offer a complete set of geometric transformations if you don’t plan to include all the already available basic functions? I have a civil engineering background, so things in software are surely different, but one thing is sure. I can’t design something whithout thinking about everything that people want, my projects need to be compatible with future expansions and with changes of use. If I have more money, I’ll add something, without redesigning everything, because it was already compatible, because I have already thought of everything.

Now take for example the rotation node. Why doesn’t it offer the same options of the standard transformation? We should have the rotation node, and then a window, like a modifier window, where you can define all parameters (rotate only this face around this numbered axis, along the edge, or rotate along this selected node etc). Instead we only have a small number of options. Probably this happens because the geometry nodes are being developed only by sprints? (displace some pebbles etc). Probably some fundamental nodes need a mathematical approach for ensuring that all possible transformations are available, or simply put in the nodes everything that was already available with the standard tool, like the pivot etc.
Blender’s geometry nodes transformations sets aren’t event feature-compatible with default transformations.

I don’t know much about copyright, but for sure autocad clones offer the same identical tools of the original, and the grammar of some languages is identical to other laguages developed by other companies.
So, in the end, if you don’t want to copy or improve another software, at least geometry nodes should copy blender’s default geometry transformations with all their options.

Indeed a pivot point exposed as a vector socket would be nice

2 Likes

So, what you are talking transformations is in fact the orientation of transformation.
That makes sense to offer such orientation presets for a user that will use gizmos or mouse movement relatively to viewport focus.

But there is no need to offer all these options in geometry nodes that are relying on values.
Currently, nodes are offering absolute orientation (corresponding to global axis), relative orientation (corresponding to local axis) and a custom orientation (corresponding to axis of any object).
An object orientation of an object that can be rotated in viewport with any transformation can correspond to any transform orientation.

So, what is already possible with actual tools is transferred to geometry nodes in an easy way.
Geometry nodes are another layer added to existent tools. That is not a new thing erasing everything that precedes them.
So, here, your suggestion to create a redundant UI is not efficient.
It is a waste of time, resources about duplicating everything you are familiar with, without questioning usefulness of such doubles.

It is pertinent to be able to precise a component orientation relative to an edge normal, a face normal or vertex normal.
That does not make sense to have an orientation relative to View or 3D Cursor. You can already as an orientation relative to a camera or an empty that are an object.
And actual vector nodes should allow you to create Gimbal orientation.

1 Like

Let me make an example, SAP is a fem software designed probably in the sixties. Fifty years ago you could define a vertex, give it a name, and the apply loads, geometry etc. Some years later, in a blender geometry node, I’d like to be able to call a face/ edge/ vertex by its name (user label or internal ID), and decide to do something with it. In geometry nodes transformations we need labels, we need a layer of abstraction, we need to give a name to entities and to perform actions on them, at least the same actions available in the standard blender tools. Do you want me to measure with tape approximate coordinates and then build something with approximation errors? That’s wrong, that’s wrong because you change the geometry and then you lose you pivot point. I must be able to input numbers if I choose to do so, but I also need, for simplicity, and for precision, to be able to choose elements, with a mask, or by calling them with their ID.
This is not a post about rotation.

In geometry nodes you need - at least - to be able to replicate what you already did with the standard tools. I talked about rotation just to give an example.
Geometry nodes will have node modifiers too, you will need a frame to input exactly the same functions of the modifier. The same frame/window, call it as you want, needs to be available for geometry nodes, for all the standard transformations, for all the basic blender commands.

Blender is not a CAD or FEM software and role of geometry nodes is not to change it into a CAD or FEM software.
Their role is to bring procedural modeling to artists, not to engineers. Engineers already have thousands of opensource CAD software to play with.
Graphical artists and animators only have one Blender to play with. And it is not expected that they obtain a degree in engineering to use it.
Artists don’t care about approximation errors as long as render is not ugly.
That is the reason why Blender is unable to display more than 6 digits.
If you want precision, you are just not using the right software.
Seriously, we don’t create meshes in Blender to extract mechanical properties of a physical object.
We want to create them as light as possible to render them as fast as possible.

That being said, most of users don’t need to name vertices and are fine with indexes. And when they are not : they are used to create empties and create a hook between an empty and a vertex.
You don’t need to wait years to label a node or ID. Any node created has a label, a node and an ID.
You just have to display Node properties Tab in Sidebar of Geometry Nodes Editor.

If your pivot point is an object node, you can’t loose it. If it happened because of a step in nodetree, you
just have to create an other connection to this node, further away in the tree.

From where comes that wrong assumption that you can’t do that with current nodes ?
You have at disposal, Value nodes to input numbers, ability to create vertex groups and attributes, Separate and Math nodes, abilities to use textures. Just follow some tutorials and you will see that there are already a lot of ways to create masks and isolate elements.

A nodetree of Geometry Nodes is a GN modifier. Currently, you can stack derivative of that nodetree by adding a following GN modifier.
You can reference an object using Geometry Nodes as a node inside a Geometry Nodes tree of another object.
And like any node system in Blender, you can create nodegroups of geometry nodes reusable inside same or different nodetrees.
Blender has shading nodes and compositing nodes since decades. Blender developers are not totally ignorant on the subject.

2 Likes

LOL. This ends here.

1 Like

Two reminder are needed here

  1. blender is used in many kind of different area of 3D, the software itself is called “blender” for a reason :wink:
  2. this is becoming offtopic please stay in subject

Cheers :slight_smile:

2 Likes

Is there a way to adjust viewport display vs render display? Would be great to get that option into geonodes to make sure the viewport remains workable.

Did Vertexnormal attribute get removed I can’t find it anymore in the search?
Otherwise how to translate vertex along their normals?

Please refrain from personal arguments, stay on topic and respectful, thanks.

2 Likes

You should be able to do that using Is Viewport node.

1 Like

Is that what you’re looking for?

3 Likes

Bingo! Precisely what I was looking for. Thanks

2 Likes

Geometry Nodes → :heart:
This simple setup is good to use also for the LOD system.
Especially, if you add a camera object info and measure the distance between it and the object.

3 Likes