Esempio n. 1
0
    void FixedUpdate()
    {
        switch (ejercicio)
        {
        case Funciones.Uno:
            Vector3Debugger.EnableEditorView("primero");
            Vector3Debugger.DisableEditorView("segundo");
            Vector3Debugger.DisableEditorView("tercero");

            // ---------------

            MyQuatern miQuat1 = MyQuatern.Euler(0, valor, 0);

            ejer1 = (miQuat1 * new Vec3(ejer1));

            // ---------------

            Vector3Debugger.UpdatePosition("primero", ejer1);

            break;

        case Funciones.Dos:
            Vector3Debugger.EnableEditorView("segundo");
            Vector3Debugger.DisableEditorView("primero");
            Vector3Debugger.DisableEditorView("tercero");

            // ---------------

            MyQuatern miQuat2 = MyQuatern.Euler(0, valor, 0);

            ejer2[1] = (miQuat2 * new Vec3(ejer2[1]));
            ejer2[2] = (miQuat2 * new Vec3(ejer2[2]));
            ejer2[3] = (miQuat2 * new Vec3(ejer2[3]));

            // ---------------

            Vector3Debugger.UpdatePositionsSecuence("segundo", ejer2);

            break;

        case Funciones.Tres:
            Vector3Debugger.EnableEditorView("tercero");
            Vector3Debugger.DisableEditorView("primero");
            Vector3Debugger.DisableEditorView("segundo");

            // ---------------

            MyQuatern miQuat3 = MyQuatern.Euler(valor * 1.5f, valor * 1.5f, 0);

            ejer3[1] = (miQuat3 * new Vec3(ejer3[1]));
            ejer3[3] = (MyQuatern.Inverse(miQuat3) * new Vec3(ejer3[3]));

            // ---------------

            Vector3Debugger.UpdatePositionsSecuence("tercero", ejer3);

            break;
        }
    }