Splitting Large Crowd Simulations
In a shot production dealing with very large crowd can pose technical difficulties. In such cases it is easier to break down the crowd into different elements for faster simulation and rendering.
Note that this is not the only way to optimize your scene, if you have not read it yet, you should take a look at Large Crowd Simulations Best Practices
Example scene
Breaking the Simulation in Several Crowd Fields
As the simulation is exported per Crowd Field, we can split the Crowd Entities according to the connected Crowd Fields. This can be done in 3 ways
- At the time of particle creation from the Population Tool.
- Create Crowd Field nodes from the Golaem Shelf.
- Using the Dynamics Relationship Editor.
Using Population Tool
From the Golaem Shelf
Using Maya's Dynamic Relationship Editor
For our example, we will split the crowd into 3 elements (Red, Green & Blue). We create 3 different Crowd Fields using one of the methods mentioned above.
Breaking the Export the Simulation
Since Golaem Crowd 3.4, each Crowd Field is exported into a different Simulation Cache file:
Notice that it is possible to either export all the Crowd Field or just a part of them. If not exporting all the Crowd Fields at the same time, to speed up simulation export, you can also disable the not-exported Crowd Fields. This way, their entities will not be simulated. By doing so, make sure that the Entities of the disabled Crowd Fields are not interacting with the exported Entities (else their behavior will be different).
Breaking the Render in Several Crowd Proxies
Each Simulation Cache can be rendered with a different Render Proxy. You can create separate Render Proxies from the menu Crowd Render > Create Render Proxy for the appropriate renderer. In this example we'll create 3 Crowd Render Proxies.
Open the Render Proxy node in the Attribute Editor and break the connections for the Crowd Fields attribute and replace the string with the Crowd Field you would like to render
Break connection
Edited Crowd Field
Render the Proxies you want to render by either hiding other proxies (this can be keyframed if required), use Maya Render Layers or use the method which your pipeline supports.
Red, Green, Blue Layers - Composited Layers