Miarmy Crowd Simulation Documentation (English)

Geometry Cache and Blendshape in Action

In the older version (before 3.6), when we create action node, we only store the joint information like rotate, translate and length.

In Miarmy 4.0 we can hook the deformation of geometry into action node. And when we render the geometry of the agents, there will be deformation on geometry.

Below we're going to introduce the step of how to hook the geometry deformation into action node and how to render it.

  • Build blend shape in the "Animation File" before making the actions. And we can keyframe the geometry blendshape or any other cache and drive the mesh

  • Create Action node normally.
  • After create action node, we need to hook the geometry deformation information into the created action node in above step
  • Click select the geometry (or multiple geometries) and then add select the action node.


  • Click Miarmy > Actions > Bake Geometry Action, if selection OK, system will prompt this confirmation dialog
  • Then click "Yes" for starting bake progress. After cache, the geometry deformation of each frame will be write into action node.


  • Please save your action node by "save" Maya file or export to outside.
  • After store the info, you can also use some simple script to test whether information wrote correctly.

python scripts get attributes from action


  • Then, in simulation file, we need to export the agent cache with action info. It need to enable the "Cache Agent Action Info" in Cache Tools.


  • Then after cache you can see there are many .mac (miarmy action cache) exported along with .mmc (miarmy cache).


  • When you open it (using notepad), you can see it store the action info for each agent of current frame


  • Then, let render it with Mesh Drive, based on the pipeline, we need to export the Mesh Drive Cache. Miarmy > RENDER > Mesh Drive 3.0 > Export Cache

  • Then duplicate the Meshes, and enable the Mesh Drive.
  • It will drive the mesh to the blendshape deformation of each frame
  • 2 very important things:
    • Make sure the "Cache Agent Action Info" always enabled in Cache tool.
    • Make sure the geometry name exactly the same as rig geometry name when making the action name.

Left: geometry shape in OA, Right: geometry name in action node (when hook the action deformation info)


  • Below image are the result of Mesh Drive. 
    You may notice the agent drive the right points on shape but the result is incorrect. 
    That is caused by scale values on the agent geometries.

Maya example scale problem

  • Usually, there should not be this problem. below are the correct test for this feature

  • Important Notice: If we want use arnold or vary DSO render, we should select the deformation geometries, and click the tool Miarmy > RENDER> Mark Deforming Geometries>Add Deforming Attr.  Then there will add an attribute “deforming” to the geometries, if the attribute value is 1, the deformation will work.

deforming attribute










Basefount Technology