Geometry Nodes

https://wiki.blender.org/wiki/Source/Nodes/Modifier_Nodes

Reserved-name attributes are attributes that nodes expect to operate on. For example, the Point Instance node expects its input to have position , rotation and scale attributes.

  • density
  • id
  • radius
  • rotation
  • scale
  • temperature
1 Like

Good to know! Thanks.

I tried to separate points based on height using the displacement texture, but I get a wrong result. Looks like the Attribute Sample node creates attributes that are offset from the displacement texture on the surface:


Is this a bug or am I doing something wrong?

2 Likes

There’s the “position” attr that you can use for that :thinking:

I can confirm this. I also tried to use displacement modifier and Attribute sample texture node on the same object. It looks like they applies a texture differently. Changing coordinates parameter of displacement modifier did not improve the situation.

Should not the Attribute sample texture node and other modifiers have opportunity to unwarp a texture in the same way?

1 Like

I thought about using that, but I can’t figure out how to compare z position only. Either there’s some new type of math, that I haven’t heard of, for comparing vectors or Attribute Compare is broken… It’s really hard to troubleshoot without some sort of attribute inspector.

I doubt it’s an issue with unwrapping, because image textures work correctly.

Location is a XYZ vector, there’s some separate vector node coming, also you can try to multiply by another vector such as (0,0,1),then doing a sum of some sort for example.

Dot product with 0, 0, 1 will give you Z coordinate float, like this

6 Likes

Hi, are there any news in regard of converting the generated instances into an actual object (mesh), so it can be exported to a game engine? Does it work well even for large number of instances?

You can already convert instances with CTRL + A, Make Instances Real.

1 Like

Hey all, the docs have updated and I can finally share this page with you: it’s meant to be a reference for all of the attributes used implicitly by nodes: https://docs.blender.org/manual/en/2.92/modeling/geometry_nodes/attributes_reference.html

Maybe that’s helpful, at least until we get a search drop-down.

7 Likes

Thanks for the hint. So does this mean that Attribute Compare doesn’t compare xyz values separately, but combines them into one value somehow and then does the comparison?

Yay for docs! Here’s a bit of feedback for them though:

  • The “naming convention” section is kind of weird. Those seem like built-in attributes to me?
  • How to call out nodes should be consistent. On the page there is both the grammatically incorrect ... in the Point Distribute to ... as well as the much better ... created by the Point Distribute Node in... I think the inclusion of Node or just node would read better in all cases.
  • The notes are oddly asymmetrical. The naming convention section usually describes where the attribute is used like Used in the Point Distribute... but the top section is worded differently. Maybe have an explicit “Used by” example section for each note consistently?
    • “radius”, “Float”, “Controls the size of points in the viewport”, “Used by: Point Distribute node” etc.
    • “id”, “Integer”, “Provides a stable value for random calculations. Mostly internal use only.”, “Created by: Point Distribute node. Used by: Attribute Randomize node”

Great ideas, thanks a lot for the feedback!

What’s the difference between builtin attributes and naming convention ? What’s the difference between radius and scale ?

Built in attributes are attributes that cannot be removed, and the data will always have them. Naming convention attributes are used implicitly by nodes, but they’re just like any other attribute, and you can add them and remove them.

  • scale is assumed to be a vector type.
  • radius is only built-in for pointclouds, where it’s assumed it will have a float type.

I understand. The way they are separated in the table right now does not seem totally clear : “naming conventions” just sounds like “good practice for users” -it’s not clearly communicated that they are for internal use. Maybe your explanation (the one I’m replying to) could be added as a paragraph before any of the tables ? I’m more technical than most and yet I had a little trouble figuring out what to make of it, I would encourage a little more verbosity.

Additionally, isn’t that paragraph incorrect ? ->

  • Used in the Point Distribute to control the rotation of instanced objects or collections.*

That would be the Point instance node, no ?

In any case, I welcome the effort on documentation. It’s a big leap Blender is taking with geometry nodes and it’s important to have good docs.

Yes. I’ll think about how the page could be reworked. Some of this stuff will be changing soon anyway. Apparently I never proofread this… thanks.

We’re the proofreaders

4 Likes

You can already convert instances with CTRL + A, Make Instances Real.

How does it handle thousands of instances?