BlueRoseNote/03-UnrealEngine/Animation/UE5商城动画重定向插件笔记.md

1.2 KiB
Raw Blame History

title, date, excerpt, tags, rating
title date excerpt tags rating
UE5商城动画重定向插件笔记 2023-09-05 12:02:29
AnimationRetargeting

MixamoAnimationRetargeting

主要逻辑位于FMixamoSkeletonRetargeter

  • UE4MannequinToMixamo_BoneNamesMapping
  • UE4MannequinToMixamo_ChainNamesMapping
  • UE5MannequinToMixamo_BoneNamesMapping
  • UE5MannequinToMixamo_ChainNamesMapping

重定向逻辑位于FMixamoSkeletonRetargeter::Retarget()

判断骨骼格式

bool FSkeletonMatcher::IsMatching(const USkeleton* Skeleton) const  
{  
    // No Skeleton, No matching...  
    if (Skeleton == nullptr)  
    {       return false;  
    }  
    const int32 NumExpectedBones = BoneNames.Num();  
    int32 nMatchingBones = 0;  
    const FReferenceSkeleton & SkeletonRefSkeleton = Skeleton->GetReferenceSkeleton();  
    for (int32 i = 0; i < NumExpectedBones; ++i)  
    {       const int32 BoneIndex = SkeletonRefSkeleton.FindBoneIndex(BoneNames[i]);  
       if (BoneIndex != INDEX_NONE)  
       {          ++nMatchingBones;  
       }    }    const float MatchedPercentage = float(nMatchingBones) / float(NumExpectedBones);  
  
    return MatchedPercentage >= MinimumMatchingPerc;  
}