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
#include <ILoadSaveAnimation.h>
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. |
LoadSaveRetargetData | ( | ) | [inline] |
Constructor.
:absolute(TRUE){};
~LoadSaveRetargetData | ( | ) | [inline] |
{}
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.
BOOL FKRetargetingEnabled |
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.