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 |
|---|---|---|---|---|---|---|
| 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. | ||
| target | SFVec3f | inputOutput | 0 0 0 | Defines the position of the target to aim to or to touch. | ||
| targetRotation | SFRotation | inputOutput | 0 0 0 1 | In case of touching (not aiming at) a target, this field defines the rotation of the target. | ||
| 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). | ||
| 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. | ||
| numJoints | SFInt32 | inputOutput | 3 | This field defines the length of the kinematic chain. Currently only 1- and 3-joint kinematic chains are possible. | ||
| 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. | ||
| motionPathShape | SFString | inputOutput | auto | [auto, quadratic, cubic] | Determines the shape of the motion path. Currently two methods are implemented: quadratic and cubic curves. | |
| minTurnAngle | SFFloat | inputOutput | 0.2 | This is the minimal angle, the target has to be away, so that the torso turns. | ||
| maxTurnAngle | SFFloat | inputOutput | 1.5 | This is the maximal angle the torso turns. | ||
| turnFactor | SFFloat | inputOutput | 0.6 | This is the factor, by which the turn angle is decreased. | ||
| jointNames | MFString | inputOutput | Pass the names of the involved joint, e.g. one name for the vl5-joint. | |||
| name | SFString | inputOutput | name must be present so that Humanoid can be identified at runtime. | |||
| center | SFVec3f | inputOutput | 0 0 0 | Translation offset from origin of local coordinate system. | ||
| rotation | SFRotation | inputOutput | 0 0 1 0 | Orientation of children relative to local coordinate system. | ||
| scale | SFVec3f | inputOutput | 1 1 1 | Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation. | ||
| scaleOrientation | SFRotation | inputOutput | 0 0 1 0 | Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations). | ||
| translation | SFVec3f | inputOutput | 0 0 0 | Position of children relative to local coordinate system. | ||
| matrix_changed | SFMatrix4f | outputOnly | The matrix that defines the nodes transformation after an update. | |||
| invert | SFBool | inputOutput | FALSE | inverts matrix if true | ||
| showProxyGeometry | SFBool | inputOutput | FALSE | show cartesian coordinate system | ||
| children | MFNode | inputOutput | Node | field that contains a list of children nodes | ||
| 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 | |||
| 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 | |||
| 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. | ||
| render | SFBool | inputOutput | TRUE | Flag to control the visibility of the node or subtree | ||
| showBBox | SFBool | inputOutput | FALSE | Show Bounding Box of Subtree. | ||
| 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 | ||
| metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element |
