unity editor 查找avater内所有的骨骼bones节点

如下: 直接读取asset资源,并且序列化获取m_TOS属性:

 1        private void SetPathInfo()
 2         {
 3             if (avatar == null) return;
 4             allBonePaths.Clear();
 5             SerializedObject serializedObject = new SerializedObject(avatar);
 6             var property = serializedObject.FindProperty("m_TOS");
 7             for (int i = 0; i < property.arraySize; i++)
 8             {
 9                 var bondPath = property.GetArrayElementAtIndex(i).FindPropertyRelative("second").stringValue;
10                 allBonePaths.Add(bondPath);
11             }
12         }

 

如果只是针对Human类型,可以使用:

Animator:GetBoneTransform(HumanBodyBones humanBoneId)

posted @ 2022-08-05 17:56  sun_dust_shadow  阅读(548)  评论(0编辑  收藏  举报