A few months ago, I reviewed Golaem Crowd, a crowd simulation tool for Autodesk Maya. Golaem Crowd takes on different crowd simulation tasks, from generating and animating the crowd, to rendering. Recently, Golaem Crowd 2 was released, and it packs some nice features that make things a lot easier.

I think the single best feature in this new version is the Behavior Editor. Using a simple to use node-based interface, you can connect different behaviors together to get the desired results in your simulation. Node connections aren’t strictly linear, meaning more than one behavior can run at the same time. Based on how behaviors work, this is expected because each behavior defines a specific action (or state). For example, you have a behavior that defines characters moving to a certain goal, and another one that defines the actual walk animation.

You can also set conditions that define when behaviors start/end, so you can link them together to create complex simulations. On top of this, you can set up triggers that fire up/turn off behaviors. These triggers can be attached to geometry in your scene, so you can animate them and affect different characters in your crowd system during the animation. For example, if you have a crowd system with static characters, you can animate the trigger so that characters inside the volume at any given time will perform a specific animation.

Golaem Crowd now also lets you connect a crowd simulation to Maya Bullet dynamics. As I noted on my recent Maya 2013 review, Maya Bullet is a new physics solver in Maya that allows users to quickly simulate soft and rigid bodies. If you want to know more about Maya Bullet, feel free to read my Maya 2013 review.

Using Maya Bullet and Colaem Crowd together is useful because Golaem now includes a ragdoll behavior, and ragdolls can collide not only with other ragdolls in the crowd system, but also objects that are part of the Bullet solver. To use Bullet dynamics you need to save the static bodies as a bullet environment scene, and then import that into the Golaem physics node. This way, you let the crowd simulation know where each rigid body is, so ragdolls can react accordingly. The downside is that you can only use static bodies, so you can’t animate a rigid body (or simulate it using forces) and then import that so that crowd members react to that animated body (for example, you can’t simulate stones falling and killing the soldiers using purely dynamics).

You can simulate rigid bodies hitting the pawns by using triggers I described above. You can attach the trigger to objects that will hit the crowd pawns, activating the ragdoll behavior. This is fortunate since the program has enough versatility to do things, and there’s more than one way to perform certain tasks. On the other hand, I hope we’ll see Golaem implement physics interactions with animated rigid bodies, so it can implement real forces, impulses, and such.

Last time I reviewed Golaem, I mentioned that rendering was not done inside Maya. This has changed in this version, and you can actually natively render your crowds inside Maya now using Mentalray or Vray, using “crowd proxies.” You only need to create the crowd proxy and assign your asset to the specific crowd entities in the Golaem Assets Manager. This is convenient since you don’t need to take extra steps for rendering anymore.

As you can guess, rendering can take a lot of resources if your crowd has numerous pawns. However, there are many tricks for you to improve that. For example, you could use several crowd entity types with a smaller number of pawns and render them separately, rather than using one single entity type with many characters. Then you could composite them together using “depth compositing,” so that they appear in the right position in 3D space, and you can also render the rest of the scene in layers. Besides, there’s the fact that Mentalray in Maya is very efficient when it comes to system resources. Some specific scenarios may call for an external rendering solution, however.

Documentation has improved from the last version, and they have also added a few more tutorials. I still believe the documentation could use some improvement, as some features are somewhat hard to understand, and I hope they will add more tutorials in the future, not just for basic workflows, but for more complex setups (for example, how to simulate pawns being thrown into the air by an explosion, or how to create a battle field).

If you have used Golaem Crowd in the past, you definitely need to check out this update. If you have not used Golaem in the past but are looking for a crowd simulation solution for Maya, you should try Golaem Crowd, as it may be exactly what you’re looking for.