Miarmy Crowd Simulation Documentation (English)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Solver Contents

In the previous chapter, we've introduced when we click the Miarmy > Miarmy Ready or button, the solver contents will be created. They are McdBrain, McdBrainPost and McdGlobal nodes. Without these nodes, it can't simulation.


Solver setup and contents creation

Simulation Pipeline

Each time update, Miarmy will do the following things if the simulation is not broken.

  1. The McdBrain is responsible for collecting the information from scene. Such as the agent information, the perception contents information, etc.
  2. Then, McdBrain will send the collected data to engine.
  3. The engine will calculate the result, such as the agent transformation and posing.
  4. The McdBrainPost is responsible for updating the scene using the engine results


Simulation Pipeline

Reset, Update, Pause and Break Mechanism

There are 4 statuses of solver, which are "reset", "update", "pause" and "break".
Suppose that the start time of engine is 1, we can set it by McdBrain.startTime


Green: reset, Yellow: update, Red: will break simulation


Take a look at the green point-- you can at any time reset your scene by setting current time to the start time (or before the start time)
As the yellow arrows shown, the engine can simulate and update Maya scene correctly, when playback from the start time frame by frame.
If you jump back or jump more than one frame, the simulation will break, just like the red arrows shown. At this time, the engine will never solve until you reset it (back to start time).
If simulation has been paused at the "x"th frame, you can jump time as you like. But before resuming it, you need to set the time when the time simulation break, which is the "x"thframe. You can pause the simulation in Miarmy Global.

  • Reset: the agents will be set back to initial status, meanwhile, some information in agent memory will be cleared and reset, such as the physical stuff, cloth buffer, etc.
  • Update: simulation in progress, engine is still working for updating scene
  • Pause: simulation stops but can resume later
  • Break: simulation will not proceed any more until reset.


Non-Connection Sequential Node Communication

Using some non-traditional Maya techniques, we designed a non-connection sequential node communication solver. Consequently, there are no connections among any Miarmy nodes for data transferring. All the data transfers happen in memory. When we create the Miarmy scene, we don't need hypergraph anymore.



  • No labels