← All ideas
  • Published 29 Jul 2024

Accessing an Object's Custom Properties via Geometry Nodes

What?

Currently, there is no way to use an object's custom properties in Geometry Nodes.

Why?

As previously stated, there is currently no way to use an object's custom properties in Geometry Nodes. Not only does this include other objects, it also includes the Self Object . The "best" way to get around this issue is with Drivers, but that means you can no longer support an arbitrary amount of Objects in your Geometry Nodes modifier, since you would have to set up all the drivers beforehand.

How?

I propose a new node: Custom Property. Given an object, the type of attribute, and the name of the attribute desired, it will output if that attribute exists, and if it does, also the attribute in question.

Screenshot 2024-07-28 220751.png

Problems that need to be addressed:

  • Geometry data can also have custom properties.
  • Custom Properties can have types that are currently supported by Geometry Nodes, such as Arrays and Data Blocks.
100%

Development Status: Open

Upvote 14 Downvote 0
radzo73
29 Jul 2024

4 Comments

agent_53

Absolutely, in addition to the above node, offering object Domain as an option for the store named attribute should be considered.

In a fair few projects I have wanted to control shader effects using a geometry node tree and anything volumetric doesn't work unless I turn the geometry into an instance, robbing any further use for materials, since volumes can't access the attributes stored on any of the geometry domains.

cmbasnett

I also need this for a project of mine that is storing metadata about materials.

Because any data block can have these custom properties (not just Objects), my idea is to create a new "ID" socket type (this is the name that data blocks use internally). Materials and Objects could be automatically converted to an ID socket.

This Custom Property node would then take an ID socket instead, and it could be used on Objects, Materials and anything else ends up being added to geometry nodes in the future that can be converted to an ID socket.

ptkmgr

It will be a very smart node.

xenwildman

This is very much needed to be able to create smarter objects.