ikHandle is undoable, queryable, and editable.
The handle command is used to create, edit, and query a handle
within Maya. The standard edit (-e) and query (-q) flags are
used for edit and query functions.
In query mode, return type is based on queried flag.
Long name (short name) |
Argument types |
Properties |
-name(-n)
|
string
|
|
|
Specifies the name of the handle.
|
|
-startJoint(-sj)
|
string
|
|
|
Specifies the start joint of the handle's joint chain.
|
|
-endEffector(-ee)
|
string
|
|
|
Specifies the end-effector of the handle's joint chain.
The end effector may be specified with a joint or an
end-effector. If a joint is specified, an end-effector will
be created at the same position as the joint and this
new end-effector will be used as the end-effector.
|
|
-priority(-p)
|
int
|
|
|
Sets the priority of the handle. Logically, all handles
with a lower number priority are solved before any
handles with a higher numbered priority. (All handles
of priority 1 are solved before any handles of priority
2 and so on.) Handle priorities must be ] 0.
|
|
-autoPriority(-ap)
|
|
|
|
Specifies that this handle's priority is assigned
automatically. The assigned priority will be based on
the hierarchy distance from the root of the skeletal
chain to the start joint of the handle.
|
|
-weight(-w)
|
float
|
|
|
Specifies the handles weight in error calculations. The
weight only applies when handle goals are in conflict
and cannot be solved simultaneously. When this happens,
a solution is computed that weights the "distance" from
each goal to the solution by the handle's weight and
attempts to minimize this value. The weight must be ]= 0.
|
|
-positionWeight(-pw)
|
float
|
|
|
Specifies the position/orientation weight of a handle.
This is used to compute the "distance" between the goal
position and the end-effector position. A positionWeight of
1.0 computes the distance as the distance between
positions only and ignores the orientations. A positionWeight
of 0.0 computes the distance as the distance between the
orientations only and ignores the positions. A positionWeight
of 0.5 attempts to weight the distances equally but
cannot actually compute this due to unit differences.
Because there is no way to add linear units and angular units.
|
|
-solver(-sol)
|
string
|
|
|
Specifies the solver. The complete list of
available solvers may not be known until run-time
because some of the solvers may be implemented as
plug-ins. Currently the only valid solver are
ikRPsolver, ikSCsolver and ikSplineSolver.
|
|
-forceSolver(-fs)
|
boolean
|
|
|
Forces the solver to be used everytime.
It could also be known as animSticky. So, after you set
the first key the handle is sticky.
|
|
-snapHandleFlagToggle(-shf)
|
boolean
|
|
|
Specifies that the handle position should be snapped to
the end-effector position if the end-effector is moved
by the user. Setting this flag on allows you to use
forward kinematics to pose or adjust your skeleton and
then to animate it with inverse kinematics.
|
|
-snapHandleToEffector(-see)
|
|
|
|
All handles are immediately moved so that the handle
position and orientation matches the end-effector
position and orientation.
|
|
-sticky(-s)
|
string
|
|
|
Specifies that this handle is "sticky". Valid values are "off",
"sticky", "superSticky". Sticky handles
are solved when the skeleton is being manipulated
interactively. If a character has sticky feet, the
solver will attempt to keep them in the same position as
the user moves the character's root. If they were not
sticky, they would move along with the root.
|
|
-connectEffector(-ce)
|
boolean
|
|
|
This option is set to true as default, meaning that
end-effector translate is connected with the endJoint translate.
|
|
-jointList(-jl)
|
|
|
|
Returns the list of joints that the handle is manipulating.
|
|
-exists(-ex)
|
string
|
|
|
Indicates if the specified handle exists or not.
|
|
-setupForRPsolver(-srp)
|
boolean
|
|
|
If the flag is set and ikSolver is ikRPsolver, call
RPRotateSetup for the new ikHandle. It is for ikRPsolver only.
|
|
-enableHandles(-eh)
|
|
|
|
set given handles to full ik (ikBlend attribute = 1.0)
|
|
-disableHandles(-dh)
|
|
|
|
set given handles to full fk (ikBlend attribute = 0.0)
|
|
-curve(-c)
|
name
|
|
|
Specifies the curve to be used by the ikSplineHandle. Joints
will be moved to align with this curve. This flag is mandatory if you use
the -freezeJoints option.
|
|
-createCurve(-ccv)
|
boolean
|
|
|
Specifies if a curve should automatically be created for
the ikSplineHandle.
|
|
-freezeJoints(-fj)
|
boolean
|
|
|
Forces the curve, specfied by -curve option, to align itself along the existing joint chain.
When false, or unspecified, the joints will be moved to positions along the specified curve.
|
|
-simplifyCurve(-scv)
|
boolean
|
|
|
Specifies if the ikSplineHandle curve should be simplified.
|
|
-rootOnCurve(-roc)
|
boolean
|
|
|
Specifies if the root is
locked onto the curve of the ikSplineHandle.
|
|
-twistType(-tws)
|
string
|
|
|
Specifies the type of interpolation to
be used by the ikSplineHandle. The interpolation options are
"linear", "easeIn", "easeOut", and "easeInOut".
|
|
-createRootAxis(-cra)
|
boolean
|
|
|
Specifies if a root transform should automatically
be created above the joints affected by the ikSplineHandle.
This option is used to prevent the root flipping singularity
on a motion path.
|
|
-parentCurve(-pcv)
|
boolean
|
|
|
Specifies if the curve should automatically
be parented to the parent of the first joint affected
by the ikSplineHandle.
|
|
-snapCurve(-snc)
|
boolean
|
|
|
Specifies if the curve should automatically
snap to the first joint affected by the ikSplineHandle.
|
|
-numSpans(-ns)
|
int
|
|
|
Specifies the number of spans in the
automatically generated curve of the ikSplineHandle.
|
|
-rootTwistMode(-rtm)
|
boolean
|
|
|
Specifies whether the start joint is allowed to
twist or not. If not, then the required twist is distributed over the
remaining joints. This applies to all the twist types.
|
|