Beispiel #1
0
    // Use this for initialization
    void Start()
    {
        vertexIndexes = new List <int>();
        meshVertices  = new List <Vector3>();
        faceTracing   = GetComponent <SkinnedFaceTracing>();
        smr           = fbxGuy.GetComponent <SkinnedMeshRenderer>();
        m             = smr.sharedMesh;

        for (int i = 0; i < m.vertices.Length; i++)
        {
            meshVertices.Add(m.vertices[i]);
        }

        guiOptions = GetComponent <SkinnedGUIOptions>();
        bakedAnimationController = GetComponent <BakedAnimationController>();
    }
Beispiel #2
0
    // WE Load A VERTEX GROUP

    void readFile(string fileName)
    {
        faceTracing.resetPreview();

        faceTracing.clearTracking();
        faceModeller.clearTracker();
        print("LOAD TRACKING GROUP");
        //List config files

        /*
         * string[] lines = System.IO.File.ReadAllLines(@"Assets\" + fileName);// dirty because Assets is inside Assets....<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
         *
         *
         * SkinnedGUIOptions skinnedGUI = GetComponent<SkinnedGUIOptions>();
         *
         * //WE LOAD GROUP ONLY IN EDIT MODE
         * if (skinnedGUI.returnModeValue() == 1)
         * {
         *
         *  // Display the file contents by using a foreach loop.
         *  foreach (string line in lines)
         *  {
         *      string[] values = line.Split(' ');
         *      string input = values[0];// Index Value
         *      int i;
         *      bool result = int.TryParse(input, out i);//Check If Input is Parsable
         *
         *      if (result)
         *      {
         *          //print(" ADD INDEX "+System.Int32.Parse(values[0]));
         *          int index = int.Parse(values[0]);
         *          int value = int.Parse(values[1]);
         *          faceTracing.addTrackingPoint(index, value);
         *          faceTracing.addPreviewPoint(index);
         *
         *      }
         *
         *  }
         *
         * }
         *
         * // faceTracing.MoveWithIndexes();
         * // faceTracing.LinkToMesh();
         *
         */

        List <int> loadedIndexes = new List <int>();
        List <int> loadedValues  = new List <int>();

        BakedAnimationController animationController = GetComponent <BakedAnimationController>();



        // WE LOAD TRACKING POINTS , THEY ARE READY
        foreach (TrackingPoint tp in trackingPoints)
        {
            faceTracing.addTrackingPoint(tp.index, tp.value);
            loadedIndexes.Add(tp.index);
            loadedValues.Add(tp.value);
        }


        animationController.addTrackingGroupToAnimation(fileName, loadedIndexes.ToArray(), loadedValues.ToArray(), faceModeller.getRealTrackingCenter(loadedIndexes));

        faceModeller.StartAnimation();
    }