コード例 #1
0
    public void loadFace(string fileName)
    {
        readFile(fileName);
        SaveAnimFile saveAnim = GetComponent <SaveAnimFile>();

        saveAnim.SetFaceName("Assets\\" + fileName);
    }
コード例 #2
0
    void OnGUI()
    {
        int ww = 200;
        int sx = Screen.width - ww;
        int sy = 60;
        int sw = ww;
        int sh = 30;

        int i = 0;

        SkinnedGUIOptions skinnedGUI = GetComponent <SkinnedGUIOptions>();

        //WE LOAD MESH ONLY IN OBJECT MODE
        if (skinnedGUI.returnModeValue() == 0)
        {
            foreach (string fileName in filesNames)
            {
                if (GUI.Button(new Rect(sx, sy + i * sh, sw, sh), fileName))
                {
                    readFile(fileName);
                    SaveAnimFile saveAnim = GetComponent <SaveAnimFile>();
                    saveAnim.SetFaceName("Assets\\" + fileName);
                }

                i++;
            }

            if (GUI.Button(new Rect(sx, 0, 150, 60), "Load Face"))
            {
            }
        }
    }
コード例 #3
0
ファイル: FaceMorpher.cs プロジェクト: sachaamm/eMoji
    void OnGUI()
    {
        if (skinnedGUI.returnModeValue() == 2)
        {
            //if(faces.Count!=0)GUI.Button(new Rect(150,150,420,35),"Current Step :" + currentFaceIndex + "interpolation Time "+interpolationTime+" timeToNextStep"+timeToNextStep );
            float sX = Screen.width / 20;
            float sW = Screen.width - sX * 2;
            float sY = Screen.height - Screen.height / 8;
            float sH = Screen.height / 10;

            float mH = 25;

            // PLAY PAUSE STOP

            GUI.color = Color.white;
            if (animMode == 0)
            {
                GUI.color = Color.green;
            }

            if (GUI.Button(new Rect(5, sY, 80, mH), "Play"))
            {
                //if (!isPlaying) currentFaceIndex = 0;
                isPlaying = true;
                animMode  = 0;
            }

            GUI.color = Color.white;
            if (animMode == 1)
            {
                GUI.color = Color.green;
            }

            if (GUI.Button(new Rect(5, sY + mH, 80, mH), "Pause"))
            {
                isPlaying = false;
                animMode  = 1;
            }

            GUI.color = Color.white;
            if (animMode == 2)
            {
                GUI.color = Color.green;
            }

            if (GUI.Button(new Rect(5, sY + mH * 2, 80, mH), "Stop"))
            {
                isPlaying = false;
                time      = 0;
                animMode  = 2;

                currentFaceIndex = -1;
                nextFaceIndex    = 0;
            }

            GUI.color = Color.white;

            // INSERT KEYFRAME

            if (GUI.Button(new Rect(20, sY - 100, 150, 40), "Insert KeyFrame"))
            {
                if (selected < 0)
                {
                    selected = 0;
                }
                SaveAnimFile saveAnimFile = GetComponent <SaveAnimFile>();
                string       faceName     = saveAnimFile.returnFaceName();

                Vector3[] currentFace = faceTracing.returnCurrentFace();
                faces.Add(new FaceState(selected, currentFace, faceName));
                selected = -1;
            }

            if (GUI.Button(new Rect(20, sY - 180, 150, 40), "Reset Anim"))
            {
                resetFaceStates();
            }

            //GUI.Button(new Rect(sX, sY, sW, sH), "");

            float bW = (sW / nbFrames);

            // KEYFRAMES

            foreach (FaceState fs in faces)
            {
                float fX = sX + fs.frame * bW;
                float fH = 30;
                if (GUI.Button(new Rect(fX, sY - fH, bW * 20, fH), fs.faceFileName))
                {
                }
            }


            for (int i = 0; i < nbFrames; i++)
            {
                GUI.color = getRelativeColor();


                if (i == selected)
                {
                    GUI.color = Color.green;
                }


                float bX = sX + bW * i;
                if (GUI.Button(new Rect(bX, sY, bW, sH), ""))
                {
                    //print("ok");
                    selected = i;
                }
            }

            float selX = sX + time * bW;
            if (animMode == 0)
            {
                GUI.color = Color.green;
            }
            if (animMode == 1)
            {
                GUI.color = Color.yellow;
            }
            if (animMode == 2)
            {
                GUI.color = Color.red;
            }

            GUI.Button(new Rect(selX, sY + sH, bW, sH), "");
        }
    }