I am trying to make a procedural bookshelf that can be modified by some parameters I input. I was able to create the book with these variable parameters and duplicate it like an array modifier, but I don't know how to make each duplicate to have random values for each individual book.

enter image description here

enter image description here

This is what I have so far also I would really like to know why the Combine XYZ node doesn't transfer the data to the transform node.

  • 1
    $\begingroup$ There's a full tutorial on doing that here Part 2 covers the randomizing and fitting to a bookshelf section. I think it uses Blender 3.5 though. $\endgroup$
    – John Eason
    Commented Mar 18, 2023 at 12:40
  • $\begingroup$ @JohnEason I was just looking for the link myself, I would recommend the tutorial for this (CG) matter as well 😁 $\endgroup$ Commented Mar 18, 2023 at 12:53
  • $\begingroup$ Thank you, I did watch the video, cause that is how I started working on this project, but in his version he is making them appear with the frame count, and is using simultation nodes, which don't work in my case, cause i need to imput the no. of duplicates separately, but thanks for the answear, much appreciated. $\endgroup$
    – Misuuu
    Commented Mar 18, 2023 at 17:27

1 Answer 1


You could convert the geometry of the book into an instance with Geometry to Instance, duplicate it with Duplicate Elements, and then modify it with the Scale Instances and Transform Instances nodes.

Something like this:

enter image description here

To answer your question, why you cannot use the mode Combine XYZ in this way:

The node Transform requires a single value, but Combine XYZ in this case returns a field, i.e. multiple values, because of the preceding nodes.

Here you can read more about this topic:
Why is there a red line when I try to connect one node to another?

  • $\begingroup$ Thank you so much, this solution actually worked, and thanks a lot for the explanation as well. $\endgroup$
    – Misuuu
    Commented Mar 18, 2023 at 17:25

You must log in to answer this question.

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