This information is for Vicon Shogun 1.7. For up-to-date help, see the latest Shogun documentation.

Vicon Shogun banner


This command is used to enforce a rigid relationship among a selected group of markers for the entire file.

In optical data capture, relationships among markers that should remain fixed, sometimes do not remain fixed. Noise in the system, occlusions, and physical collisions are some of the common factors that may contribute to the degradation of marker relationships (markers falling off the performer's waist, for example, or a head marker being lost as the performer reaches the edge of the capture volume).

The makeRigid command can be used to automatically correct these problems for multiple markers simultaneously. Restoration and/or strict enforcement of such relationships makes the subsequent conversion of marker data to skeletal data happen much more quickly and cleanly.

This command is used to enforce a rigid relationship among a selected group of markers for the entire file and overwrites existing data where it does not conform to the rigid relationship.

Optionally, you may create a new node (using the -createRigidBody option), which is defined as the averaged center of the selection set over time, with rotation keyframes applied to it by calculating the rotation of the group as a rigid unit.

Functional area

Data manipulators

Command syntax


makeRigid [-createNewNodes] [-useCurrentFrame] [-createRigidBody string] [-targetPrimary] [-parent] [-nonRigidTolerance float] [-selectNonRigidKeys] [-noWarning]




NameFlag argumentsArgument typeExclusive toComments
createNewNodes0Apply rigid data to new nodes created from the currently selected nodes. Leaves source nodes untouched. The naming convention for the new nodes is: "Rigid_" + (name of source node)
useCurrentFrame0Use the current frame as the creation reference instead of automatically finding it. By default, Shogun Post automatically identifies the best frame in the playRange for the rigid body's creation reference.
createRigidBody1stringSimultaneously create a new rigid body from the selected markers.
targetPrimary0Puts rigid body information onto the primary selected object. Generally not used with the createRigidBody option.
parent0Parent rigidified nodes (new or existing) to newly created rigid body.
nonRigidTolerance1floatSets the tolerance (measured in millimeters [float]) for qualifying source node keys as valid or invalid during rigid body calculations. Any keys on source nodes that fall outside this tolerance of being "rigid" with respect to the other source nodes, are ignored during rigid body calculations.
selectNonRigidKeys0Selects all keys that were ignored on the source nodes when calculating the rigid body. Can only be used in conjunction with nonRigidTolerance.
noWarning0Disables warning prints to the log that result from the command's execution.

Return value



// In this example, 4 markers corresponding to the chest are
// selected. In the next line, there is a rigid relationship
// enforced by makeRigid; the '-createRigidBody chest' option
// creates a new rigidBody object called "chest" which contains
// the translation and rotation information of the group as a whole;
// and finally, the four rigidified markers are parented (`-parent`)
// to the new rigidBody object. You may now operate on the group as a
// whole by editing the translation and rotation of the "chest" node.
select C7 T10 STRN CLAV;
makeRigid -createRigidBody chest -parent;

Additional information

Related commands