#How to add a mesh to an existing skeleton / remap bones
1 messages · Page 1 of 1 (latest)
Transform? hip = player.refs.rigRoot.transform.Find("Rig/Armature/Hip");
Transform? arm_r = player.refs.rigRoot.transform.Find("Rig/Armature/Hip/Torso/Arm_R");
Transform? elbow_r = player.refs.rigRoot.transform.Find("Rig/Armature/Hip/Torso/Arm_R/Elbow_R");
if (arm_r != null && elbow_r != null && hip != null)
{
// instantiation
GameObject arm_sleeve = Instantiate(StrongArmVisualPrefab, arm_r);
// transform adjustments
arm_sleeve.transform.localPosition = new UnityEngine.Vector3(-0.05f, 2.15f, 0.14f);
arm_sleeve.transform.localRotation = UnityEngine.Quaternion.Euler(-0.33f, 1.585f, 94.004f);
arm_sleeve.transform.localScale = new UnityEngine.Vector3(11.3f, 11.3f, 11.3f);
var skinnedMeshRenderer = arm_sleeve.GetComponentInChildren<SkinnedMeshRenderer>(true);
skinnedMeshRenderer.bones[0] = arm_r;
skinnedMeshRenderer.bones[1] = elbow_r;
skinnedMeshRenderer.rootBone = hip; // tried with arm_r as the root too
}
Am I missing something ? Is there a better way to do it? Are there resources about this ? Thanks.