7
$\begingroup$

I'm currently doing some proof-of-concept work for a Lego-style music video with a rock band on a stage in front of an audience. My idea was to use boid particles to simulate the crowd but I'm already facing several fundamental problems:

  • What do I have to do to actually prevent my boid meshes from intersecting? Even when I set the "personal space" to the maximum, my minifigs are still moving through each other... (and I've got both "Separate" and "Avoid collision" in the boid brain) - I already tried adding a force field to each particle but, while this indeed causes the particles to repel each other, repelled boids will then still be pushed through other boids.

  • I want the crowd to generally "gravitate" towards the stage side of the arena, but not towards a specific point (though the attraction should probably still be a little stronger near the center). I already tried using a stretched cube mesh (with applied Scale) with a boid force field with the shape set to "Surface" but the boids still only move towards the origin of the goal object. How would I accomplish a more general tendency to keep moving in a global "direction" rather than toward a point?

  • How do I get the boids to (mostly) keep facing the stage and not turn away from it so much when moving around? So far, I tried a Locked Track Constraint on the particle meshes but, while this does make a difference compared to not having that constraint, the audience is still nowhere near as "focused" on the stage as I would like them to be.

I'm starting to wonder whether boids really are the way to go for this.

Update: Looks like I've kind of solved two out of those three (I will post the solutions as an answer later in case anyone else stumbles across this). What remains is the issue with particle/mesh intersection.

$\endgroup$
7
  • 2
    $\begingroup$ Could you add a picture? $\endgroup$ Dec 21, 2016 at 14:40
  • $\begingroup$ @Faceb: I'd love to but for some reason SE is telling me that imgur is rejecting my uploaded picture... I'll try again later in case it's a temporary issue. Anyway, on the picture you would simply have seen a bunch of lego minifigs effectively fused together into one big mass (i.e. collision prevention is not working as expected/desired). $\endgroup$ Dec 21, 2016 at 15:44
  • $\begingroup$ OK, now that the question title has been changed, I guess it wouldn't really make sense to add a full-fledged answer for the remaining two issues, so here goes as a comment: 1. Using the non-spherical mesh with the force field DID work after all. It just wasn't apparent until I increased the number of particles. 2. I'm actually not entirely sure how I solved the rotation issue but it's no longer happening (or at least not in a way that is compromising the desired effect :-P ) $\endgroup$ Dec 21, 2016 at 16:04
  • $\begingroup$ You can edit the title of your question if you think it doesn't represent the problem (although I think it represents very clearly one of the issues so you could add to it several words). Of course adding the answer when you don't really know why it worked is not the best way however at least you can write what worked for you and on what setup. $\endgroup$
    – Mr Zak
    Dec 21, 2016 at 23:22
  • $\begingroup$ AFAIK you particle systems in Blender do not have collision avoidance. $\endgroup$
    – J Sargent
    Dec 22, 2016 at 4:06

1 Answer 1

1
$\begingroup$

You can use CrowdMaster to simulate the stadium correctly. You can view a nice example of this kind of scene in this video: https://www.youtube.com/watch?v=kmjfbEGzX6M

$\endgroup$
1
  • $\begingroup$ I know it's a bit late but I was just rereading this and wanted to add (even though the project that prompted my question has since been abandoned): That's not the kind of crowd I was looking for at all. The people in that example shot are all stationary in their seats. I was looking for a more "dynamic" audience like you'd find at a rock/metal concert (think mosh pit)... $\endgroup$ Jan 2, 2023 at 13:34

You must log in to answer this question.

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