Miarmy Crowd Simulation Documentation (English)

Action Attribute and Blendshape

Concept

We can bake the blendshape into an action, and when agent play the action, it play along with a expression (faical) or deformation (body)

And more specifically and technically, it can bake any deformation animation into action through the controllers and attributes of character rig.

We can make the blendshape/deformation an animation instead of static shape (target shape). For example we can make a man talking and blinking when it is performing "talk" action. The man's lip and eyes and facial animation can be entirely baked in "talk" action and reoccur (the facial animation sequence) when the agent playback action "talk". The blendshape now is a series of animation instead of a single "shape/pose" (compare with Logic Controlled Blendshape)


Pipeline

There are 2 main steps for setting up this action based blendshape.

  1. Bake the deformation/blendshape into Miarmy Action node
  2. Setup action to drive agent
  3. Render

Usage

Step 1 Bake the deformation/blendshape into Miarmy Action node

  • In animation file, after we generating the Action node, we need to bake the deformation into Action
    (Note: We'd better do this in animation file instead of simulation file)
  • Select the action node and open Miarmy > Actions > Bake Attribute Action Editor.

  • Select the controllers causing this deformation and click insert

  • You can continue select and insert them all into list.
    Important: After inserting all controllers, please make sure these contollers contain animations!!
    If your blendshape is a single pose (of facial expression) please also add key frame on the controller
  • Click Bake Attributes into Action
  • After baking there is a flag shows "Baked". Once you insert/remove controllers in list, the flag will be changed to "non-baked".

  • Click Show Baked in Editor, the attributes related with this action will be printed out in Script Editor.

Step 2 Setup action to drive agent

  • Note 1: this step need in simulation file
  • Note 2: In simulation file we need bring in the Rig File and put it into Setup_XXX node
  • Note 3: We need to remove all animations on Rig file for these deformation contollers
  • We need to setup blendshape from Rig File ot Geometry_XXX mesh, like yellow steps in below picture.
  • Turn on the blendshape deformer
  • Then we need to change the history order and make sure blendshape is in front of skin cluster, notice the "red" and "green" steps in below picture:

  • Please enable the "Cache Agent Action Info" before making agent cache.


  • Select the geometry with deformation in Geometry_XXX and click Miarmy > RENDER > Mark Deforming Geometries > Add Deforming Attr
  • When render, the deformation will be happen automatically.


Under The Hood

  • We record the attribute changes and store them into Action node
  • When cache, the agent exported action info
  • When render, our engine will find the action and use these attribute info and deform object
  • The deform object drive the geometries through the blendshape deform we added above ( Rig geometry > Geometry_XXX )




Basefount Technology