Gems/EMotionFX/Code/EMotionFX/Source/Actor.cpp
void Actor::MatchNodeMotionSourcesGeometrical()
    {
        Pose pose;
        pose.InitFromBindPose(this);

        const uint16 numNodes = static_cast<uint16>(m_skeleton->GetNumNodes());
        for (uint16 i = 0; i < numNodes; ++i)
        {
            // find the best match
            const uint16 bestIndex = FindBestMirrorMatchForNode(i, pose);

            // if a best match has been found
            if (bestIndex != MCORE_INVALIDINDEX16)
            {
                //LogDetailedInfo("%s <---> %s", node->GetName(), GetNode(bestIndex)->GetName());
                MapNodeMotionSource(i, bestIndex);
            }
        }
    }
// try to geometrically match left with right nodes
try to geometrically match left with right nodes
try to geometrically match left with right nodes
void Actor::MatchNodeMotionSourcesGeometrical()
    {
        Pose pose;
        pose.InitFromBindPose(this);
        const uint16 numNodes = static_cast<uint16>(m_skeleton->GetNumNodes());
        for (uint16 i = 0; i < numNodes; ++i)
        {
            const uint16 bestIndex = FindBestMirrorMatchForNode(i, pose);
            if (bestIndex != MCORE_INVALIDINDEX16)
            {
                MapNodeMotionSource(i, bestIndex);
            }
        }
    }
void Actor :: MatchNodeMotionSourcesGeometrical ( ) { Pose pose ; pose . InitFromBindPose ( this ) ; const uint16 numNodes = static_cast < uint16 > ( m_skeleton -> GetNumNodes ( ) ) ; for ( uint16 i = 0 ; i < numNodes ; ++ i ) { const uint16 bestIndex = FindBestMirrorMatchForNode ( i , pose ) ; if ( bestIndex != MCORE_INVALIDINDEX16 ) { MapNodeMotionSource ( i , bestIndex ) ; } } }
try to geometrically match left with right nodes
try to geometrically match left with right nodes
// find the best match // if a best match has been found //LogDetailedInfo("%s <---> %s", node->GetName(), GetNode(bestIndex)->GetName());