HAnimIKSite
A specialized HAnimSite node for handling inverse kinematics (IK).
Inheritance
Code
XML encoding
<HAnimIKSite fraction='0' target='0 0 0' targetRotation='0 0 0 1' aimingTranslation='0 0 0' aimingRotation='0 0 0 1' numJoints='3' motionPathTension='-0.4' motionPathShape='auto' minTurnAngle='0.2' maxTurnAngle='1.5' turnFactor='0.6' jointNames='' name='' center='0 0 0' rotation='0 0 1 0' scale='1 1 1' scaleOrientation='0 0 1 0' translation='0 0 0' invert='FALSE' showProxyGeometry='FALSE' bboxCenter='0 0 0' bboxSize='-1 -1 -1' render='TRUE' showBBox='FALSE' logFeature='' />
Classic encoding
HAnimIKSite { fraction 0 target 0 0 0 targetRotation 0 0 0 1 aimingTranslation 0 0 0 aimingRotation 0 0 0 1 numJoints 3 motionPathTension -0.4 motionPathShape "auto" minTurnAngle 0.2 maxTurnAngle 1.5 turnFactor 0.6 jointNames [""] name "" center 0 0 0 rotation 0 0 1 0 scale 1 1 1 scaleOrientation 0 0 1 0 translation 0 0 0 invert FALSE showProxyGeometry FALSE bboxCenter 0 0 0 bboxSize -1 -1 -1 render TRUE showBBox FALSE logFeature [""] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
addChildren | MFNode | inputOnly | The addChildren event appends nodes to the children field of a grouping node. Any nodes passed to the addChildren inputOnly field that are already in the children list of the grouping node are ignored | |||
children | MFNode | inputOutput | Node | field that contains a list of children nodes | ||
removeChildren | MFNode | inputOnly | The removeChildren event removes nodes from the children fieldof the grouping node . Any nodes in the removeChildren event that are not in the children list of the grouping node are ignored | |||
jointNames | MFString | inputOutput | Pass the names of the involved joint, e.g. one name for the vl5-joint. | |||
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||
invert | SFBool | inputOutput | FALSE | inverts matrix if true | ||
render | SFBool | inputOutput | TRUE | Flag to control the visibility of the node or subtree | ||
showBBox | SFBool | inputOutput | FALSE | Show Bounding Box of Subtree. | ||
showProxyGeometry | SFBool | inputOutput | FALSE | show cartesian coordinate system | ||
fraction | SFFloat | inputOutput | 0 | This field can be set to float values between 0 (start) and 1 (end) to animate the avatar with this HAnimIKSite. | ||
maxTurnAngle | SFFloat | inputOutput | 1.5 | This is the maximal angle the torso turns. | ||
minTurnAngle | SFFloat | inputOutput | 0.2 | This is the minimal angle, the target has to be away, so that the torso turns. | ||
motionPathTension | SFFloat | inputOutput | -0.4 | Defines the tension of the motion path (in the sense of the Kochanek-Bartels spline tension parameter). The value is a float between -1 and 1. | ||
turnFactor | SFFloat | inputOutput | 0.6 | This is the factor, by which the turn angle is decreased. | ||
numJoints | SFInt32 | inputOutput | 3 | This field defines the length of the kinematic chain. Currently only 1- and 3-joint kinematic chains are possible. | ||
matrix_changed | SFMatrix4f | outputOnly | The matrix that defines the nodes transformation after an update. | |||
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element | ||
aimingRotation | SFRotation | inputOutput | 0 0 0 1 | Similar to aimingTranslation, this field defines the rotation of the end effector relative to the rotation of the parent of this HAnimIKSite. | ||
rotation | SFRotation | inputOutput | 0 0 1 0 | Orientation of children relative to local coordinate system. | ||
scaleOrientation | SFRotation | inputOutput | 0 0 1 0 | Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations). | ||
targetRotation | SFRotation | inputOutput | 0 0 0 1 | In case of touching (not aiming at) a target, this field defines the rotation of the target. | ||
motionPathShape | SFString | inputOutput | auto | [auto, quadratic, cubic] | Determines the shape of the motion path. Currently two methods are implemented: quadratic and cubic curves. | |
name | SFString | inputOutput | name must be present so that Humanoid can be identified at runtime. | |||
aimingTranslation | SFVec3f | inputOutput | 0 0 0 | You may not want to aim a target with the center of the parent joint of this HAnimIKSite. With this you can define a translation of the end effector (maybe to define a point lieing between the eyes or in the hand). | ||
bboxCenter | SFVec3f | initializeOnly | 0 0 0 | Bounding box center: position offset from origin of local coordinate system. | ||
bboxSize | SFVec3f | initializeOnly | -1 -1 -1 | Bounding box size: automatically calculated, can be specified as an optimization or constraint. | ||
center | SFVec3f | inputOutput | 0 0 0 | Translation offset from origin of local coordinate system. | ||
scale | SFVec3f | inputOutput | 1 1 1 | Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation. | ||
target | SFVec3f | inputOutput | 0 0 0 | Defines the position of the target to aim to or to touch. | ||
translation | SFVec3f | inputOutput | 0 0 0 | Position of children relative to local coordinate system. |