Miarmy Crowd Simulation Documentation (English)

Jump System

The jump system is available in the new Miarmy 4.5, we can use it to create some monkeys jump in woods.

Workflow

Animation

  • Create 2 cylinders, 
    • their radii should be around the same size of the final rendering model (tree). In below picture.
    • The distance between the 2 cylinders should be the average distance of all jump path.
    • These 2 cylinders should be all save X axis and just different Z axis
  • Then create animation using these 2 cylinders. The animation should start from point A through point B to point C

  • The animation is a cycle animation, so pose A should be as the same as the pose C

  • When the character landed on the cylinder,it should face to +Z axis (Point A and Point C).

  • The jump point “B” can be move slightly, and the animation can be randmized.

  • Point A to point B can have multiple and random paths, and our character can play randomize and freely in this path.

  • Very Improtant: Rotate animation should only keyframed on the root joint of character only on the Y Axis.

Action

After create animation, we need to setup the action node like follow steps:

  • In jump actions, change all the transform channel to "speed" mode and then rebuild it

  • Setup the Jump Range.
    The jump range should be the frames from the character leaving point B to the landing point C.

Simulation

  • Create some cylinders,and named them as <McdAttachMesh*>

  • Create some locators, name them as <McdLand*>, and parent them to the cylinders.

  • Adjust the locator’s translate in X and Z axises, the locator’s position is the character land point in X and Z axises.

  • Select all cylinders, and click the tool Miarmy > Knowledge Perception > Add Mesh Attach ID.
  • Select all locators, and click the tool Miarmy > Knowledge Perception > Add Locator Jump Target ID.
  • Then we can see there is a custom attribute "attachID" on each cylinder and a custom attribute "landID" on each locator.

  • Set attachID and landID like below picture.

  • When the characters jump leave from cylinder 0, they will randomly chose a cylinder with attachID is 1.
  • Deduce from this, our characters will move forward depend on the attachID and landID increasedly.

 

 

 

 

 

 

 

 

Basefount Technology