Miarmy Crowd Simulation Documentation (English)

Solver

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


Reset, Update, Pause and Break Mechanism

There are 4 statuses of simulation, which are reset, update, pause and break.
Suppose that the start time of engine is 1, which we can set it in Miarmy > Miarmy Global or  button, and set the start time 1.0 in panel 


And then we can simulate the scene from the frame 1.0, frame by frame.

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

Take a look at the above picture:

  • the green point, it's the start time point. we can at any time reset the simulation by setting time to the start time (or before the start time)
  • As the yellow arrows shown, the engine can simulate and update Maya scene correctly frame by frame from start time.
  • If the time jump back or jump more than one frame (like the red arrows shown), the simulation will break. Once simulation broken, the engine will never solve until resetting it (back to start time).
  • To pause the simulation, we can click in player tool of Maya, and then click to resume the simulation.




Under the Hood in depth of Solver Pipeline

Each time update is an iteration, Miarmy will do the following things each iteration if simulation not break.

  1. The McdBrain is responsible to collect the information from scene, such as the agents information, the perception and logic information, etc.
  2. Then, McdBrain will send the collected data to engine.
  3. The engine is a piece of code which calculate and get the result, such as the agent transformation and posing.
  4. The McdBrainPost is responsible to update the scene using the engine results

In depth solver pipeline







Basefount Technology