void Awake()
 {
     Debug.Log("Awake called.");
     Debug.Log("Awake called.");
     Wii.StartSearch();
     Wii.WakeUp();
 }
    // Start is called before the first frame update
    void Start()
    {
        Time.fixedDeltaTime = PlayerPrefs.GetFloat("DeltaTime");
        Board0 = gameObject.AddComponent <GenericBoard>();
        Board1 = gameObject.AddComponent <GenericBoard>();
        Board2 = gameObject.AddComponent <GenericBoard>();
        Board3 = gameObject.AddComponent <GenericBoard>();
        Wii.StartSearch();
        Wii.WakeUp();
        Boards.Add(Board0);
        Boards.Add(Board1);
        Boards.Add(Board2);
        Boards.Add(Board3);
        Board0.BoardNumber   = 0;
        Board1.BoardNumber   = 1;
        Board2.BoardNumber   = 2;
        Board3.BoardNumber   = 3;
        updatetime           = 0.02F;
        Board0.RotationAngle = PlayerPrefs.GetFloat("Board0_angle");
        Board1.RotationAngle = PlayerPrefs.GetFloat("Board1_angle");
        Board2.RotationAngle = 0;
        Board3.RotationAngle = 0;
        Board0.Board_length  = PlayerPrefs.GetFloat("Board_Length");
        Board0.Board_width   = PlayerPrefs.GetFloat("Board_Width");
        Board1.Board_length  = PlayerPrefs.GetFloat("Board_Length");
        Board1.Board_width   = PlayerPrefs.GetFloat("Board_Width");
        Board2.Board_length  = PlayerPrefs.GetFloat("Board_Length");
        Board2.Board_width   = PlayerPrefs.GetFloat("Board_Width");
        Board3.Board_length  = PlayerPrefs.GetFloat("Board_Length");
        Board3.Board_width   = PlayerPrefs.GetFloat("Board_Width");
        Board0.BoardPosition.Set(0f, 0f);
        Board1.BoardPosition.Set(PlayerPrefs.GetFloat("Board1_x"), PlayerPrefs.GetFloat("Board1_y"));
        Board0.Board_Force_error_storage.Set(0.0f, 0.0f, 0.0f, 0.0f);
        Board1.Board_Force_error_storage.Set(0.0f, 0.0f, 0.0f, 0.0f);



        foreach (GenericBoard item in Boards)
        {
            // Calculate Initial Sensor Position


            item.SensorXRelative.x = Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorXRelative.y = Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorYRelative.x = -Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorYRelative.y = -Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorZRelative.x = Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorZRelative.y = Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorWRelative.x = -Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorWRelative.y = -Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorXinGlobal = item.BoardPosition + item.SensorXRelative;
            item.SensorYinGlobal = item.BoardPosition + item.SensorYRelative;
            item.SensorZinGlobal = item.BoardPosition + item.SensorZRelative;
            item.SensorWinGlobal = item.BoardPosition + item.SensorWRelative;
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        Wii.StartSearch();
        Wii.WakeUp();
        Boards.Add(Board0);
        Boards.Add(Board1);
        Boards.Add(Board2);
        Boards.Add(Board3);
        Board0.BoardNumber   = 0;
        Board1.BoardNumber   = 1;
        Board2.BoardNumber   = 2;
        Board3.BoardNumber   = 3;
        updatetime           = 0.02F;
        Board0.RotationAngle = 90;
        Board1.RotationAngle = 90;
        Board2.RotationAngle = 0;
        Board3.RotationAngle = 0;
        Board0.Board_length  = 400f;
        Board0.Board_width   = 200f;
        Board1.Board_length  = 400f;
        Board1.Board_width   = 200f;
        Board2.Board_length  = 400f;
        Board2.Board_width   = 200f;
        Board3.Board_length  = 400f;
        Board3.Board_width   = 200f;
        Board0.BoardPosition.Set(0f, 0f);
        Board1.BoardPosition.Set(500f, 0f);



        foreach (GenericBoard item in Boards)
        {
            // Calculate Initial Sensor Position
            item.RotationMatrix = new float[, ] {
                { Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle), -Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) }, { Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle), Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) }
            };

            item.SensorXRelative.x = Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorXRelative.y = Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorYRelative.x = -Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorYRelative.y = -Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorZRelative.x = Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorZRelative.y = Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorWRelative.x = -Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length + Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;
            item.SensorWRelative.y = -Mathf.Sin(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_length - Mathf.Cos(Mathf.Deg2Rad * item.RotationAngle) * 1 / 2 * item.Board_width;

            item.SensorXinGlobal = item.BoardPosition + item.SensorXRelative;
            item.SensorYinGlobal = item.BoardPosition + item.SensorYRelative;
            item.SensorZinGlobal = item.BoardPosition + item.SensorZRelative;
            item.SensorWinGlobal = item.BoardPosition + item.SensorWRelative;
        }
    }
示例#4
0
    // Update is called once per frame
    void Update()
    {
        Wii.WakeUp();
        Wii.StartSearch();

        if (Measurement.WhetherStart == true)
        {
            human.transform.localPosition = new Vector2(800f * ((Measurement.GlobalCOP.x + (0.5f * Measurement.Board0.Board_width)) / (Measurement.Board0.Board_width + Measurement.Board1.BoardPosition.x)),
                                                        400f * ((Measurement.GlobalCOP.y + (0.5f * Measurement.Board0.Board_length))/ (Measurement.Board0.Board_length)));
        }
        if (Measurement.WhetherStart == false)
        {
            human.transform.localPosition = new Vector2(0, 0);

        }
    }
    // Update is called once per frame
    void FixedUpdate()

    {
        Wii.WakeUp();

        Wii.StartSearch();

        /*theX = (((Board.Board_x[0] - 0.5f * Board.Board_width[0]) * (Board.Board_sensor[0].w + Board.Board_sensor[0].z))
         + ((Board.Board_x[0] + 0.5f * Board.Board_width[0]) * (Board.Board_sensor[0].x + Board.Board_sensor[0].y))
         + ((Board.Board_x[1] - 0.5f * Board.Board_width[1]) * (Board.Board_sensor[1].w + Board.Board_sensor[1].z))
         + ((Board.Board_x[1] + 0.5f * Board.Board_width[1]) * (Board.Board_sensor[1].x + Board.Board_sensor[1].y)))
         +      / (Board.Board_Totalforce[0] + Board.Board_Totalforce[1]);
         +
         + theY = (((Board.Board_y[0] - 0.5f * Board.Board_length[0]) * (Board.Board_sensor[0].x + Board.Board_sensor[0].z))
         + ((Board.Board_y[0] + 0.5f * Board.Board_length[0]) * (Board.Board_sensor[0].w + Board.Board_sensor[0].y))
         + ((Board.Board_y[1] - 0.5f * Board.Board_length[1]) * (Board.Board_sensor[1].x + Board.Board_sensor[1].z))
         + ((Board.Board_y[1] + 0.5f * Board.Board_length[1]) * (Board.Board_sensor[1].w + Board.Board_sensor[1].y)))
         +     / (Board.Board_Totalforce[0] + Board.Board_Totalforce[1]); */
    }
示例#6
0
    /*   Vector3 x1 = new Vector3(1.0f, 0.0f, 1.0f);  // right top
    *  Vector3 y1 = new Vector3(1.0f, 0.0f, -1.0f);  // right bottom
    *  Vector3 z1 = new Vector3(-1.0f, 0.0f, 1.0f);   // left top
    *  Vector3 w1 = new Vector3(-1.0f, 0.0f, -1.0f); // left bottom*/

    public void Awake()
    {
        Rigidbody     = GetComponent <Rigidbody>();
        StartRotation = Motor.localRotation;
        Camera        = Camera.main;

        Wii.WakeUp();
        if (!Wii.GetIsAwake())
        {
            Wii.WakeUp();
        }

        Wii.StartSearch();
        discoveryStatus = Wii.GetDiscoveryStatus();

        if (discoveryStatus > 99)
        {
            Wii.AddVirtualRemote();
        }
    }
示例#7
0
    // Update is called once per frame
    void FixedUpdate()

    {
        Wii.WakeUp();


        Wii.StartSearch();


        if (Measurement.WhetherStart == true)
        {
            CSVManager.reportFileName = PlayerPrefs.GetString("UserName") + "COPreport.csv";
            CSVManager.AppendToReport(
                new string[6] {
                PlayerPrefs.GetString("UserName"),
                Measurement.GlobalTotalForce.ToString(),
                Measurement.GlobalCOP.x.ToString(),
                Measurement.GlobalCOP.y.ToString(),
                Measurement.GlobalVelocity.x.ToString(),
                Measurement.GlobalVelocity.y.ToString()
            });
        }
    }
 public static void WaketheBoard()
 {
     Debug.Log("Awake called.");
     Wii.StartSearch();
     Wii.WakeUp();
 }