Sorry if this is something really obvious, I'm sort of new to geometry nodes. I have a simple geometry nodes setup that distributes picture frames on a mesh. These picture frames also have a procedural slashing effect with different values that control the effect. I can't for the life of me figure out how to control the material with geonodes... For the geonodes setup, I have the modifier applied to a cube. It uses "distribute points on faces," "instance on points," and "rotate instances" to place the portraits. For the shader, there are 5 values I want to be able to control, all floats (unless there's an easier way to randomize the images? My current idea is to input a random float, and then determine the image based on the value).

My geonodes setup

enter image description here

I've been trying to figure this out for a while with no luck, so any help is appreciated ^^'


1 Answer 1


Using geometry nodes, you can set attributes on shaders for any value type, including floats.

First, add an output to your Geometry Nodes group.

geo node output

Second, in the Geometry Node settings, create a new attribute for the output.

geo settings

Third, capture the attribute in the shader.

shader settings


Here's a demo of it working: demo

  • $\begingroup$ I'm not sure why, but this didn't work for me. This is my blend file. If you could check it out and tell me what I'm missing, it would be very very very appreciated $\endgroup$
    – Alex S
    Aug 16, 2023 at 12:56
  • $\begingroup$ NVM, I got it! The solution was surprisingly easy, I just had to use object info in the shading editor $\endgroup$
    – Alex S
    Aug 16, 2023 at 16:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .