0
$\begingroup$

I'm having a little problem right there:

I have 5 different rigged zombies with different animations, so in the outliner they're armatures with a child mesh of the zombies:

in the outliner they're armatures with a child mesh of the zombies

What I want to do is scatter them on a plane randomly, either with a hair particle system, or a geometry node distribution.

My problem is in both cases, if I take the "Zombies" collection as a the source and ⚠ I don't want to use "whole collection" as I want each of them to be randomly scattered, not the group as a whole ⚠ , the particle system (or geo node distribution) actually goes a bit too far in the separation process and scatters the armature separately as it's own object ! enter image description here

Is there a way of doing what I want, which is to non-destructively use the armature and it's child mesh as one object in the collection that the Particle system (or geometry node point distribute) sees ?

I could "use count" in the particle system and remove the armatures, but it's tedious and doesn't scale well (and more of a workaround as well), also I really want to use geometry nodes instead and there's no such option (yet) anyway.

Right now I'm just trying to scatter each "object" mesh separately on it's own particle/hair system or geometry node point distribute but it's also tedious and is gonna be a pain if I start to introduce even more different zombies.

I don't know what to do so if you have any idea I would love to hear !

Thanks you guys

$\endgroup$
2
  • $\begingroup$ Could you move the armature to a different collection? $\endgroup$
    – Nathan
    Commented Jul 11, 2021 at 20:05
  • $\begingroup$ @Nathan I can't really do that as it seems to remove the link between the two, but what I did was to link (shift + m) the meshes only in a separate collection, which worked well ! $\endgroup$ Commented Jul 12, 2021 at 21:57

2 Answers 2

0
$\begingroup$

Your problem is very simple : When you uncheck "Whole Collection", the point instance node will instance a random object contained within itself, regardless of the parent hierarchy. It only sees a list of all objects that it contains, and no parenting structure. That's why it sometimes instances the mesh, and sometimes only the rig.

Currently the only solution I see is to use sub-collections, as in this case the Point Instance node will instance the whole sub-collections.

Here are my 3 sub-collections within my master collection :

enter image description here

And the instanced geometry using a plane :

enter image description here

$\endgroup$
2
  • $\begingroup$ Hey thanks for the suggestion, what I found worked alright as well was to just link the meshes only in another Collection and use that one ! $\endgroup$ Commented Jul 12, 2021 at 21:56
  • $\begingroup$ @LeoMozoloa Yeah that's another solution ! Hopefully in the future we'll have filtering tools in the point instance node akin to the particle systems $\endgroup$
    – Gorgious
    Commented Jul 13, 2021 at 6:23
0
$\begingroup$

Placing mesh geometry in a separate collection works, to a degree. I have a very similar problem (trying to generate randomized rigged characters with a particle system or geometry nodes) and discovered that the separate mesh collection scheme is rather limiting in that all of the mesh instances reference the same armature.

Meaning, the armature (which does not get duplicated along with each copy of the mesh) globally drives all of the generated mesh instances, so they all do the exact same motion in unison. Effectively, this method resigns each copy of a particular character's mesh to inexorably "march to the beat of the same drummer"; that drummer being the common armature which they all share.

It appears to be impossible to randomize the animation of the rig for each instanced copy of the mesh without actually duplicating the armature along with it. For example, if you wanted each zombie's key-framed locomotion to be offset by a few frames using a random value generated for each instance (so that they are not all walking in-step with one another) you would need each copy of the mesh to also have its own discrete copy of the armature associated with it. In cases like this, we really do need a way to generate copies of combined dependent entities, like a rigged-mesh and its armature.

$\endgroup$

You must log in to answer this question.

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