This object provides access to the HumanIK interface.
Other related reference items
Related help topics
character_aim_set_target_position ( unit, constraint_index, position )
This is a tuning operation for aim Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
position : |
Target position you want to reach. |
This function does not return any values. |
It allows you to update the target position for a specific aim Constraint, depending on the context.
character_aim_set_target_unit ( unit, constraint_index, target_unit, target_effector )
This is a tuning operation for aim Constraint.
|
unit : |
Unit associated to the Character evaluation context you want to query. | |
constraint_index : | number |
Index of the Constraint you want to query. |
target_unit : |
CHARACTERIZED unit you want to aim at (can be nil to switch to raw position aim). | |
target_effector : | number |
EffectorID of the effector you want to aim at. |
This function does not return any values. |
It allows you to update the target unit (and effector) for a specific aim Constraint, depending on the context.
character_declare_context ( unit, resource_name )
Declare a Character context.
|
unit : |
Unit you want to associate a context to. | |
resource_name : | string |
name of the .character resource associated to the unit. |
This function does not return any values. |
It is not necessary to explicitly declare Character context in most cases. Character contexts are automatically declared and created when an update event happens on the related unit It is only necessary to declare Character contexts when you want to setup IK or retargeting on a character before the first update happens on that Character, especially when using flow (if you do not declare the Context, the plug-in will discard your queries).
character_delete_context ( unit, resource_name )
Delete a Character context.
|
unit : |
Unit you want to delete the context. |
This function does not return any values. |
Character contexts gets automatically deleted when the world they belong is destroyed. Yet you might want to explicitely delete some character contexts on specific events (like a Unit Unspawn event). It is recommended to delete contexts on Characters you wont operate with HumanIK again for performances reasons. For instance, dead Characters should be deleted.
character_dump ( )
Dump all Character evaluation contexts information in the log.
|
This function does not accept any parameters. |
This function does not return any values. |
Useful for understanding/debugging. For all Character evaluation context, this lists all current Constraints and their main settings. Always call that function when you do not understand why a Character does not react properly.
character_dump_effectors ( unit )
Dump critical effectors information for a Character in the log.
|
unit : |
Unit you want the HumanIK effector information to get dumped into the log. |
This function does not return any values. |
Useful for understanding/debugging.
character_dump_in_file ( unit )
Dump all HumanIK structures Character evaluation contexts information into binary files on the hard drive
Files are dumped in the current directory.
|
unit : |
Unit you want the HumanIK information to get dumped into a file. |
This function does not return any values. |
Files are: hik_dump.hik: characterization hik_dump.hiks: character state hik_dump.hikes: effector state hik_dump.hikps: propery state)
character_fingers_get_factor ( unit, constraint_index, factor_id ) : number
Retrieve the finger extension factor for a fingers control Constraint
|
unit : |
Unit you want to retrieve the Fingers Control constraint "factor" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
factor_id : | number |
ID of the Constraint you want set (0: all, 1-5: fingers, 6:lateral spread) |
number |
Extension factor (0.0: No extension; 1.0: Full extension). |
character_fingers_is_all ( unit, constraint_index ) : boolean
Returns whether a specific fingers controls Constraint operates on all fingers at the same time
|
unit : |
Unit you want to retrieve the Fingers Control constraint "all" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if the Constraint operates on all fingers at the same time. |
character_fingers_is_left ( unit, constraint_index ) : boolean
Returns whether a specific fingers controls Constraint operates on the left hand
|
unit : |
Unit you want to retrieve the Fingers Control constraint "left" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if the Constraint operates on the left hand. |
character_fingers_set_all ( unit, constraint_index, all )
This is a tuning operation for a fingers control Constraint.
|
unit : |
Unit you want to set the Fingers Control constraint "all" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
all : | number |
Set to 1 for the fingers control to operate on all fingers at the same time |
This function does not return any values. |
It allows you to chose whether fingers control should operate on all fingers at the same time or not.
character_fingers_set_factor ( unit, constraint_index, factor_id, factor )
Set one of the finger extension factor for a fingers control Constraint
|
unit : |
Unit you want to set the Fingers Control constraint "factor" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
factor_id : | number |
ID of the Constraint you want set (0: all, 1-5: fingers, 6:lateral spread) |
factor : | number |
Extension factor (0.0: No extension; 1.0: Full extension). |
This function does not return any values. |
character_fingers_set_left ( unit, constraint_index, left )
This is a tuning operation for a fingers control Constraint.
|
unit : |
Unit you want to set the Fingers Control constraint "left" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
left : | number |
Set to 1 for the fingers control to operate on the left hand |
This function does not return any values. |
It allows you to chose whether the left hand is to be affected or not (or the right hand).
character_floor_get_feet_enabled ( unit, constraint_index ) : boolean
Asks whether feet are evaluated on a specific floor contact Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Floor Contact constraint "feet enabled" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if HumanIK feet solving is enabled. |
character_floor_get_hands_enabled ( unit, constraint_index ) : boolean
Asks whether feet are evaluated on a specific floor contact Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Floor Contact constraint "hands enabled" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if HumanIK hands solving is enabled. |
character_floor_get_nb_rays ( unit, constraint_index ) : number
Retrieve the number of rays that get cast to scan the ground topology
|
unit : |
Unit you want to retreive the Floor Contact constraint "nb rays" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Number of rays that get cast to scan the ground topology |
character_floor_get_ray_down_length ( unit, constraint_index ) : number
Retrieve ray down length for a floor constraint.
|
unit : |
Unit you want to retreive the Floor Contact constraint "ray down length" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Vertical distance downwards (from the ankle/wrists effectors) for the rayacst ray end position. |
character_floor_get_ray_up_length ( unit, constraint_index ) : number
Retrieve ray up length for a floor constraint.
|
unit : |
Unit you want to retreive the Floor Contact constraint "ray up length" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Vertical distance upwards (from the ankle/wrists effectors) for the raycast ray start position. |
character_floor_get_smoothing ( unit, constraint_index ) : number
Retrieve smoothing intensity for a floor constraint.
|
unit : |
Unit you want to retreive the Floor Contact constraint "hands enabled" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Smoothing intensity for the constraint |
character_floor_set_feet_enabled ( unit, constraint_index, enable_feet )
This is a tuning operation for a floor contact Constraint.
|
unit : |
Unit you want to set the Floor Contact constraint "feet enabled" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
enable_feet : | boolean |
Set to true to enable feet floor contact. |
This function does not return any values. |
It allows you to set whether feet floor contact should be enabled on a specific floor contact. Constraint or not, depending on the context.
character_floor_set_hands_enabled ( unit, constraint_index, enable_hands )
This is a tuning operation for a floor contact Constraint.
|
unit : |
Unit you want to set the Floor Contact constraint "feet enabled" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
enable_hands : | boolean |
Set to true to enable hands floor contact. |
This function does not return any values. |
It allows you to set whether hands floor contact should be enabled on a specific floor contact. Constraint or not, depending on the context.
character_floor_set_nb_rays ( unit, constraint_index, nb_rays )
Set the number of rays that get cast to scan the ground topology
|
unit : |
Unit you want to set the Floor Contact constraint "nb rays" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
nb_rays : | number |
Number of rays that get cast to scan the ground topology (1 is minimum; 9 is a generous value) |
This function does not return any values. |
character_floor_set_ray_down_length ( unit, constraint_index, ray_down_length )
Set the ray down length for a floor constraint.
|
unit : |
Unit you want to set the Floor Contact constraint "ray down length" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
ray_down_length : | number |
Vertical distance downwards (from the ankle/wrists effectors) for the raycast ray start position. |
This function does not return any values. |
character_floor_set_ray_up_length ( unit, constraint_index, ray_up_length )
Set the ray up length for a floor constraint.
|
unit : |
Unit you want to set the Floor Contact constraint "ray up length" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
ray_up_length : | number |
Vertical distance upwards (from the ankle/wrists effectors) for the raycast ray start position. |
This function does not return any values. |
character_floor_set_smoothing ( unit, constraint_index, smoothing )
Set the smoothing intensity for a plant constraint.
|
unit : |
Unit you want to set the Floor Contact constraint "smoothing" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
smoothing : | number |
Smoothing intensity for adjustments (0.0 means no smoothing at all) |
This function does not return any values. |
character_get_constraint_index_from_constraint_id ( unit, constraint_id ) : number
Retrieve the index of a Constraint int a Character evaluation context that is associated to a specific Constraint ID.
|
unit : |
Unit you want to query. | |
constraint_id : | number |
ID of the Constraint you are looking after. |
number |
Index of the Constraint in the IK Constraint stack of the Character evaluation context (-1 when not found). |
character_get_constraint_type ( unit, constraint_index ) : number
Retrieve the type of a constraint in the IK Constraints stack for a specific Character evaluation context.
|
unit : |
Unit you want to query. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Constraint type (see valued in main "HumanIK.lua" file). |
character_get_debug_name ( unit ) : string
Retrieve the debug name for a Character evaluation context.
|
unit : |
Unit you want to query. |
string |
A debug name for for the context. |
character_get_draw_rigs_flags ( unit ) : boolean, boolean, boolean
Retrieve flags indicateing whether FK and IK rigs should be drawn in the editor viewports.
|
unit : |
Unit you want to retrieve information from. |
boolean |
true if the FK rig has to be drawn in the editor viewports. |
boolean |
true if the IK rig has to be drawn in the editor viewports. |
boolean |
true if rigs should always be drawn, even when the unit is not selected. |
character_get_effector_transform ( unit, effector_id ) : stingray.Vector3, stingray.Quaternion
Retrieve the transformation (both position and orientation) of an Effector for a Character evaluation context.
|
unit : |
Unit you want to query for an effector transforms. | |
effector_id : | number |
Effector ID of the Effector you want to read the transformation. |
The Position of the Effector. | |
The Orientation of the Effector. |
character_get_line_position ( unit, line_index ) : stingray.Vector3, stingray.Vector3
Retrieve the position of the end points of a line in a Character evaluation context.
|
unit : |
Unit you want to query. | |
line_index : | number |
Index of the line you want to query. |
End point 1 position for the line (in world coordinates). | |
End point 2 position for the line (in world coordinates). |
character_get_marker_position ( unit, marker_index ) : stingray.Vector3
Retrieve the position of a marker in a Character evaluation context.
|
unit : |
Unit you want to query. | |
marker_index : | number |
Index of the marker you want to query. |
Position of the marker (in world coordinates). |
character_get_node_children_count ( unit, node_id ) : number
Retrieve the number of children nodes/joints of a node/joint.
|
unit : |
Unit you want to query. | |
node_id : | number |
ID of the node/joint to query. |
number |
The number of children nodes/joints for the specified node/joint. |
character_get_node_child_id ( unit, node_id, child_index ) : number
Retrieve the index of a child node/joint.
|
unit : |
Unit you want to query. | |
node_id : | number |
ID of the node/joint to query. |
child_index : | number |
Index of child node/joint to query. |
number |
Index of the child node. |
character_get_node_parent_id ( unit, node_id ) : number
Retrieve the index of a parent node/joint.
|
unit : |
Unit you want to query. | |
node_id : | number |
ID of the node/joint to query. |
number |
Index of the parent node. |
character_get_node_position ( unit, node_id, fk ) : stingray.Vector3
Retrieve the position of an Node for a Character evaluation context.
|
unit : |
Unit you want to query. | |
node_id : | number |
Node ID of the Node you want to read the position. |
fk : | boolean |
FK position when true, IK position when false |
The Position of the Node. |
character_get_node_transform ( unit, node_id, fk ) : stingray.Vector3, stingray.Quaternion
Retrieve the transformation (both position and orientation) of a node/bone for a Character evaluation context.
|
unit : |
Unit you want to query. | |
node_id : | number |
ID of the node/bone you want to read the transformation. |
fk : | number |
Set to 0 to query the IK position; Set to 1 to query the FK position. |
The Position of the node/bone. | |
The Orientation of the node/bone. |
Returns the FK position when fk is set to 1. Returns the IK position when fk is set to 0.
character_get_solve_flags ( unit ) : boolean, boolean
Retrieve flags indicating whether IK solve and FK updates are disabled for a specific Character evaluation context.
|
unit : |
Unit you want to retrieve information from. |
boolean |
true if IK solve is disabled for that context. |
boolean |
true if FK update is disabled for that context. |
character_get_source ( unit ) : number
Retrieve the source Character evaluation context a Character evaluation context is retargeting from.
|
unit : |
Unit you would like to retreive the retargeting source. |
number |
Index of the Character evaluation context used as source for retargeting (-1 if none). |
character_look_at_get_chest_contribution ( unit, constraint_index ) : number
Retrieve the chest contribution factor for a look at constraint.
|
unit : |
Unit you want to retrieve the Look At constraint "chest contribution" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Chest contribution factor (between 0.0 and 1.0) for the specified look at behavior. |
character_look_at_is_xy_only ( unit, constraint_index ) : boolean
Asks whether a look at Constraint only operates on the horizontal (XY) plan.
|
unit : |
Unit you want to retrieve the Look At constraint "xy only" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
boolean |
true if look at Constraint only operates on the horizontal (XY) plan. |
character_look_at_set_chest_contribution ( unit, constraint_index, chest_contribution )
Set the chest contribution factor for a look at constraint.
|
unit : |
Unit you want to set the Look At constraint "chest contribution" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
chest_contribution : | number |
Defines how much the chest can contribute to the target tracking (0.0: No contribution; 1.0: Full contribution). |
This function does not return any values. |
character_look_at_set_target_position ( unit, constraint_index, target_position )
This is a tuning operation for look at Constraint.
|
unit : |
Unit you want to set the Look At constraint "target position" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
target_position : |
Actual global position to look at. |
This function does not return any values. |
It allows you to update the target position for a specific look at Constraint, depending on the context.
character_look_at_set_target_unit ( unit, constraint_index, target_unit, target_effector )
This is a tuning operation for look at Constraint.
|
unit : |
Unit you want to set the Look At constraint "target unit" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
target_unit : |
CHARACTERIZED unit you want to look at (can be nil to switch to raw position look at). | |
target_effector : | number |
EffectorID of the effector you want to look at. |
This function does not return any values. |
It allows you to update the target unit (and effector) for a specific look at Constraint, depending on the context.
character_look_at_set_xy_only ( unit, constraint_index, restrain_to_xy_plan )
Restrain or not whether a look at Constraint only operates on the horizontal (XY) plan.
|
unit : |
Unit you want to set the Look At constraint "xy only" value. | |
constraint_index : | number |
Index of the Constraint you want to set. |
restrain_to_xy_plan : | boolean |
Restrain the head (and chest) motion to the XY plan. |
This function does not return any values. |
character_node_get_limits ( unit, node_id ) : stingray.Vector3, stingray.Vector3, stingray.Quaternion
Returns limits information for a Node for a Character evaluation context.
|
unit : |
Unit you want to query. | |
node_id : | number |
Node ID of the Node you want to query. |
The minimum limits (X, Y, Z) in euler/radians for the Node. | |
The maximum limits (X, Y, Z) in euler/radians for the Node. | |
The pre-rotation for the Node. |
character_node_get_limits_draw_info ( unit, node_id ) : number
Returns the number of lines to draw the limits info (and get ready for queries).
|
unit : |
Unit you want to query. | |
node_id : | number |
Node ID of the Node you want to query. |
number |
The number of lines to draw for limits. |
character_node_get_limits_draw_line ( unit, element_index ) : stingray.Vector3, stingray.Vector3, number, number, number
Returns a line composing a limits icon (endpoints and color)
|
unit : |
Unit you want to query. | |
element_index : | number |
Index of the element to get. |
The first end point position (absolute position). | |
The second end point position (absolute position). | |
number |
Red component of the element |
number |
Green component of the element |
number |
Blue component of the element |
character_node_has_limits ( unit, node_id ) : boolean
Retrieve whether a node is equipped with limits for a Character evaluation context.
|
unit : |
Unit you want to query. | |
node_id : | number |
Node ID of the Node you want to query. |
boolean |
true if the Node is equiped with limits. |
character_num_constraints ( unit ) : number
Retrieve the number of Constraints currently in the IK Constraints stack for a Character evaluation context.
|
unit : |
Unit you want to query. |
number |
Number of Constraints currently in the stack for that context. |
character_num_lines ( unit ) : number
Retrieve the number of lines associated to a Character evaluation context.
|
unit : |
Unit you want to query. |
number |
Number of lines associated to that context. |
Lines are mostly used for debugging purposes to display key positions during IK computations. A line pointing from a Character head to another Character head might. get generated by the look at Constraint, for instance.
character_num_markers ( unit ) : number
Retrieve the number of markers associated to a Character evaluation context.
|
unit : |
Unit you want to query. |
number |
Number of markers associated to that context. |
Markers are mostly used for debugging purposes to display key positions during IK computation. A ray cast collision point computed during floor contact computation might generate a marker, for instance.
character_offset_position_get_effector ( unit, constraint_index ) : number
Retrieve the Effector ID for a specific offset position Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Offset Position constraint "effector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
number |
The Effector ID of the offset rotation Constraint. |
character_offset_position_get_vector ( unit, constraint_index ) : stingray.Vector3
Retrieve the delta vector for a specific offset position Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to set the Offset Position constraint "vector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
The delta vector (displacement) for the offset rotation Constraint. |
character_offset_position_is_world_space ( unit, constraint_index ) : boolean
Returns whether a specific offset position Constraint is working in
World Space (as opposed to Local Space (latest evaluated pose)) in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retrieve the Offset Position constraint "world space" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if the Constraint is working in World Space. |
character_offset_position_set_effector ( unit, constraint_index, effector_id )
This is a tuning operation for an offset position Constraint.
|
unit : |
Unit you want to set the Offset Position constraint "effector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
This function does not return any values. |
It allows you to update the effector for a specific offset position Constraint, depending on the context.
character_offset_position_set_vector ( unit, constraint_index, delta )
This is a tuning operation for an offset position Constraint.
|
unit : |
Unit you want to set the Offset Position constraint "vector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
delta : |
Delta vector (displacement) for the position offset you want to apply. |
This function does not return any values. |
It allows you to update the delta vector for a specific offset position Constraint, depending on the context.
character_offset_position_set_world_space ( unit, constraint_index, world_space )
This is a tuning operation for an offset position Constraint.
|
unit : |
Unit you want to set the Offset Position constraint "world space" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
This function does not return any values. |
It allows you to update the space (World Space/Local Space (latest evaluated pose)) for a specific offset position Constraint, depending on the context.
character_offset_rotation_get_angle ( unit, constraint_index ) : number
Retrieve the rotation angle for a specific offset rotation Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Offset Rotation constraint "angle" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
number |
The angle, in degrees, of the offset rotation Constraint. |
character_offset_rotation_get_axis ( unit, constraint_index ) : stingray.Vector3
Retrieve the axis for a specific Offset Rotation Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Offset Rotation constraint "axis" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
The axis of the Offset Rotation Constraint. |
character_offset_rotation_get_effector ( unit, constraint_index ) : number
Retrieve the Effector ID for a specific Offset Rotation Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Offset Rotation constraint "effector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
number |
The Effector ID of the Offset Rotation Constraint. |
character_offset_rotation_is_world_space ( unit, constraint_index ) : boolean
Asks whether a specific offset rotation Constraint is working in World Space
(as opposed to Character Space) in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retreive the Offset Rotation constraint "is world space" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if the Constraint is working in World Space. |
character_offset_rotation_set_angle ( unit, constraint_index, angle )
This is a tuning operation for an offset rotation Constraint.
|
unit : |
Unit you want to set the Offset Rotation constraint "angle" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
angle : | number |
Angle (in degrees) for the rotation offset you want to apply. |
This function does not return any values. |
It allows you to update the angle of a specific offset rotation Constraint, depending on the context.
character_offset_rotation_set_axis ( unit, constraint_index, axis )
This is a tuning operation for an offset rotation Constraint.
|
unit : |
Unit you want to set the Offset Rotation constraint "axis" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
axis : |
Axis of the rotation offset you want to apply. |
This function does not return any values. |
It allows you to update the axis of rotation for a specific offset rotation Constraint, depending on the context.
character_offset_rotation_set_effector ( unit, constraint_index, effector )
This is a tuning operation for an offset rotation Constraint.
|
unit : |
Unit you want to set the Offset Rotation constraint "effector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
effector : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
This function does not return any values. |
It allows you to update the effector of a specific offset rotation Constraint, depending on the context.
character_offset_rotation_set_world_space ( unit, constraint_index, world_space )
This is a tuning operation for an offset rotation Constraint.
|
unit : |
Unit you want to set the Offset Rotation constraint "world space" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
This function does not return any values. |
It allows you to update the space (World Space/Local Space (latest evaluated pose)) for a specific offset rotation Constraint, depending on the context.
character_pin_get_effector ( unit, constraint_index ) : number
Retrieve the Effector ID for a specific pin Constraint in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retrieve the Pin constraint "effector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
number |
The Effector ID of the pin Constraint. |
character_pin_is_world_space ( unit, constraint_index ) : boolean
Returns whether a specific pin Constraint is working in
World Space (as opposed to Character Space) in the IK stack of a Character evaluation context.
|
unit : |
Unit you want to retrieve the Pin constraint "world space" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if the Constraint is working in World Space. |
character_pin_set_effector ( unit, constraint_index, effector_id )
This is a tuning operation for a pin Constraint.
|
unit : |
Unit you want to set the Pin constraint "effector" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
This function does not return any values. |
It allows you to update the effector for a specific pin Constraint, depending on the context.
character_pin_set_world_space ( unit, constraint_index, world_space )
This is a tuning operation for a pin Constraint.
|
unit : |
Unit you want to set the Pin constraint "world space" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
This function does not return any values. |
It allows you to update the space (World Space/Local Space (latest evaluated pose)) for a specific pin Constraint, depending on the context.
character_plant_get_depth ( unit, constraint_index ) : number
Retrieve planting depth for a plant constraint.
|
unit : |
Unit you want to retreive the Plant constraint "depth" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
The planting depth for the constraint |
character_plant_get_feet_enabled ( unit, constraint_index ) : boolean
Returns whether feet planting is enables
|
unit : |
Unit you want to retreive the Plant constraint "feet enabled" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
boolean |
true if planting is enabled on feet |
character_plant_get_hands_enabled ( unit, constraint_index ) : boolean
Returns whether hands planting is enables
|
unit : |
Unit you want to retreive the Plant constraint "feet enabled" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
boolean |
true if planting is enabled on hands |
character_plant_get_nb_rays ( unit, constraint_index ) : number
Retrieve the number of rays that get cast to scan the ground topology
|
unit : |
Unit you want to retreive the Plant constraint "nb rays" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Number of rays that get cast to scan the ground topology |
character_plant_get_ray_down_length ( unit, constraint_index ) : number
Retrieve ray down length for a plant constraint.
|
unit : |
Unit you want to retreive the Plant constraint "ray down length" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Vertical distance downwards (from the ankle/wrists effectors) for the rayacst ray end position. |
character_plant_get_ray_up_length ( unit, constraint_index ) : number
Retrieve ray up length for a plant constraint.
|
unit : |
Unit you want to retreive the Plant constraint "ray up length" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Vertical distance upwards (from the ankle/wrists effectors) for the raycast ray start position. |
character_plant_get_smoothing ( unit, constraint_index ) : number
Retrieve smoothing intensity for a plant constraint.
|
unit : |
Unit you want to retreive the Plant constraint "smoothing" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Smoothing intensity for the constraint |
character_plant_is_relative ( unit, constraint_index ) : boolean
Returns whether planting is working in relative mode
|
unit : |
Unit you want to retreive the Plant constraint "is relative" value. | |
constraint_index : | number |
Index of the Constraint you want to query. |
boolean |
true if planting works in relative mode |
character_plant_set_depth ( unit, constraint_index, depth )
Set the planting depth for a plant constraint
|
unit : |
Unit you want to set the Plant constraint "depth" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
depth : | number |
Planting depth (0.0 means exactly on floor surface; 0.03 is usually a good value). |
This function does not return any values. |
character_plant_set_feet_enabled ( unit, constraint_index, feet )
Enable or disable feet planting
|
unit : |
Unit you want to set the Plant constraint "feet enabled" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
feet : | boolean |
Set to true to enable feet planting |
This function does not return any values. |
character_plant_set_hands_enabled ( unit, constraint_index, hands )
Enable or disable hands planting
|
unit : |
Unit you want to set the Plant constraint "hands enabled" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
hands : | boolean |
Set to true to enable hands planting (mostly for quadrupeds) |
This function does not return any values. |
character_plant_set_nb_rays ( unit, constraint_index, nb_rays )
Set the number of rays that get cast to scan the ground topology
|
unit : |
Unit you want to set the Plant constraint "nb rays" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
nb_rays : | number |
Number of rays that get cast to scan the ground topology (1 is minimum; 9 is a generous value) |
This function does not return any values. |
character_plant_set_ray_down_length ( unit, constraint_index, ray_down_length )
Set the ray down length for a plant constraint.
|
unit : |
Unit you want to set the Plant constraint "ray down length" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
ray_down_length : | number |
Vertical distance downwards (from the ankle/wrists effectors) for the rayacst ray end position |
This function does not return any values. |
character_plant_set_ray_up_length ( unit, constraint_index, ray_up_length )
Set the ray up length for a plant constraint.
|
unit : |
Unit you want to set the Plant constraint "ray up length" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
ray_up_length : | number |
Vertical distance upwards (from the ankle/wrists effectors) for the raycast ray start position. |
This function does not return any values. |
character_plant_set_relative ( unit, constraint_index, hands )
Enable or disable relative planting mode (preserve FK altitude)
|
unit : |
Unit you want to set the Plant constraint "relative" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
hands : | boolean |
Set to true to enable relative mode (preserve FK altitude) |
This function does not return any values. |
character_plant_set_smoothing ( unit, constraint_index, smoothing )
Set the smoothing intensity for a plant constraint.
|
unit : |
Unit you want to set the Plant constraint "smoothing" value. | |
constraint_index : | number |
Index of the Constraint you want to tune. |
smoothing : | number |
Smoothing intensity for adjustments (0.0 means no smoothing at all) |
This function does not return any values. |
character_pop ( unit )
Remove the latest Constraint pushed into the Character IK Constraints stack.
|
unit : |
Unit you want the Character evaluation context to be poped by one constraint. |
This function does not return any values. |
character_pop_all ( unit )
Remove all constraints pushed into the Character IK Constraints stack.
|
unit : |
Unit you want the Character evaluation context to be cleared. |
This function does not return any values. |
After that call, the IK Constraints stack for that Character will be empty.
character_push_aim ( unit, attachment_effectorID, hips_contribution, chest_contribution, shoulder_contribution, elbow_contribution, reference_target_bone, pin_other_hand, target_unit, target_effector, target_position, aim_at_position, max_angular_speed, contact, alpha, blend_in_time, constraint_id )
Push an aim Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Aim constraint on. | |
attachment_effectorID : | number |
ID of the effector where the weapon is attached. |
hips_contribution : | number |
Hips contribution factor to the aiming effort (between 0.0 and 1.0) |
chest_contribution : | number |
Chest contribution factor to the aiming effort (between 0.0 and 1.0) |
shoulder_contribution : | number |
Shoulder contribution factor to the aiming effort (between 0.0 and 1.0) |
elbow_contribution : | number |
Elbow contribution factor to the aiming effort (between 0.0 and 1.0) |
reference_target_bone : | number |
The unit reference target bone object node index. |
pin_other_hand : | boolean |
Pin other hand (the one the weapon is not parented to) to its relative position to the gun (for 2 handed weapons, when pivot is not chest or hips) |
target_unit : | number |
CHARACTERIZED unit you want to aim at (set to nil for target position aim at). |
target_effector : | number |
EffectorID of the target unit to aim at (can be -1 when aiming at a target position) |
target_position : |
Actual target position (when aim_at_position is true) | |
aim_at_position : | boolean |
Set to true to aim target position, set to false to aim at target unit |
max_angular_speed : | number |
Maximal angular speed for the tracking vector (degrees per second). |
contact : | boolean |
Set to true when dealing with contact weapons (or no punching) |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
An aim Constraints reorients a character part (usually an elbow, a shoulder, a chest or the hips) to point to an aiming target Several aiming Constraints can be simultaneously active on a character to distribute the aiming effort over several body parts (with different alpha values)
character_push_fingers_control ( unit, all, left, hand_factor, factor_1, factor_2, factor_3, factor_4, factor_5, spread, alpha, blend_in_time, constraint_id )
Push a fingers control Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Fingers Control constraint on. | |
all : | number |
Set to 1 for the fingers control to operate on all fingers at the same time. |
left : | number |
Set to 1 for the fingers control to operate on the left hand. |
hand_factor : | number |
Extension factor for the whole hand (0.0: No extension; 1.0: Full extension). |
factor_1 : | number |
Extension factor for the finger 1 (0.0: No extension; 1.0: Full extension). |
factor_2 : | number |
Extension factor for the finger 2 (0.0: No extension; 1.0: Full extension). |
factor_3 : | number |
Extension factor for the finger 3 (0.0: No extension; 1.0: Full extension). |
factor_4 : | number |
Extension factor for the finger 4 (0.0: No extension; 1.0: Full extension). |
factor_5 : | number |
Extension factor for the finger 5 (0.0: No extension; 1.0: Full extension). |
spread : | number |
Lateral spread factor (0.0: Not spread; 1.0: Full spread). |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
character_push_floor ( unit, enable_feet, enable_hands, constraint_id, smoothing, nb_rays, ray_up_length, ray_down_length )
Push a floor contact Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the floor constraint on. | |
enable_feet : | boolean |
Set to true to enable feet floor contact. |
enable_hands : | boolean |
Set to true to enable hands floor contact. |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required) |
smoothing : | number |
Smoothing intensity to avoid sharp adjustments (0.0 means disable) |
nb_rays : | number |
Number of rays to cast to scan terrain position and normal (1 is minimum; 9 is a generous value) |
ray_up_length : | number |
Vertical distance upwards (from the ankle/wrists effectors) for the raycast ray start position |
ray_down_length : | number |
Vertical distance downwards (from the ankle/wrists effectors) for the rayacst ray end position |
This function does not return any values. |
The floor contact Constraint only affects legs and arms and does not affect hips nor chest. The purpose of this Constraint is to avoid feet and hands penetration inside the terrain geometry. If you also want to update hips and/or chest, you can call the plant Constraint first.
character_push_invert ( unit, limb_name )
Push an invert Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Invert constraint on. | |
limb_name : | string |
Name of the limb you want to invert (Accepted values are: "Left Leg", "Right Leg", "Left Arm", "Right Arm"). |
This function does not return any values. |
The 'invert' Constraint enables a Character limb to bend in the opposite direction you would expect (like a knee bending frontward). This is useful when dealing with special bipeds where this is the expected behavior like chickens.
character_push_lod ( unit, low_definition_retarget, low_definition_solve )
Push a LOD Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the LOD constraint on. | |
low_definition_retarget : | boolean |
Use low definition retarget (true) or full precision retarget (false). |
low_definition_solve : | boolean |
Use low definition solver (true) or full precision solver (false). |
This function does not return any values. |
The LOD solver (low definition solver) operates 10x faster than the full precision solver. In many situations, the results are fair enough for characters standing far from the camera. It is totally legitimate to use both the low definition and the high definition solver during a multipass solve.
character_push_look_at ( unit, target_unit, target_effector, target_position, look_at_position, restrain_to_xy_plan, chest_contribution, max_angular_speed, enable_limits, max_horizontal_angle, max_vertical_angle, alpha, blend_in_time, constraint_id )
Push a look at Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Look At constraint on. | |
target_unit : | number |
CHARACTERIZED unit you want to aim at (can be nil when look_at_position is set to true). |
target_effector : | number |
Effector ID of the target effector you want to look at (can be -1 when look_at_position is set to false). |
target_position : |
Actual target position (when look_at_position is true) | |
look_at_position : | boolean |
Set to true to look at target position, set to false to look at target unit. |
restrain_to_xy_plan : | boolean |
Restrain the head (and chest) motion to the XY plan. |
chest_contribution : | number |
Defines how much the chest can contribute to the target tracking (0.0: No contribution; 1.0: Full contribution). |
max_angular_speed : | number |
Maximal angular speed for the tracking vector (degrees per second). |
enable_limits : | boolean |
Set to true to enable FOV limits. |
max_horizontal_angle : | number |
Maximal horizontal angle (60 means: you can turn the head up to 60 degrees left and 60 degrees right). |
max_vertical_angle : | number |
Maximal vertical angle (30 means: you can turn the head up to 30 degrees up and 30 degrees down). |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
A 'look at' Constraint enables a Character to look at another Character.
character_push_offset_position ( unit, effector_id, delta, world_space, alpha, blend_in_time, constraint_id )
Push an offset position Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Offset Position constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
delta : |
Delta vector (displacement) for the position offset you want to apply. | |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'offset position' Constraint enables you to set a position offset for a specific effector to get applied. The position offset can either be expressed in world space or in local space (latest evaluated pose) depending on the world_space value.
character_push_offset_rotation ( unit, effector_id, axis, angle, world_space, alpha, blend_in_time, constraint_id )
Push an offset rotation Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Offset Rotation constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
axis : |
Axis of for the rotation offset you want to apply. | |
angle : | number |
Angle (in degrees) for the rotation offset you want to apply. |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'offset rotation' Constraint enables you to set a rotation offset for a specific effector to get applied. The rotation offset can either be expressed in world space or in local space (latest evaluated pose) depending on the world_space value.
character_push_partial_solving ( unit, solve_left_arm, solve_right_arm, solve_left_leg, solve_right_leg, solve_left_shoulder, solve_right_shoulder, solve_left_hand, solve_right_hand, solve_left_foot, solve_right_foot, solve_head, solve_spine )
Push a Partial Solving Settings Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the LOD constraint on. | |
solve_left_arm : | boolean |
Solve or do not solve the left arm. |
solve_right_arm : | boolean |
Solve or do not solve the right arm. |
solve_left_leg : | boolean |
Solve or do not solve the left leg. |
solve_right_leg : | boolean |
Solve or do not solve the right leg. |
solve_left_shoulder : | boolean |
Solve or do not solve the left shoulder. |
solve_right_shoulder : | boolean |
Solve or do not solve the right shoulder. |
solve_left_hand : | boolean |
Solve or do not solve the left hand. |
solve_right_hand : | boolean |
Solve or do not solve the right hand. |
solve_left_foot : | boolean |
Solve or do not solve the left foot. |
solve_right_foot : | boolean |
Solve or do not solve the right foot. |
solve_head : | boolean |
Solve or do not solve the head. |
solve_spine : | boolean |
Solve or do not solve the spine. |
This function does not return any values. |
By default, all body parts are solved on a character. Insert this constraint in the IK constraint stack to limit the solving to certain body parts. It is correct to insert several Partial Solving Settings Constraint in the IK constraints stack when implementing multipass solve. (Note the solved parts are automatically reset to "all" after each call to a Solve Constraint).
character_push_pin ( unit, effector_id, world_space, alpha, blend_in_time, constraint_id )
Push a pin Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Pin constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
world_space : | number |
Set to 1 to work in World Space, Set to 0 to work in Character Space. |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
A 'pin' Constraint is an easy way to lock an effector to its initial position (either in World Space or Character Space).
character_push_plant ( unit, enable_feet, enable_hands, constraint_id, nb_rays, ray_up_length, ray_down_length, relative, smoothing, depth, affect_chest_rotation, affect_hips_rotation )
Push a plant Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the plant constraint on. | |
enable_feet : | boolean |
Set to true to enable feet floor planting. |
enable_hands : | boolean |
Set to true to enable hands floor planting. |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
nb_rays : | number |
Number of rays to cast to scan terrain position and normal (1 is minimum; 9 is a generous value) |
ray_up_length : | number |
Vertical distance upwards (from the ankle/wrists effectors) for the raycast ray start position |
ray_down_length : | number |
Vertical distance downwards (from the ankle/wrists effectors) for the rayacst ray end position |
relative : | boolean |
Set to true to enable relative floor planting (preserve FK altitude for ankles and hips). |
smoothing : | number |
Smoothing intensity (0.0 means no smoothing 1.5 is usually a good value). |
depth : | number |
Planting depth (0.0 means exactly on floor surface; 0.03 is usually a good value). |
affect_chest_rotation : | number |
How much (between 0.0 and 1.0) the chest rotation can be affected by this node (0.05 is usually a good value) |
affect_hips_rotation : | number |
How much (between 0.0 and 1.0) the hips rotation can be affected by this node (0.2 is usually a good value) |
This function does not return any values. |
The purpose of this Constraint is to plant feet and hands inside the terrain geometry. In order to do this, the Constraint can move the Character hips, mostly vertically. Usually, a floor contact Constraint gets pushed on the stack imediately after the plant Constraint.
character_push_property_value ( unit, property_id, value )
Push a property value change on a Character context IK Constraint stack
This allow fine tuning on both solving and retargeting.
|
unit : |
Unit you want the Property Value constraint to be pushed on. | |
property_id : | number |
ID of the property to change the value |
value : | number |
New value for the property |
This function does not return any values. |
character_push_pull ( unit, effector_id, alpha, blend_in_time, constraint_id )
Push a pull Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Fingers Control constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'pull' Constraint enables actual full body IK: the possibility for an effector to drag the entiere body to satisfy its Constraints.
character_push_reach_orientation ( unit, effector_id, euler_orientation, world_space, alpha, blend_in_time, constraint_id )
Push a reach orientation Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Reach Orientation constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
euler_orientation : |
Target orientation you want to reach (in euler angles). | |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'reach orientation' Constraint enables you to set a target orientation for a specific effector to get reached. The target orientation can either be expressed in world space or in local space (latest evaluated pose) depending on the world_space value.
character_push_reach_position ( unit, effector_id, position, world_space, alpha, blend_in_time, constraint_id )
Push a reach position Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Reach Position constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
position : |
Target position you want to reach. | |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'reach position' Constraint enables you to set a target position for a specific effector to get reached. The target position can either be expressed in world space or in local space (latest evaluated pose) depending on the world_space value.
character_push_relative_pin ( unit, effector_id, pin_to_unit, pin_to_unit_object, translation, rotation, pull, alpha, blend_in_time, constraint_id )
Push a relative pin Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Relative Pin constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
pin_to_unit : |
The unit to use for relative pinning. | |
pin_to_unit_object : | number |
The unit object node index. |
translation : | number |
Translation factor (between 0.0 and 1.0) (set to 1.0 by default) |
rotation : | number |
Rotation factor (between 0.0 and 1.0) (set to 1.0 by default) |
pull : | number |
Pull factor (between 0.0 and 1.0). |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
A relative pin Constraint pins an effector to an external unit (so when this external unit moves or rotates, the effector will track its movements)
character_push_resist ( unit, effector_id, alpha, blend_in_time, constraint_id )
Push a resist Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want to push the Resist constraint on. | |
effector_id : | number |
Effector ID of the effector (Hips, LeftWrist, ...) you want the Constraint to get applied to. |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'resist' Constraint is only effective in full body IK; it indicates how much an effector should try to preserve its original FK orientation.
character_push_solve ( unit )
Push a test solve request on a Character context IK Constraint stack
By default, an IK Constraint stack automatically gets solved after all IK Constraints have been applied.
|
unit : |
Unit you want the solve constraint to be pushed on. |
This function does not return any values. |
In some cases, though, it might be useful to solve the Character several times during the same frame. This solve request enables multi-pass solving and can be inserted anywhere in the IK Constraint stack.
character_push_test_biped ( unit, alpha, blend_in_time, constraint_id )
Push a test biped Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want the Test Biped constraint to be applied to. | |
alpha : | number |
Alpha value (strength/intensity) of the Constraint (between 0.0 and 1.0). |
blend_in_time : | number |
Time (in seconds) for the Constraint to become fully active (to reach its alpha value). |
constraint_id : | number |
Constraint ID for later retrieving and tuning the Constraint (can be -1 if no tracking is required). |
This function does not return any values. |
The 'test biped' Constraint is an easy way to check a biped skeletal unit can properly be manipulated by HumanIK. When pushing this Constraint on a biped unit, you should see it starting to move its hips, chest and wrist to follow test motions.
character_push_test_quadruped ( unit )
Push a test quadruped Constraint on a Character context IK Constraint stack.
|
unit : |
Unit you want the Test Quadruped constraint to be applied to. |
This function does not return any values. |
The 'test quadruped' Constraint is a easy way to check a quadruped skeletal unit can properly be manipulated by HumanIK. When pushing this Constraint on a quadruped unit, you should see it starting to move its hips and chest while keeping its feet planted on the ground.
character_reach_orientation_set_orientation ( unit, constraint_index, euler_orientation )
This is a tuning operation for reach orientation Constraint.
|
unit : |
Unit you want to set the Reach Orientation constraint "orientation" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
euler_orientation : |
Target orientation you want to reach (in euler angles). |
This function does not return any values. |
It allows you to update the target orientation for a specific reach orientation Constraint, depending on the context.
character_reach_position_set_position ( unit, constraint_index, position )
This is a tuning operation for reach position Constraint.
|
unit : |
Unit you want to set the Reach Position constraint "position" value. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
position : |
Target position you want to reach. |
This function does not return any values. |
It allows you to update the target position for a specific reach position Constraint, depending on the context.
character_relative_pin_refresh ( unit, constraint_index )
Refreshes the relative transform between the external unit and the pinned effector.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
This function does not return any values. |
At refresh time, the Constraints compute and store a relative transform between the effector (in its FK state) and the external unit; the Constraint will preserve this relative transform during the next frames.
character_set_blend_alpha ( unit, constraint_index, alpha )
Sets the alpha value for a specific Constraint in a Character evaluation context.
|
unit : |
Unit associated to the evaluation context to modify. | |
constraint_index : | number |
Index of the Constraint to set the alpha to. |
alpha : | number |
Alpha value (intensity) for that Constraint (between 0.0 and 1.0). |
This function does not return any values. |
The alpha value indicated the strength/intensity of a Constraint. When alpha is set to 0.0, the Constraint has no visible effect. When alpha is set to 1.0, the Constraint is fully active.
character_set_draw_rigs_flags ( unit, draw_fk, draw_ik, draw_always )
This enables to switch off FK and IK rig rendering in the editor viewports.
|
unit : |
Unit you want to affect. | |
draw_fk : | boolean |
Set to true to draw the FK rig in the editor viewports. |
draw_ik : | boolean |
Set to true to draw the IK rig in the editor viewports. |
draw_always : | boolean |
Set to true to always draw the rigs in the editor viewports, even when the unit is not selected. |
This function does not return any values. |
character_set_solve_flags ( unit, disable_ik, disable_fk )
This enables to switch off the IK solving and/or the FK update for a specific Character evaluation context.
|
unit : |
Unit you want to affect. | |
disable_ik : | boolean |
Set to true to disable IK solve. |
disable_fk : | boolean |
Set to true to disable FK update. |
This function does not return any values. |
character_set_source ( target_unit, source_unit )
This is the main function for enabling/disabling retargeting between units.
|
target_unit : |
Unit associated to the evaluation context to retarget to. | |
source_unit : |
Unit associated to the evaluation context to retarget from. |
This function does not return any values. |
To disable retargeting, you can set the value of source_context_index to -1
creature_chain_motion_set_amplitude ( unit, constraint_index, amplitude )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
amplitude : | number |
Amplitude of the motion to be applied |
This function does not return any values. |
It allows you to update the motion amplitude for a specific Chain Motion Constraint, depending on the context.
creature_chain_motion_set_chain_index ( unit, constraint_index, chain_index )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
chain_index : | number |
Index of the Chain you want the Constraint to get applied to. |
This function does not return any values. |
It allows you to update the chain index for a specific Chain Motion Constraint, depending on the context.
creature_chain_motion_set_frequency ( unit, constraint_index, frequency )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
frequency : | number |
Frequency of the motion to be applied |
This function does not return any values. |
It allows you to update the motion frequency for a specific Chain Motion Constraint, depending on the context.
creature_chain_motion_set_phase ( unit, constraint_index, phase )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
phase : | number |
Phase of the motion to be applied. |
This function does not return any values. |
It allows you to update the motion phase for a specific Chain Motion Constraint, depending on the context.
creature_chain_motion_set_pull ( unit, constraint_index, pull )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
pull : | number |
Pull intensity of the motion. |
This function does not return any values. |
It allows you to update the pull intensity of the motion for a specific Chain Motion Constraint, depending on the context. Note pull can only be active when reach_t > 0.0
creature_chain_motion_set_reach_r ( unit, constraint_index, reach_r )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
reach_r : | number |
Rotation reach blending factor for the motion. |
This function does not return any values. |
It allows you to update the rotation reach blending factor of the motion for a specific Chain Motion Constraint, depending on the context.
creature_chain_motion_set_reach_t ( unit, constraint_index, reach_t )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
reach_t : | number |
Position reach blending factor for the motion. |
This function does not return any values. |
It allows you to update the position reach blending factor of the motion for a specific Chain Motion Constraint, depending on the context.
creature_chain_motion_set_type ( unit, constraint_index, motion_type )
This is a tuning operation for a Chain Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
motion_type : | number |
Type of motion to be applied: // 0: no motion // 1: move effector position on a circle on the horizontal plan axis // 2: move effector position on the up axis, cosine movement // 3: move effector position on the right axis, cosine movement // 4: move effector position on the front axis, cosine movement // 5: move effector position around // 6: rotate effector on roll axis // 7: rotate effector on pitch axis // 8: rotate effector on yaw axis |
This function does not return any values. |
It allows you to update the motion type for a specific Chain Motion Constraint, depending on the context.
creature_chain_pin_get_chain_index ( unit, constraint_index ) : number
Retrieve the Chain index for the specified Chain Pin Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Index of the Chain for the specified Chain Pin Constraint. |
creature_chain_pin_is_world_space ( unit, constraint_index ) : boolean
Returns whether a specific Chain Pin Constraint is working in World Space
(as opposed to Local Space (from latest evaluated pose)) for a specific Chain Pin Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to query. |
boolean |
true if the Constraint is working in World Space. |
creature_chain_pin_set_chain_index ( unit, constraint_index, chain_index )
This is a tuning operation for a Chain Pin Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
chain_index : | number |
Index of the Chain you want the Constraint to get applied to. |
This function does not return any values. |
It allows you to update the effector for a specific Chain Pin Constraint, depending on the context.
creature_chain_pin_set_world_space ( unit, constraint_index, world_space )
This is a tuning operation for a Chain Pin Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Character evaluation context stack you want to set. |
world_space : | number |
Set to 1 to work in World Space, otherwise reference pose is the latest evaluated pose (in local coordinates) |
This function does not return any values. |
It allows you to update the space (World Space/Local Space (latest evaluated pose)) for a specific Chain Pin Constraint, depending on the context.
creature_declare_context ( unit, resource_name )
Declare a Creature context.
|
unit : |
Unit you want to associate a context to. | |
resource_name : | string |
name of the .creature resource associated to the unit. |
This function does not return any values. |
It is not necessary to explicitely declare Creature context in most cases. Creature contexts are automatically declared and created when an update event happens on the related unit It is only necessary to declare Creature contexts when you want to setup IK or retargeting on a creature before the first update happens on that Creature, especially when using flow (if you do not declare the Context, the plug-in will discard your queries).
creature_delete_context ( unit, resource_name )
Delete a Creature context.
|
unit : |
Unit you want to delete the context. |
This function does not return any values. |
Creature contexts gets automatically deleted when the world they belong is destroyed. Yet you might want to explicitely delete some Creature contexts on specific events (like a Unit Unspawn event). It is recommended to delete contexts on Creatures you wont operate with HumanIK again for performances reasons. For instance, dead Creatures should be deleted.
creature_dump ( )
Dump all Creature evaluation contexts information in the log.
|
This function does not accept any parameters. |
This function does not return any values. |
Useful for understanding/debugging. For all Creature evaluation context, this will list all current Constraints and their settings. Always call that function when you do not understand why a Creature does not react properly.
creature_section_motion_get_amplitude ( unit, constraint_index ) : number
Retrieve the amplitude for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Amplitude of the motion for the specified Section Motion Constraint. |
creature_section_motion_get_frequency ( unit, constraint_index ) : number
Retrieve the frequency for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Frequency (in Hz) of the motion for the specified Section Motion Constraint. |
creature_section_motion_get_phase ( unit, constraint_index ) : number
Retrieve the phase for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Phase (in seconds) of the motion for the specified Section Motion Constraint. |
creature_section_motion_get_pull ( unit, constraint_index ) : number
Retrieve the pull strength for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Pull strength (between 0.0 and 1.0) of the motion for the specified Section Motion Constraint. |
creature_section_motion_get_reach_r ( unit, constraint_index ) : number
Retrieve the orientation reach blending factor for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Orientation reach blending factor (between 0.0 and 1.0) of the motion for the specified Section Motion Constraint. |
creature_section_motion_get_reach_t ( unit, constraint_index ) : number
Retrieve the translation reach blending factor for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Translation reach blending factor (between 0.0 and 1.0) of the motion for the specified Section Motion Constraint. |
creature_section_motion_get_section_index ( unit, constraint_index ) : number
Retrieve the Section index for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Index of the Section for the specified Section Motion Constraint. |
creature_section_motion_get_type ( unit, constraint_index ) : number
Retrieve the type for the specified Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint you want to query. |
number |
Type of the motion for the specified Section Motion Constraint. |
creature_section_motion_set_amplitude ( unit, constraint_index, amplitude )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
amplitude : | number |
Amplitude of the motion to be applied. |
This function does not return any values. |
It allows you to update the motion amplitude for a specific Section Motion Constraint, depending on the context.
creature_section_motion_set_frequency ( unit, constraint_index, frequency )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
frequency : | number |
Frequency of the motion to be applied. |
This function does not return any values. |
It allows you to update the motion frequency for a specific Section Motion Constraint, depending on the context.
creature_section_motion_set_phase ( unit, constraint_index, phase )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
phase : | number |
Phase of the motion to be applied. |
This function does not return any values. |
It allows you to update the motion phase for a specific Section Motion Constraint, depending on the context.
creature_section_motion_set_pull ( unit, constraint_index, pull )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
pull : | number |
Pull intensity of the motion. |
This function does not return any values. |
It allows you to update the pull intensity of the motion for a specific Section Motion Constraint, depending on the context. Note pull can only be active when reach_t > 0.0
creature_section_motion_set_reach_r ( unit, constraint_index, reach_r )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
reach_r : | number |
Rotation reach blending factor for the motion. |
This function does not return any values. |
It allows you to update the rotation reach blending factor of the motion for a specific Section Motion Constraint, depending on the context.
creature_section_motion_set_reach_t ( unit, constraint_index, reach_t )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
reach_t : | number |
Position reach blending factor for the motion. |
This function does not return any values. |
It allows you to update the position reach blending factor of the motion for a specific Section Motion Constraint, depending on the context.
creature_section_motion_set_section_index ( unit, constraint_index, section_index )
This is a tuning operation for a Section Pin Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
section_index : | number |
Index of the Section you want the Constraint to get applied to. |
This function does not return any values. |
It allows you to update the section index for a specific Section Pin Constraint, depending on the context.
creature_section_motion_set_type ( unit, constraint_index, motion_type )
This is a tuning operation for a Section Motion Constraint.
|
unit : |
Unit you want to set. | |
constraint_index : | number |
Index of the Constraint in the Creature evaluation context stack you want to set. |
motion_type : | number |
Type of motion to be applied:
|
This function does not return any values. |
It allows you to update the motion type for a specific Section Motion Constraint, depending on the context.
enable ( do_enable )
Enable or disable HumanIK.
|
do_enable : | boolean |
Set to true to enable HumanIK; set to false to disable HumanIK. |
This function does not return any values. |
If you do not intend to use HumanIK, it is better to keep it disabled to spare CPU time.
enable_collisions_debug ( do_enable )
Enable or disable collisions debug when (X-rays mode has to be on).
|
do_enable : | boolean |
Set to true to enable collisions debug mode; set to false to disable collisions debug mode. |
This function does not return any values. |
This helps visualizing, understanding and debugging floor contact issues.
enable_x_rays ( do_enable )
Enable or disable X-rays mode.
|
do_enable : | boolean |
Set to true to enable X-rays mode; set to false to disable X-rays mode. |
This function does not return any values. |
X-rays mode displays quantity of useful debug information in the game viewport (rigs, targets, markers, ...).
is_enabled ( ) : boolean
Returns whether HumanIK is enabled or not.
|
This function does not accept any parameters. |
boolean |
true if HumanIK is enabled. |
reveal_all ( do_reveal )
Mostly used at edition time to display FK rigs and IK rigs as well as markers for understanding/debugging IK (only in the editor viewport).
|
do_reveal : | boolean |
Set to true to display all HumanIK rigs and markers; set to false to conceal them. |
This function does not return any values. |