0
在Unity3d中,是否可以按名稱而不是按索引訪問混合形狀?按名稱而不是按索引獲取混合形狀
float currentShape= myObj.GetBlendShapeWeight(2); //index 2
float currentShape= myObj.GetBlendShapeWeight.GetByName("Gwen_Stefani");
在Unity3d中,是否可以按名稱而不是按索引訪問混合形狀?按名稱而不是按索引獲取混合形狀
float currentShape= myObj.GetBlendShapeWeight(2); //index 2
float currentShape= myObj.GetBlendShapeWeight.GetByName("Gwen_Stefani");
想通了:
public string [] getBlendShapeNames (GameObject obj)
{
SkinnedMeshRenderer head = obj.GetComponent<SkinnedMeshRenderer>();
Mesh m = head.sharedMesh;
string[] arr;
arr = new string [m.blendShapeCount];
for (int i= 0; i < m.blendShapeCount; i++)
{
string s = m.GetBlendShapeName(i);
print("Blend Shape: " + i + " " + s);
arr[i] = s;
}
return arr;
}