0
$\begingroup$

I'm not sure if this is possible, but I feel it should be somehow, but I want to fill a volume with instances with random rotation without clipping. Ideally, if clipping occurs, objects would be rotated to an orientation that it doesn't. I've tried rigid body sims, but I can't seem to get it to work properly (likely do to the shape of the mesh being concave) so now I'm trying with geometry nodes, but I can't sort it out.

the goal is to have fake fingernails randomly distributed in a box at least somewhat realistically. please help

edit: the top picture here is done manually, and is the kind of result I'm hoping to achieve. the bottom is the geonodes result (distribute points in volume with random value on rotation) manual distribution close to desired result

randomly rotated instances on points distributed in volume

Edit: using manually placed objects as basis for rigid body sim seems to give satisfactory results, but I would still like to know if anyone it's possible to achieve the desired outcome through geometry nodes without rigid body

$\endgroup$
2
  • $\begingroup$ Unfortunately, the answer to the question "Is this possible with Geometry Nodes?" is currently quite clearly: No. For simpler shapes and with Simulation Nodes, it might be possible to produce a reasonably satisfactory result, but unfortunately there is no reliable method with Geometry Nodes to detect an intersection with complex meshes and to react to it (in this case). ...for that you either use Physics, or Houdini. $\endgroup$
    – quellenform
    Aug 3, 2023 at 10:26
  • $\begingroup$ oof.. Sad to hear that, but thanks for saving me from a wild goose chase $\endgroup$
    – lzro
    Aug 3, 2023 at 22:06

1 Answer 1

0
$\begingroup$

Similar to "randomly distribute objects over a plane" Here's a python script that can be a basis for your solution. Testing a test placement with the method obj.bound_box against the volume boundaries. Of course if the volume is a mesh with complex vertex locations (as compared to a simple cube) could be quite challenging.

$\endgroup$
1
  • 1
    $\begingroup$ Thanks for the info. I'm not sure this will do what I'm looking for (again, not even sure how possible it is), but I'll try it out. going to add some screenshots $\endgroup$
    – lzro
    Aug 2, 2023 at 18:17

You must log in to answer this question.

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