PDA

View Full Version : A still crowd... How you do it?


AlanSerra
05-02-2010, 12:04 AM
Hey everyone,

As straight forward as possible, how would you create a massive but very quite and still crowd of the same two-nurbs-sphere character?

I'm the rookiest rookie there is, but I've researched on a possible particles solution for this, which would be sketching them onto a plane and later instancing them and moving them about with fields or assigning animation clips to them.

1st problem: how could I sketch them around randomly whilst avoiding them being extremely close to each other (i'm planning to have a little over a thousand people crowd)?

2nd problem: as I want the crowd to move a bit away from one single guy in the middle (as if he had a bad flatulence disorder), what field should I use to cause that (but still keeping them on the ground as well)?

3rd and last problem: how to prevent each particle from running through each other (but also not making them bounce away like snooker balls)?

If anyone can help, I'd be very very thankful...

Cheers

Alan.

aghawa
05-02-2010, 04:13 PM
Well, I've never tried to use Maya for crowd generation, but a couple things that came in mind:

-The sketch tool will be tedious to use if you intend to sketch thousands of particles.
Just create a plane with an emitter that generates particles from the surface for a set period of time. Let it run, say, for 15 frames, then stop the emission, and those particles will become your crowd base.

-Create the ground plane that will act as your ground collider, and make the particles collide with that.

-Add gravity, and adjust the friction of the ground plane. You want the particles to "slide" as much as possible on that plane.

-Add a force acting just for a frame or two after the particles grounded, just if you want to have a principal moving force, like a directional force.

-To have the "bad smelling guy" repel the other particles, it depends on the fact that this character is a hero character or he else is a particle itself. In case it's a particle itself, just create this LONE particle with sketching, and use it as a source for a radial force (remember to use "Use Vertex" under the Special attributes on the radial force), adjust the force (volume is better, you can better adjust the falloff, the repel radius etc).
In case it's a hand-animated guy, just attach a force to it (parent it) so it moves with the character.

-Now the trickiest part (for me eh :P) - make the particles "interact" with themselves. Theoretically you could use a radial force on the particle system, use vertex (as above for the repelling guy) and make the radial force affect the particles themselves, but i don't know if this works. If it works that's good because it's easy to tweak the interaction parameters.

-Finally instance your characters to the particles.


-----------

This is with standard maya particles.
If you've got nParticles, you can use the self-collision thing to better make the particles mass and interact. Just make the nparticle radius as big as your characters need to be.

Of course those are just a couple tips that are not intended to be a tutorial of course, but should get you started! :)

AlanSerra
05-02-2010, 06:15 PM
Hey Aghawa,

Thank you very much for your reply, mate. I can see you really got the gist of what want... As I researched away, I could understand I was actually facing two big problems: the layout of the crowd and the motion of it...

I'm just not very sure why to create a ground plane as you suggested, as I'd already have created the plane I firstly set as an emitter for my ground base. I mean, the particles would be already stuck to it, wouldn't they? (maybe I really didn't get where you wanted to go with this) Well, either way, how would the "occupying the same space" problem be avoided as my particles are randomly created (I kinda need them to be apart from each other some units so when I instance them they won't look like siamese twins)? Maybe with the radial field affecting particles one another (as you suggested in the end of your post) long enough so they'll adjust themselves? I've actually run a test and if you set the conserve for the particles and the magnitude and attenuation for the radial field just to the right amount you will probably have particles respecting each other's personal space : )

The emitter idea is just great... however, for some reason, my nurbs plane I've set as an emitter isn't really emitting anything for some odd reason (I've tweaked the vertexes in it, you think it might be it?) :banghead:

I don't know if the radial field is the best option for the smelly guy (which won't be a particle, but a simple character) repulsing people away as I wasn't able to find the right settings that would affect more than the surrounding particles (when that happens in a real life crowd, you kinda have a domino effect to a certain point, isn't it?)... but I noticed I haven't tried adjusting the field to volume... will do that. However, I could have a similar effect with the newtonian field with negative magnitude and playing with max distance in the channel box (minim distance being 0 to guarantee the closest particles would move).

Anyways, you think I'd be better off using nParticles... everything is new to me and that tool does sounds like metaphysics, but I will definitely try it out, specially coz you made it sound very straight forward to handle...

Talking about straight forwardness, I guess I better stop, hehe

Thank you for taking the time to help me man. Any other replies on this will be very welcome...

All the best,

alan.

particlefx
05-02-2010, 08:50 PM
hi alan serra,

nparticle will do the job for you.

1.emit nparticle from the surface.
2.Make the emitter speed 0.
3.In nparticle attributes in collision tab turn on self collision,This will make the particle to repel from each other.
4.Adjust the self collision width scale according to your character size.

AlanSerra
05-09-2010, 03:17 PM
Sorry for taking so long to reply (i was away for a bit)...

Yeah, nparticles was the answer for me as it was easier to set up than creating regular particles and adding radial fields to them manually...

Thanks guys, I appreciate your help!

All the best,

Alan.

republicavfx
05-11-2010, 04:30 PM
theres a good autodesk dvd explaining in detail how to use particles and instancing for crowds...its pretty amazing what the guy pulls off..with quite a lot of expressions but nothing youve never seen before.... highly recommended.

CGTalk Moderation
05-11-2010, 04:30 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.