Jump to content

Crowd Questions


Recommended Posts

Hello i'm trying to learn how to use crowd and I think i've got the basics down but I have a few questions that I can't seem to find solutions to online. 

 

  1. How would I go about orienting a certain crowd state to be looking(whole agent) in a certain direction? I was under the impression it was the @orient attribute but no matter what value I feed into that just causes my agents to turn in some weird directions.
  2. Sometimes I have agents that are supposed to be standing still and some running. In some cases they get stuck going forward because they're blocked by a few standing still agents. What methods can I go about to fix this issue and have my agents realise they need to turn around or go around?
  3. Similar to question 2 I have certain objects I don't want my agents to go through no matter what. Steer Force is not absolute so sometimes my agents will force their way through said objects if they can't turn around sooner due to particle steer separate.
  4. Just to confirm this because it seems to be the case with any tests I do. Crowd Triggers through Custom VEX are static and to have them trigger dynamically, I have to use a Particle Lookup instead? 

I have a feeling questions 2-3 are solved through fuzzy logic but I can't find any sort of tutorial on learning it and the examples given in Houdini are'nt enough for me to get my head around. Any links to good tutorials for it would be appreciated.

Link to comment
Share on other sites

Here are a few tips.

I almost always create a companion goal position for every agent. You can animate this goal. It also helps with orientation because agents will face the goal.

One way to handle collision is by animating the goal along a path that already avoids collision objects. Once again agents following goal.

Crowd Triggers through custom VEX are always one frame off. They are evaluated on the next frame. So you can add attributes to agents and set the attributes on one agent from another. A classic example is a kill state in a combat system. One agent sets an attribute on another to indicate that it should transition to a dying animation.

I put together a tutorial that shows how to setup what I mention above. It also shows how to treat the frame change as a render loop (i.e. classic game engine) and calculate new values for agents every frame, for instance, distance to goal. The video also shows how to setup the custom vex attribute system fro transitioning between states.

 

Edited by Atom
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...