vault backup: 2023-09-05 14:08:09
This commit is contained in:
parent
51c423bd26
commit
a7da7c61f1
37
03-UnrealEngine/Animation/UE5商城动画重定向插件笔记.md
Normal file
37
03-UnrealEngine/Animation/UE5商城动画重定向插件笔记.md
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
title: UE5商城动画重定向插件笔记
|
||||
date: 2023-09-05 12:02:29
|
||||
excerpt:
|
||||
tags:
|
||||
- AnimationRetargeting
|
||||
rating: ⭐
|
||||
---
|
||||
# MixamoAnimationRetargeting
|
||||
主要逻辑位于:FMixamoSkeletonRetargeter
|
||||
- UE4MannequinToMixamo_BoneNamesMapping
|
||||
- UE4MannequinToMixamo_ChainNamesMapping
|
||||
- UE5MannequinToMixamo_BoneNamesMapping
|
||||
- UE5MannequinToMixamo_ChainNamesMapping
|
||||
|
||||
重定向逻辑位于:FMixamoSkeletonRetargeter::Retarget()
|
||||
|
||||
## 判断骨骼格式
|
||||
```c++
|
||||
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;
|
||||
}
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user