Unity HumanTrait.GetMuscleDefaultMax()按名称获取
本文关键字:获取 HumanTrait GetMuscleDefaultMax Unity | 更新日期: 2023-09-27 18:13:56
我正试图获得骨骼的肌肉最大,但我似乎无法访问它。我知道我想要哪块骨头,但我不知道如何访问它,除了循环遍历所有骨头的数组。
有没有一种方法可以获取肌肉信息?这行不通:
selected = Selection.activeGameObject.transform.root.gameObject;
Animator anim = selected.GetComponent<Animator>();
float indexMax = HumanTrait.GetMuscleDefaultMax(HumanBodyBones.LeftIndexProximal);
这给了我一个对象的变换,但这不是我要找的:
Transform index1 = anim.GetBoneTransform(HumanBodyBones.LeftIndexProximal);
在不遍历所有骨骼的情况下如何得到HumanTrait.GetMuscleDefaultMax
?
这个方法似乎做的伎俩(BoneInfo
类需要创建与公共属性):
BoneInfo GetBoneInfo(HumanBodyBones id) {
int boneid = (int)id.GetHashCode();
BoneInfo info = new BoneInfo();
info.muscleMax = HumanTrait.GetMuscleDefaultMax(boneid);
info.muscleMin = HumanTrait.GetMuscleDefaultMin(boneid);
info.transform = anim.GetBoneTransform(id);
return info;
}