Esempio n. 1
0
 private void Reset()
 {
     if (!searchNearPlayer)
     {
         searchNearPlayer = gameObject.GetComponent <SearchNearPlayer>();
     }
     if (!facialController)
     {
         facialController = GameObject.FindWithTag("Model").GetComponent <FacialController>();
     }
     if (!headLookController)
     {
         headLookController = GameObject.FindWithTag("Model").GetComponent <HeadLookController>();
     }
     if (!anime)
     {
         anime = GameObject.FindWithTag("Model").GetComponent <Animator>();
     }
 }
Esempio n. 2
0
    static void Run()
    {
        GameObject go = Selection.activeGameObject;


        string assetBundleName = "avatars/" + go.name;

        if (go.tag == "Avatar")
        {
//			//Duplicate avatar prefab
//			Object objectRoot = PrefabUtility.GetPrefabParent (go);
//			Object newGo = PrefabUtility.InstantiatePrefab (objectRoot);
//			AssetDatabase.Refresh ();

            //Set AssetBundle name of avatar
            string        path = AssetDatabase.GetAssetPath(go);
            AssetImporter ai   = AssetImporter.GetAtPath(path);
            Debug.Log(ai.assetBundleName);
            ai.assetBundleName = assetBundleName;

            //Write facial weights into text file
            FacialController fc       = go.GetComponent <FacialController> ();
            string           textPath = path.Replace(".prefab", string.Empty) + "_facialExpressions.txt";
            Debug.Log(textPath);
            StreamWriter sw = new StreamWriter(textPath, true);
            for (int i = 0; i < fc.expressionTargets.Length; i++)
            {
                sw.WriteLine(fc.expressionTargets[i] + "," + fc.expressionWeights[i]);
            }
            sw.Close();
            AssetDatabase.Refresh();
            AssetImporter textai = AssetImporter.GetAtPath(textPath);
            textai.assetBundleName = assetBundleName;

            //Remove all components
            RecursivelyRemoveComponents(go.transform);
        }
    }
Esempio n. 3
0
    public void StartHMDSetup(GameObject _avatar, string skeletonName, string faceExpressions)
    {
        StartBasicSetup(_avatar);
        fc             = _avatar.AddComponent(typeof(FacialController)) as FacialController;
        fc.photonView  = pv;
        fc.OtherMeshes = new Transform[0];
        IterateAndAddComponentsToThroughChildren(_avatar.transform, true);
        IterateAndAssignValuesDependenciesInChildren(_avatar.transform);
        pv.ObservedComponents.Add(fc);
        pv.ObservedComponents.Add(shp);
        pm.localOptitrackAnimator.SkeletonAssetName  = skeletonName;
        pm.remoteOptitrackAnimator.SkeletonAssetName = skeletonName;
        pm.localOptitrackAnimator.enabled            = true;
        pm.remoteOptitrackAnimator.enabled           = true;

        fc.expressionTargets = new string[faceExpressions.Split('\n').Length - 1];
        fc.expressionWeights = new float[fc.expressionTargets.Length];
        for (int i = 0; i < faceExpressions.Split('\n').Length - 1; i++)
        {
            string[] entries = GetLine(faceExpressions, i).Split(',');
            fc.expressionTargets [i] = entries [0];
            fc.expressionWeights [i] = float.Parse(entries [1]);
        }
    }
 void OnEnable()
 {
     fc = (FacialController)target;
 }