fix: broken humanoid rigs can break assumptions made in EasySetupOutfit (#737)

Closes: #735
This commit is contained in:
bd_ 2024-03-06 00:51:43 -08:00 committed by GitHub
parent c67d28ca1b
commit 6cc687d1fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -386,6 +386,14 @@ namespace nadena.dev.modular_avatar.core.editor
outfitHips = outfitAnimator.isHuman outfitHips = outfitAnimator.isHuman
? outfitAnimator.GetBoneTransform(HumanBodyBones.Hips)?.gameObject ? outfitAnimator.GetBoneTransform(HumanBodyBones.Hips)?.gameObject
: null; : null;
if (outfitHips.transform.parent == outfitRoot.transform)
{
// Sometimes broken rigs can have the hips as a direct child of the root, instead of having
// an intermediate Armature object. We do not currently support this kind of rig, and so we'll
// assume the outfit's humanoid rig is broken and move on to heuristic matching.
outfitHips = null;
}
} }
var hipsCandidates = new List<string>(); var hipsCandidates = new List<string>();