static void CreatMan() { ExpressModel model = new ExpressModel_Male(); model.Creat(); return; string name = "male"; GameObject g = GameObject.Find(name); if (g) { GameObject.DestroyImmediate(g); } string path = "Assets/Tmp/FBX/Human_Male/Human_Male.fbx"; Object o = AssetDatabase.LoadAssetAtPath(path, typeof(Object)); GameObject go = GameObject.Instantiate(o) as GameObject; string m1p = "Assets/Tmp/Expression/mat/male.mat"; string m2p = "Assets/Tmp/Expression/mat/male-face.mat"; Material m1 = AssetDatabase.LoadAssetAtPath(m1p, typeof(Object)) as Material; Material m2 = AssetDatabase.LoadAssetAtPath(m2p, typeof(Object)) as Material; SkinnedMeshRenderer[] smrs = go.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < smrs.Length; i++) { if (smrs[i].gameObject.name.EndsWith("_Face")) { smrs[i].sharedMaterial = m2; } else { smrs[i].sharedMaterial = m1; } } Animator an = go.GetComponent <Animator>(); if (an) { GameObject.DestroyImmediate(an); } Transform skeletonRoot = go.transform.FindChild("UMA_Male_Rig"); string expressionPlayerPath = "Assets/Character/UMA/Content/UMA/Humanoid/Expressions/Expression Sets/Male_Expression_Set.asset"; UMAExpressionSet expressionPlayer = AssetDatabase.LoadAssetAtPath <Object>(expressionPlayerPath) as UMAExpressionSet; go.AddComponent <Animation>(); ExpressionPlayer ep = go.AddComponent <ExpressionPlayer>(); EditModeExpressionPreview emp = go.AddComponent <EditModeExpressionPreview>(); emp.expressionPlayer = ep; emp.expressionSet = expressionPlayer; emp.skeletonRoot = skeletonRoot; go.name = name; }
public void Creat() { IObjectBase iob = new ObjectBase(fbx); Object o = iob.Load(); go = GameObject.Instantiate(o) as GameObject; go.name = name; SkinnedMeshRenderer[] smrs = go.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < smrs.Length; i++) { if (smrs[i].gameObject.name.EndsWith("_Face")) { smrs[i].sharedMaterial = faceMat; } else { smrs[i].sharedMaterial = bodyMat; } } Animator an = go.GetComponent <Animator>(); if (an) { GameObject.DestroyImmediate(an); } Transform skeletonRoot = go.transform.FindChild(rig); IObjectBase set = new ObjectBase(expression_Set); UMAExpressionSet expressionPlayer = set.Load <UMAExpressionSet>(); anim = go.AddComponent <Animation>(); ep = go.AddComponent <ExpressionPlayer>(); EditModeExpressionPreview emp = go.AddComponent <EditModeExpressionPreview>(); emp.expressionPlayer = ep; emp.expressionSet = expressionPlayer; emp.skeletonRoot = skeletonRoot; go.name = name; Selection.activeGameObject = go;//selected }