protected virtual void MapBones()
{
// // make OffsetNode as a parent of model transform.
// offsetNode = new GameObject(name + "Ctrl") { layer = transform.gameObject.layer, tag = transform.gameObject.tag };
// offsetNode.transform.position = transform.position;
// offsetNode.transform.rotation = transform.rotation;
// offsetNode.transform.parent = transform.parent;
// // take model transform as body root
// transform.parent = offsetNode.transform;
// transform.localPosition = Vector3.zero;
// transform.localRotation = Quaternion.identity;
//bodyRoot = transform;
// get bone transforms from the animator component
Animator animatorComponent = GetComponent<Animator>();
for (int boneIndex = 0; boneIndex < bones.Length; boneIndex++)
{
if (!boneIndex2MecanimMap.ContainsKey(boneIndex))
continue;
bones[boneIndex] = animatorComponent.GetBoneTransform(boneIndex2MecanimMap[boneIndex]);
}
}