Animation Cleaning Pipeline or ACP is IKinema set of tools focused on stabilizing MOCAP motions and general purpose motion artifact cleaning. It consists of tools for cleaning noise, fixing sliding and penetration to object. ACP works on the entire skeleton structure instead of solely on individual nodes.
You can apply ACP to a continuous joint structure by selecting its root and choosing from the IKinema menu IKinema Animation Cleaning Pipeline -> Create ACP. The ACP solver will be created on the original joints while the animation will be transferred to a temporary FK skeleton. The ACP tab will appear in the Attribute Editor and is shared for all the joints in the solver.
Sliding Correction rollout
- Sliding Active checkbox – toggles sliding correction ON/OFF
- Sliding In Treshold – sets the global threshold value for entering sliding fix mode
- Sliding Out Treshold – sets the global threshold value for exiting sliding fix mode
- Sliding Blend Frames – number of frames for blending back to the source animation after sliding mode exit
Penetration Correction rollout
- Penetrate Active checkbox – toggles penetration to objects ON/OFF
- Penetrate Plane Position – sets virtual penetration plane world position. The plane is oriented perpendicular to the world up.
- Penetrate Normal – sets the surface normals for the virtual plane.
- Filter Active checkbox – toggles filtering mode ON/OFF
- Filter Frequency – sets filtering frequency value. Lower values mean heavier filtering.
- Filter Execution Time – sets the execution order for sliding and filtering solver modes when they are set simultaneously
Advanced Attributes rollout
- Sliding P gain – sets the starting value for the P coefficient for the sliding part of the solver
- Filter P gain – sets the starting value for the P coefficient for the filtering part of the solver
Apart from the ACP tab each joint has ACP attributes in its shape section in the Attribute Editor
Sliding Correction rollout
- Sliding correction Active checkbox – toggles sliding correction ON/OFF
- Local In Treshold – sets the global threshold value for entering sliding fix mode
- Local Out Treshold – sets the global threshold value for exiting sliding fix mode
Penetration Correction rollout
- Penetration correction Active – toggles penetration ON/OFF
- Joint Offsets Hips – sets the root bone to be affected by the penetrating joint
- Mesh Offset – value in scene units and sets the distance at which the penetration correction takes effect
- Filtering Joint Motion Active toggles filtering for this joint on or off in relation with the whole joint hierarchy
In Action 5.0, ACP can be used simultaneously with any IKinema solver. Practical uses include marker solving, retargeting and solving from rigid bodies. The legacy ACP are still available for cleaning baked animations.
Note: For the best results make sure you set your playback to “Play Every Frame” or “Play Every Frame, Max Real-Time”.
Filtering can be enabled in the solver tab in the Attribute Editor in the ACP rollout
Filter Active - Enables and disables filtering
Filter Frequency - Accepts values from 0 to 9. Higher values result in heavier filtering
Sliding correction can be enabled in the solver tab in the Attribute Editor in the ACP rollout
- Sliding Active - Enables and disables the sliding correction for the entire solve
- Sliding In Threshold - Sets velocity above which the sliding will have effect
- Sliding Out Threshold - Sets velocity above which the sliding correction ends and begins blending to FK
- Sliding Blend Frames - Are frames to blend to FK
Sliding correction: Is enabled explicitly per joint in addition to enabling sliding correction in the solver ACP rollout. Each joint has IKinema Animation Cleaning Pipeline rollout in the Attribute Editor.
- Sliding correction Active - Toggles sliding correction for the current joint on and off
- Use Local Thresholds - Enables velocity thresholds override
- Local In Threshold - Sets custom value for the Sliding In Threshold
- Local Out Threshold - Sets custom value for the Sliding Out Threshold
Penetration Correction can be enabled in the solver tab in the Attribute Editor in the ACP rollout. Penetration correction can be set on joint without task and is not mutually exclusive with penetration as task property.
- Penetrate Active - Enables and disables the penetration correction for the entire solve
- Penetrate Plane Position - Is logical plane transform when no collision object is set
- Penetrate Normal - Is the vector of the normal direction of the penetrating plane
Penetration correction is enabled explicitly per joint in addition to enabling sliding correction in the solver ACP rollout. Each joint has IKinema Animation Cleaning Pipeline rollout in the Attribute Editor.
- Penetration Correction Active - Toggles penetration correction at the current joint on or off
- Joint Offsets Hips - Toggles affection of the solver root joint based on the influence of all joints with penetration correction active and Joint Offset Hips enabled
- Mesh Offset - sets the distance to the penetration object in centimetres
To set penetration object to collide with select a joint and single polygonal object in the scene and execute IKinema Menu>IKinema Animation Cleaning Pipeline>Add penetration object
Q: What ACP is good for?
A: Stabilizing and smoothing the motion. Removing noise. Planting feet. Add reaction to environment (penetration).
Q: On what can I apply ACP?
A: Skeleton with animation.
Q: Filter value explain?
A: It is frequency value – Hz. The smaller the filter the larger tolerances it will try to fix
Q: Recommended range for frequency?
Q: Tricks for improving with this range?
A: Apply ACP twice (ACP ->tune->bake->Apply new ACP ->tune->bake)
Q: I set Fix Sliding in the Attribute Editor and nothing happens?
A: You have to enable it per bone – select for example a foot and it its Attribute Editor tab enable the Sliding checkbox.
Q: How to pin better a body part (say chest) better but with no ACP functions?
A: Select the bone, enable Sliding and set In and Out to zero.
Q: I put many penetration tasks and the result is bad?
A: Use penetration tasks wisely and not in many numbers. Avoid putting penetration tasks on adjacent bones
Q: My skeleton is jitering?
A: Lower the values in the ACP Advanced rollout – correspondingly for sliding and filtering.