ICE crowd sim

64 views
Skip to first unread message

Gerbrand Nel

unread,
May 3, 2010, 3:10:56 AM5/3/10
to xsi group
Hey list
I'm setting up a crowd sim in ice, and was wondering if anyone here has
a few cool links to tutorials or articles about crowd simulations.
Thanks
G

--
You received this message because you are subscribed to the Google
Groups "Softimage Mailing List Archive" group.

To unsubscribe from this group, send email to
xsi_list+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/xsi_list?hl=en

Sajjad Amjad

unread,
May 3, 2010, 4:38:01 AM5/3/10
to soft...@listproc.autodesk.com
Hi Gerbrand
I'd start off with Craig Reynolds Boids page to understand the theory:
http://www.red3d.com/cwr/boids/

Then some steering behaviour stuff:
http://www.red3d.com/cwr/steer/

Here's some pseudo-code by Conrad Parker based on Reynolds paper:
http://www.vergenet.net/~conrad/boids/pseudocode.html
This is specially helpful for ICE implementation, although you'll need
to take out setting the point position of particles as, in my
experience, setting point position in crowd system is undesirable,
it's best to work with just velocity.

The following are simple flocking tutorials by Kim Aldis
First this:
http://www.vimeo.com/1636756

Then this.
http://www.vimeo.com/1636976


The Reynolds page has plenty more links, but I think just the above
should get you started.

Hope this helps,
Sajjad

On 3 May 2010 08:10, Gerbrand Nel <g...@cannonballbunny.com> wrote:
> Hey list
> I'm setting up a crowd sim in ice, and was wondering if anyone here has a
> few cool links to tutorials or articles about crowd simulations.
> Thanks
> G
>



--

-----
"Consistency is the last resort of the unimaginative" - O. Wilde

Duncan Greenwood

unread,
May 3, 2010, 5:39:45 AM5/3/10
to soft...@listproc.autodesk.com
This link came up during the "How did you learned ICE?" thread:
http://redi-vivus.com/index4.php
You have to get them to email you the links to a bunch of tutorials.

There's a tutorial under the certified 7.x (FLV) ICE that has something in it called "CrowdCreation.part#.rar"

I haven't finished downloading. It's pretty big, but I would think that it's got a video tutorial or something on crowd creation with ICE.

Duncan

--

Gerbrand Nel

unread,
May 3, 2010, 5:57:40 AM5/3/10
to soft...@listproc.autodesk.com
thanks sajjad!!!
some flocking nice links there dude :)
G

Gerbrand Nel

unread,
May 3, 2010, 6:01:51 AM5/3/10
to soft...@listproc.autodesk.com
Thanks Duncan.. how big are we talking about?
G

Duncan Greenwood

unread,
May 3, 2010, 6:16:52 AM5/3/10
to soft...@listproc.autodesk.com
The download I'm looking at has 18 parts, adding up to about 3.4 GB.

Sajjad Amjad

unread,
May 4, 2010, 9:12:57 AM5/4/10
to soft...@listproc.autodesk.com
Completely forgot to mention: In 2010, the Get Neighbouring Particles
compound does some 'funky' stuff if you enable cone filtering.
-----
"Consistency is the last resort of the unimaginative" - O. Wilde

Gerbrand Nel

unread,
May 4, 2010, 10:23:23 AM5/4/10
to soft...@listproc.autodesk.com
Yeah.. it seems to point to the origin of your scene.. bloody annoying!!!
Anyone have some cool tips on blending actions for crowd stuff. At the
moment I have "if" statements to control which section of the main
actors timeline is looped for the animation. I'm also using the particle
velocity to drive the speed of the animation. It seems like using the
animation mixer causes some strange problems.
G

Sajjad Amjad

unread,
May 4, 2010, 10:41:36 AM5/4/10
to soft...@listproc.autodesk.com
I too used the particle velocity to drive the speed of the
animation.Thankfully in my case, there was only one loop which I had
to vary. Depending on the type of blending required you might be able
to get away with using states (triggers based on velocity and the
instance time). The major advantage being that you will have absolute
control over when the animation swaps out. I didn't play around with
the mixer at all because, after having read some threads here, it
seemed a bit unstable.
-----
"Consistency is the last resort of the unimaginative" - O. Wilde

David Rivera

unread,
May 11, 2010, 12:07:04 PM5/11/10
to soft...@listproc.autodesk.com
Sjjad it´s not that big, well...it is if you got a 512kbs connection (I´m downloading it even so).
I can´t get my hands on part #2 of that ice training - it always keeps saying: there are no more slots
to download that file. All the other parts, well..I´m still downloading.

I checked out the kim aldis vimeo practice on flocking behaviour, which I got workig, but I haven´t been able to interconnect
a node that would drive the boid´s correct orientation, I tried to use: align particle to vector and align particle to velocity node to get them right, but their nodes execute directly upon placing them on the ice tree. Hence I don´t know how to integrate them in the flocking alignment compound, cohesion compound or the separation compound. I tried 6 hours straight, but couldn´t just get them to work. Could anyone help me on that  please?

Thanks.


From: Sajjad Amjad <sajjad...@gmail.com>
To: soft...@listproc.autodesk.com
Sent: Tue, May 4, 2010 9:41:36 AM
Subject: Re: ICE crowd sim
ice_flocking.jpg

Bradley Gabe

unread,
May 11, 2010, 12:14:25 PM5/11/10
to soft...@listproc.autodesk.com
Have a look at the Get Closest Point query that you are using to find other boids based on cone angle and velocity. What does it output for a point that doesn't find anything? I think when it finds nothing, your graph ends up pointing towards origin.

You'll need to insert some logic to deal with that situation and prevent it from influencing your steering.

Gerbrand Nel

unread,
May 11, 2010, 2:27:44 PM5/11/10
to soft...@listproc.autodesk.com
I like how you use the arb: "some logic" here Brad... "some" of us
obviously doesn't poses this "logic" you speak of. :)
I for one decided to give up, rather than implement the logic.
G

Bradley Gabe wrote:
> Have a look at the Get Closest Point query that you are using to find
> other boids based on cone angle and velocity. What does it output for
> a point that doesn't find anything? I think when it finds nothing,
> your graph ends up pointing towards origin.
>
> You'll need to insert some logic to deal with that situation and
> prevent it from influencing your steering.
>
>
>
> On Tue, May 11, 2010 at 11:07 AM, David Rivera
> <activemoti...@yahoo.com
> <mailto:activemoti...@yahoo.com>> wrote:
>
> Sjjad it´s not that big, well...it is if you got a 512kbs
> connection (I´m downloading it even so).
> I can´t get my hands on part #2 of that ice training - it always
> keeps saying: there are no more slots
> to download that file. All the other parts, well..I´m still
> downloading.
>
> I checked out the kim aldis vimeo practice on flocking behaviour,
> which I got workig, but I haven´t been able to interconnect
> a node that would drive the boid´s correct orientation, I tried to
> use: align particle to vector and align particle to velocity node
> to get them right, but their nodes execute directly upon placing
> them on the ice tree. Hence I don´t know how to integrate them in
> the flocking alignment compound, cohesion compound or the
> separation compound. I tried 6 hours straight, but couldn´t just
> get them to work. Could anyone help me on that please?
>
> Thanks.
>
> ------------------------------------------------------------------------
> *From:* Sajjad Amjad <sajjad...@gmail.com
> <mailto:sajjad...@gmail.com>>
> *To:* soft...@listproc.autodesk.com
> <mailto:soft...@listproc.autodesk.com>
> *Sent:* Tue, May 4, 2010 9:41:36 AM
> *Subject:* Re: ICE crowd sim
>
> I too used the particle velocity to drive the speed of the
> animation.Thankfully in my case, there was only one loop which I had
> to vary. Depending on the type of blending required you might be able
> to get away with using states (triggers based on velocity and the
> instance time). The major advantage being that you will have absolute
> control over when the animation swaps out. I didn't play around with
> the mixer at all because, after having read some threads here, it
> seemed a bit unstable.
>
> On 4 May 2010 15:23, Gerbrand Nel <g...@cannonballbunny.com
> <mailto:g...@cannonballbunny.com>> wrote:
> > Yeah.. it seems to point to the origin of your scene.. bloody
> annoying!!!
> > Anyone have some cool tips on blending actions for crowd stuff.
> At the
> > moment I have "if" statements to control which section of the
> main actors
> > timeline is looped for the animation. I'm also using the
> particle velocity
> > to drive the speed of the animation. It seems like using the
> animation mixer
> > causes some strange problems.
> > G
> > Sajjad Amjad wrote:
> >>
> >> Completely forgot to mention: In 2010, the Get Neighbouring
> Particles
> >> compound does some 'funky' stuff if you enable cone filtering.
> >>
> >> On 3 May 2010 11:16, Duncan Greenwood <dun...@blackginger.tv
> <http://www.vergenet.net/%7Econrad/boids/pseudocode.html>
> >>>>>> This is specially helpful for ICE implementation, although
> you'll need
> >>>>>> to take out setting the point position of particles as, in my
> >>>>>> experience, setting point position in crowd system is
> undesirable,
> >>>>>> it's best to work with just velocity.
> >>>>>>
> >>>>>> The following are simple flocking tutorials by Kim Aldis
> >>>>>> First this:
> >>>>>> http://www.vimeo.com/1636756
> >>>>>>
> >>>>>> Then this.
> >>>>>> http://www.vimeo.com/1636976
> >>>>>>
> >>>>>>
> >>>>>> The Reynolds page has plenty more links, but I think just
> the above
> >>>>>> should get you started.
> >>>>>>
> >>>>>> Hope this helps,
> >>>>>> Sajjad
> >>>>>>
> >>>>>> On 3 May 2010 08:10, Gerbrand Nel <g...@cannonballbunny.com

David Rivera

unread,
May 12, 2010, 3:23:22 AM5/12/10
to soft...@listproc.autodesk.com
I´ve gotten to this point. I´ve read all about flocking theory. I already know the alignment force adds from the cone relation to the other boids. I read the paper (pdf) on the theory where Kim Aldis does a pretty good job defining this stuff on ICE terms.
But still I can´t get my head around this as I understand there must be other "sub" compounds created before executing the final alignment on the boid and thus affecting the cohesion and the separation also...

So just in case someone would like to throw me a line, here´s the attached scene. I´d really appreciate it if someone could steer "align" moving boids.

So far I´ve aligned them all right, but to only one direction and I don´t know how to make them behave to their paths with correct orientation. 

Help. Anyone?


From: Bradley Gabe <with...@gmail.com>
To: soft...@listproc.autodesk.com
Sent: Tue, May 11, 2010 11:14:25 AM
Subject: Re: ICE crowd sim - flocking behaviourzs
Flocking.rar

Gerbrand Nel

unread,
May 12, 2010, 4:21:44 AM5/12/10
to soft...@listproc.autodesk.com
I don't understand why you don't like the align on velocity compound,
all it does is rotate the particle to point along its vector. Why would
you want more than this?
The flock forces you've set up in your scene evaluates everything based
on each particles local vector, so the simulation doesn't care about
particle rotation, rather than the particle vector. Maybe I'm missing
the point, but it sounds like you're expecting them to behave
differently once they align ?
G
> I扉e gotten to this point. I扉e read all about flocking theory. I
> already know the alignment force adds from the cone relation to the
> other boids. I read the paper (pdf) on the theory where Kim Aldis does
> a pretty good job defining this stuff on ICE terms.
> But still I can愒 get my head around this as I understand there must
> be other "sub" compounds created before executing the final alignment
> on the boid and thus affecting the cohesion and the separation also...
>
> So just in case someone would like to throw me a line, here愀 the
> attached scene. I悲 really appreciate it if someone could steer
> "align" moving boids.
>
> So far I扉e aligned them all right, but to only one direction and I
> don愒 know how to make them behave to their paths with correct
> orientation.
>
> Help. Anyone?
>
> ------------------------------------------------------------------------
> *From:* Bradley Gabe <with...@gmail.com>
> *To:* soft...@listproc.autodesk.com
> *Sent:* Tue, May 11, 2010 11:14:25 AM
> *Subject:* Re: ICE crowd sim - flocking behaviourzs
>
> Have a look at the Get Closest Point query that you are using to find
> other boids based on cone angle and velocity. What does it output for
> a point that doesn't find anything? I think when it finds nothing,
> your graph ends up pointing towards origin.
>
> You'll need to insert some logic to deal with that situation and
> prevent it from influencing your steering.
>
>
>
> On Tue, May 11, 2010 at 11:07 AM, David Rivera
> <activemoti...@yahoo.com
> <mailto:activemoti...@yahoo.com>> wrote:
>
> Sjjad it愀 not that big, well...it is if you got a 512kbs
> connection (I惴 downloading it even so).
> I can愒 get my hands on part #2 of that ice training - it always
> keeps saying: there are no more slots
> to download that file. All the other parts, well..I惴 still
> downloading.
>
> I checked out the kim aldis vimeo practice on flocking behaviour,
> which I got workig, but I haven愒 been able to interconnect
> a node that would drive the boid愀 correct orientation, I tried to
> use: align particle to vector and align particle to velocity node
> to get them right, but their nodes execute directly upon placing
> them on the ice tree. Hence I don愒 know how to integrate them in
> the flocking alignment compound, cohesion compound or the
> separation compound. I tried 6 hours straight, but couldn愒 just
> get them to work. Could anyone help me on that please?
>
> Thanks.
>
> ------------------------------------------------------------------------
> *From:* Sajjad Amjad <sajjad...@gmail.com
> <mailto:sajjad...@gmail.com>>
> *To:* soft...@listproc.autodesk.com
> <mailto:soft...@listproc.autodesk.com>
> *Sent:* Tue, May 4, 2010 9:41:36 AM
> *Subject:* Re: ICE crowd sim
>
> I too used the particle velocity to drive the speed of the
> animation.Thankfully in my case, there was only one loop which I had
> to vary. Depending on the type of blending required you might be able
> to get away with using states (triggers based on velocity and the
> instance time). The major advantage being that you will have absolute
> control over when the animation swaps out. I didn't play around with
> the mixer at all because, after having read some threads here, it
> seemed a bit unstable.
>
> On 4 May 2010 15:23, Gerbrand Nel <g...@cannonballbunny.com
> <mailto:g...@cannonballbunny.com>> wrote:
> > Yeah.. it seems to point to the origin of your scene.. bloody
> annoying!!!
> > Anyone have some cool tips on blending actions for crowd stuff.
> At the
> > moment I have "if" statements to control which section of the
> main actors
> > timeline is looped for the animation. I'm also using the
> particle velocity
> > to drive the speed of the animation. It seems like using the
> animation mixer
> > causes some strange problems.
> > G
> > Sajjad Amjad wrote:
> >>
> >> Completely forgot to mention: In 2010, the Get Neighbouring
> Particles
> >> compound does some 'funky' stuff if you enable cone filtering.
> >>
> >> On 3 May 2010 11:16, Duncan Greenwood <dun...@blackginger.tv

Sajjad Amjad

unread,
May 12, 2010, 4:44:15 AM5/12/10
to soft...@listproc.autodesk.com
@Gerbrand
It could be that David is trying to implement birds, fish or objects
which need a particular vertical orientation. The Align on Velocity
compound wont work in these cases as it doesn't have an up vector.

@David
You need to implement your own version of the Align on Velocity node
with up vectors built-in. Hint: The Direction to Rotation would be
useful.

Cheers,
Sajjad

David Rivera

unread,
May 12, 2010, 10:42:56 AM5/12/10
to soft...@listproc.autodesk.com
Thanks for your attention Sajjad and Gerbrand, I´m tryng to use this as a sort of school fish look and orientation.
When I ask the get neighboring particles (to be debugged on screen) their "orientation" is all distorted towards the real
orientation they should be facing with the tip of their cones. Last night I spent another 7 hours trying to get that alignment
to work by plugging the lign to velocity compound on ICE. Some boids do change their alignment but not totally pointing
to the right direction. As it was mentioned before, they all point to a "center" on the grid from where they get away and
return. I tried to set particle goal (to also be evaluated in the render tree) and apply forces as null target, but nothing at all
was executed on the ice tree. That´s about all my non programming logic can do.
So, if anyone helps with this...I´d really be thankful.
David.


Sent: Wed, May 12, 2010 3:44:15 AM
Subject: Re: ICE crowd sim - flocking behaviour
Reply all
Reply to author
Forward
0 new messages