Miarmy Crowd Simulation Documentation (English)

Manual IK

IK is a part of action node and it can modify the result of action pose when the agent playing the action.
Information of IK is stores in action node, it can be multiple IKs in single action node and each IK has independent data.

IK data include:

  1. (User Fill) Name of end effector
  2. (User Fill) Level of bones
  3. (Calculate) End effector translate target curve (IK data)
  4. (Calculate) IK rotation curve (IR data)

These data can be created in action editor, just specify the end effector name and the bone number above the end effector, then click the Create button, the IK data and the IR data will be calculated and filled.



Create IK in action node



The end effector and 2 level bone


IK data: this data store the end effector position in agent transformation space, when this data exist, we will use this data to update the bone.
IR data: this data store the end effector rotation in agent transformation space, when the bone pose modified, we need prevent the feet rotation.

The following 3 images explain the IK and IR data in calculation process:

  1. The first image shows a leg in rest pose, and the foot is the end effector, the lower leg and upper leg are 2 level of IK, when this leg is playing action, the leg will controlled by IK system.
  2. In the second picture, the IK has some offset to upper place, notice the blue and orange arrow, the blue is correct rotation (the same as first picture) of the end effector, and the orange is the incorrect one because it will keep the local rotation in its parent (lower leg)
  3. In third picture, the IR data is responsible for fixing that rotation to correct "blue" orient.



The IK calculation process


Once we created these data successful, we can control the IK now;
Just by IK offset sentence on the leg:



Ik offset logic sentence


offset IK:??? in Y value ??

The following 3 pictures show the IK is modified in Y+ axis by the offset values: 0, 3, 6



offset IK:footL in Y value 0 / 3 / 6


 






Basefount Technology