Fields and Anonymous Attributes [Proposal]

Yeah, more nodes means more data, and more results in the search menu, making it harder to find a specific nodeā€¦

I would much prefer fewer multipurpose nodes than more nodes that only do one thing.
But then again, people have hated attributes from the very start as they are supposedly ā€œunintuitiveā€ even with the search feature.
Thatā€™s not to say that I donā€™t like fields (I think they are very quick and easy to work with ) , but Iā€™m okay with using a string input every once and a while.

There are a few more nodes I would like to see merged, such as point separate and delete geometry. I also think the position, normal, and index could be merged into a single geometry info node.

1 Like

I believe the idea is to make the system less dependent on the store/extract nodes. I do think we can keep the store/extract nodes just for some user freedom, but idealy the users should not be forced to use a string input for attributes in the Field workflow. I think we are heading towards a direction where store/extract becomes optional and more of a user freedom thing.

It is needed very often indeed, especially in modeling. You can select part of the mesh and scale the part with this node. You can do solidify by using the extrude and move node with a set position node afterwards (although it would be more ideal for extrude and move node itself to accept field input). You can do displacement wth a noise texture and a set position node. It is indeed used very often.

I think the reason for them to be seperate should be avoiding nodes with large and chunky UI, I think putting them in one seperate category should be good enough

This suggestion was inpired by another earlier suggestion of the geometry info node, but Hans didnā€™t like that idea, so I suggested a seperate category instead.

2 Likes

When will field branch merge with master branch?

It has already been asked:

Itā€™s probably going to be merged this week (since the quote was last week). Excited!

3 Likes

Hello,
Iā€™ve been playing around with the index node and wanted to provide some feedback, so I recorded a video about it, you can watch it here:

Topics are:

  1. Get the Count (or Last Index)
  2. Reading the attribute of specific Index
  3. Storing and using that as a ā€œconstantā€ variable
  4. Transfer attributes via index

P.S. it is debatable if itā€™s better to get the Count or the Last Index. For most math weā€™d want to use the Last Index instead of the count, which is count - 1.

8 Likes

Hey there is a new Temp Geometry Nodes Fields Build Today! :star_struck:

Whatā€™s new? @jacqueslucke @HooglyBoogly

edit: I just noticed that itā€™s not the prototype anymore, I guess Itā€™s the merge with master test? Iā€™m testing right now!

8 Likes

I just downloaded it but cannot find Extrude or Store Persistent for example :frowning:
I thought I may have downloaded the wrong build but maybe the merge hasnā€™t happened correctly?

https://developer.blender.org/D12414
image

11 Likes

Trying new field nodes.

Spherify

9 Likes

And so it begins. The first fields commit to the master branch.

https://developer.blender.org/rBbf47fb40fd6f0ee9386e9936cf213a1049c55b61

12 Likes

Hello,
I have a couple of questions with the new build.
The Attribute Extract node is missing, is there something that replaced it?

Iā€™m finding the new input nodes arenā€™t working in many situations. I assume the fields arenā€™t working with every node yet, but Iā€™m reporting it just in case. For example, shouldnā€™t this work?:

Iā€™m feeding the normal into the Align Rotation to Vector node but it doesnā€™t do anything. I know that we could use the normal attribute instead, but shouldnā€™t it be working? Position or Index nodes also donā€™t work.

Another question is, how would we move instances along one of their axis? For example here:

Iā€™d expect to get the instance axis with the Attribute Extract and use that to add to the positions, but there are a couple of issues:

  1. as mentioned Attribute extract isnā€™t there
  2. Which Point attribute defines the orientation of the instances? There is a Rotation attribute but thatā€™s only 1 Vector. Is it Euler rotation relative to the group input object?
    In General, I think there should be an easy way to get this kind of Vector data out of the Points / Instances.

Is there a more obvious workflow for this that Iā€™m missing?

The files are here for convenience:
normal_not_working.blend
move_along_axis.blend

We need to give them time
they need to re-implement everything from scratch in the main build

2 Likes

I think because of this:

Curve Circle, Star and Quad have no Start- and Endpoint. Is this intended?

Yes because these curves are cyclic, cyclic curves donā€™t have start nor end point since they are looped. Whether a curve is cyclic or not is a boolean attribute that can be modified with attribute fill/store named attribute node.

When to join the crush split node

Do you mean fracture? Is there a patch for that? I donā€™t think itā€™s going to be in 3.0.

Here is a list of goals made by Hans regarding Geometry Nodes in 3.0. You can take a look if you want to know whatā€™s coming.

4 Likes

Are there any chances that attribute transfer/fields substitute will allow to transfer float values so that we can make custom animation once then instance object and trigger custom animation with proximity node, for example to the 3.0 release?

Not sure if off topic or not. But, with this new method/geo nodes in generalā€¦ is there a way to do an ā€œEdit Polyā€ type node setup/modifier?

Mainly Iā€™m thinking aboutā€¦ if I wanted to mirror SOME faces, but not ALL, for a lowpoly. Like, mirror some side faces, to share UVs, but keep top faces Unique, that player may see in FP view/ADS on a weapon.

Right now I have to detach faces into a new mesh/mirror, or re-assemble things after the fact/canā€™t do in a modifier that I know ofā€¦

This is all very exciting stuff though! Great work!

Not sure if Iā€™m interpreting you correctly but hereā€™s a setup mirroring the ear of suzane (here the mirroring is done by scalling -1 in the x axis, for more complex situations this would become a bit more complex accordingly):