Public Member Functions | Public Attributes

LoadSaveRetargetData Class Reference

Search for all occurrences

Detailed Description

Class used to input retargeting info when creating a map file.

Contains info on how a particular mapped node will get retargeted. You specify a node that's being retargeted, and then parameters that specify how the node will get retargeted, ie the amount to scale the position and the coordinate space where the node will get scaled. This class is used in ILoadSaveAnimation::CreateMapFile and ILoadSaveAnimation::CreateMapFileNodeAnims

See also:
ILoadSaveAnimation::CreateMapFile
ILoadSaveAnimation::CreateMapFileNodeAnims

#include <ILoadSaveAnimation.h>

Inheritance diagram for LoadSaveRetargetData:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  LoadSaveRetargetData ()
  Constructor.
  ~LoadSaveRetargetData ()

Public Attributes

MSTR  currentNodeName
MSTR  incomingNodeName
  The name of the incoming node from the animation file that the current node is mapped to.
BOOL  absolute
  Whether or not the scale attribute will be the absolute scale value or a relative scale value that is then multiplied by a scale that's calculated from the ratio of the length of specified current linked nodes versus the length of specified incoming linked nodes.
Point3  scale
  The scale attribute that's used to scale the retargeted position.
MSTR  currentBase
  The name of the base node whose coordinate space you will scale in.
MSTR  incomingBase
  The name of the base node whose coordinate space you will scale the incoming node in.
MSTR  currentBaseChain
  The name of the base of the current chain node that will be used to calculate the scale for retargeting when the absolute value is false.
MSTR  currentEndChain
  The name of the end chain of the current chain node that the scale will be calculated from.
MSTR  incomingBaseChain
  The name of the base of the incoming chain node that the scale will be calculated from.
MSTR  incomingEndChain
  The name of the end of the incoming chain node that the scale will be calculated from.
BOOL  FKRetargetingEnabled
  If TRUE the current FK node will retarget internally as a IK chain to a specified node.
MSTR  FKChainBase
  The name of the node where the base of the internal IK chain will end.

Constructor & Destructor Documentation

LoadSaveRetargetData ( ) [inline]

Constructor.

:absolute(TRUE){};
~LoadSaveRetargetData ( ) [inline]
{}

Member Data Documentation

The name of the incoming node from the animation file that the current node is mapped to.

Note that the map file that uses this information still needs to explicitly map the tracks from the incoming tracks to the current tracks. This information doesn't override that information, just confirms it.

BOOL absolute

Whether or not the scale attribute will be the absolute scale value or a relative scale value that is then multiplied by a scale that's calculated from the ratio of the length of specified current linked nodes versus the length of specified incoming linked nodes.

The scale attribute that's used to scale the retargeted position.

If absolute is false then it's a relative value that's multiplied by the ratio of current versus incoming chain lengths.

The name of the base node whose coordinate space you will scale in.

If the current base node is the same as the current node that's being being retargeted, then the node will be retargeted relative to it's first position. Note that if this value isn't set, then the world root node will be this node.

The name of the base node whose coordinate space you will scale the incoming node in.

Note that if this value isn't set, then the world root node will be this node.

The name of the base of the current chain node that will be used to calculate the scale for retargeting when the absolute value is false.

The scale is then the difference in length from the current end chain to it's base versus the incoming end chain to it's base. Note that if this value isn't set, then the world root node will be this node.

The name of the end chain of the current chain node that the scale will be calculated from.

The length is calculated by traversing the distances from the end chain to it's parents, down to the base chain node. Note that if this value isn't set, then the world root node will be this node.

The name of the base of the incoming chain node that the scale will be calculated from.

Note that if this value isn't set, then the world root node will be this node.

The name of the end of the incoming chain node that the scale will be calculated from.

The length is calculated by traversing the distances from the end chain to it's parents, down to the base chain node. Note that if this value isn't set, then the world root node will be this node.

If TRUE the current FK node will retarget internally as a IK chain to a specified node.

That way when retargeting FK chains we can correctly make sure that the end nodes(like feet) will stay planted on the ground relative to the center of mass.

The name of the node where the base of the internal IK chain will end.

So if you were retargeting a foot node, you would usually specify this node to be the hip, so that when the foot retargets as the end of an IK chain, the ankle, and knee joints will get recalculated. Remember you only need to do this for FK nodes when you want them to be constrained relative to another node, usually the\ center of mass. Note that if this node isn't set, then this sort of retargeting won't occur, even if the FKRetargetingEnabled flag is TRUE.


LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData
LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData LoadSaveRetargetData