2015-09-22 33 views
0

我試圖讓一個骨骼的肌肉最大,但我似乎無法訪問它。我知道我想要哪個骨骼,但我不知道如何訪問它,而不是循環遍歷所有骨骼的陣列。Unity HumanTrait.GetMuscleDefaultMax()通過名稱得到

有沒有辦法獲得肌肉信息?這不起作用:

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不通過所有的骨頭循環?

回答

0

這種方法似乎是這樣的伎倆(該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; 
}