public SkinnedMeshRenderer Target;
public SkinnedMeshRenderer Source;

void Start () {
    Combine();
}

void Combine()
{
    Dictionary<string, Transform> boneMap = new Dictionary<string, Transform>();
    foreach (Transform bone in Target.bones)
    {
        boneMap[bone.name] = bone;
    }

    Transform[] SourceBones = Source.bones;
    Transform[] NewBones = new Transform[SourceBones.Length];

    for (int i = 0; i < SourceBones.Length; i++)
    {
        string boneName = SourceBones[i].name;

        if (boneMap.TryGetValue(boneName, out SourceBones[i]))
        {
            NewBones[i] = boneMap[boneName];
            Debug.Log("mapped " + SourceBones[i].ToString());
        }
    };

    Source.bones = NewBones;
}
Edit Report
Pub: 02 Aug 2022 17:14 UTC
Views: 97