Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

...


Image Removed
Simulation Pipeline

Reset, Update, Pause and Break Mechanism

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


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 green point-- you 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).

...

  • 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

...

  • To pause the simulation, we can click Image Addedin player tool of Maya, and then clickImage Added 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

Image AddedIn depth solver pipeline