3
$\begingroup$

I have a collection of different objects (for the sake of this example lets say a sphere, cone, and cube) as separate objects in the same collection named "primitives".

I want to be able to draw a bezier curve and have my cubes, spheres, and cones duplicated along it, chosen randomly (kind of like how you can assign a hair particle system to randomly select objects from a collection).

Is this possible? Bonus points if I could then rotate and scale randomly while instanced along the curve (again, like the particle system) Thanks!

$\endgroup$

1 Answer 1

7
$\begingroup$

This is actually a task that is made for Geometry Nodes.

If you simply use your curve as base geometry, and subdivide this curve with the node Resample Curve according to your wishes, you can instantiate objects from a collection on the curve points.

You get the objects themselves with the node Collection Info, and if you activate Separate Children here, the objects from this collection are treated as single objects.

Then just use the node Instance on Points and feed the input with random values.

In addition to this, the option Pick Instance is activated in the node Instance on Points. This will randomly select certain objects from the collection depending on which integer value you feed into the input Instance Index.

enter image description here

$\endgroup$
4
  • $\begingroup$ that's amazing!!! +1 :D $\endgroup$
    – Chris
    Commented Jul 2, 2022 at 8:00
  • $\begingroup$ @quellenform this is exactly what i needed, thank you! Great explanation too. $\endgroup$
    – h_sharp327
    Commented Jul 4, 2022 at 20:37
  • $\begingroup$ @quellenform follow up question, I have my to-be-instanced objects away from world center, and each in their own location (not sharing same world coordinates) so they are easier to model and edit. When I apply the collection to the geometry nodes along the curve, the nodes are taking into account this offset. Is there a way to have thhe nodes ignore this offset and place the instance directly on the curve, as if the meshes were at world center? I'd like to keep them where they are in world space if possible. $\endgroup$
    – h_sharp327
    Commented Jul 4, 2022 at 20:40
  • 1
    $\begingroup$ Nevermind, figured it out! Checking "Reset Children" on the Collection Info node places them directly on the curve $\endgroup$
    – h_sharp327
    Commented Jul 4, 2022 at 20:46

You must log in to answer this question.

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