void Update()
    {
        if (this.m_TuioManager.IsConnected &&
            this.m_TuioManager.IsMarkerAlive(this.MarkerID))
        {
            TUIO.TuioObject marker = this.m_TuioManager.GetMarker(this.MarkerID);

            //update parameters
            this.m_ScreenPosition.x     = marker.getX();
            this.m_ScreenPosition.y     = marker.getY();
            this.m_Angle                = marker.getAngle() * RotationMultiplier;
            this.m_AngleDegrees         = marker.getAngleDegrees() * RotationMultiplier;
            this.m_Speed                = marker.getMotionSpeed();
            this.m_Acceleration         = marker.getMotionAccel();
            this.m_RotationSpeed        = marker.getRotationSpeed() * RotationMultiplier;
            this.m_RotationAcceleration = marker.getRotationAccel();
            this.m_Direction.x          = marker.getXSpeed();
            this.m_Direction.y          = marker.getYSpeed();
            this.m_IsVisible            = true;

            if (this.fitGrid)
            {
                //fit position into the grid
                int colX = (int)(marker.getX() / this.gridSize);
                this.m_ScreenPosition.x = (float)(colX * this.gridSize);
                int colY = (int)(marker.getY() / this.gridSize);
                this.m_ScreenPosition.y = (float)(colY * this.gridSize);

                //fit rotation angle into a grid
                int step = (int)(marker.getAngleDegrees() / this.rotationGridSize);
                this.m_AngleDegrees = (float)(step * this.rotationGridSize);
            }

            //set game object to visible, if it was hidden before
            ShowGameObject();

            //update transform component
            UpdateTransform();
        }
        else
        {
            //automatically hide game object when marker is not visible
            if (this.AutoHideGO)
            {
                HideGameObject();
            }

            this.m_IsVisible = false;
        }
    }
Exemplo n.º 2
0
    void Update()
    {
        if (this.m_TuioManager.IsMarkerAlive(this.MarkerID))
        {
        }


        if (this.m_TuioManager.IsConnected &&
            this.m_TuioManager.IsMarkerAlive(this.MarkerID))
        {
            TUIO.TuioObject marker = this.m_TuioManager.GetMarker(this.MarkerID);

            //update parameters
            this.m_ScreenPosition.x     = marker.getX();
            this.m_ScreenPosition.y     = marker.getY();
            this.m_Angle                = marker.getAngle() * RotationMultiplier;
            this.m_AngleDegrees         = marker.getAngleDegrees() * RotationMultiplier;
            this.m_Speed                = marker.getMotionSpeed();
            this.m_Acceleration         = marker.getMotionAccel();
            this.m_RotationSpeed        = marker.getRotationSpeed() * RotationMultiplier;
            this.m_RotationAcceleration = marker.getRotationAccel();
            this.m_Direction.x          = marker.getXSpeed();
            this.m_Direction.y          = marker.getYSpeed();
            this.m_IsVisible            = true;

            //set game object to visible, if it was hidden before
            ShowGameObject();

            //update transform component
            UpdateTransform();
        }
        else
        {
            //automatically hide game object when marker is not visible
            if (this.AutoHideGO)
            {
                HideGameObject();
            }

            this.m_IsVisible = false;
        }
    }
Exemplo n.º 3
0
 public void updateTuioObject(TuioObject o)
 {
     lock(objectSync) {
             objectList[o.getSessionID()].update(o);
         }
         if (verbose) Console.WriteLine("set obj "+o.getSymbolID()+" "+o.getSessionID()+" "+o.getX()+" "+o.getY()+" "+o.getAngle()+" "+o.getMotionSpeed()+" "+o.getRotationSpeed()+" "+o.getMotionAccel()+" "+o.getRotationAccel());
 }
Exemplo n.º 4
0
    void Update()
    {
        if (this.m_TuioManager.IsConnected &&
            this.m_TuioManager.IsMarkerAlive(this.MarkerID))
        {
            if (fighting == false)
            {
                TUIO.TuioObject marker = this.m_TuioManager.GetMarker(this.MarkerID);

                //update parameters
                this.m_ScreenPosition.x     = marker.getX();
                this.m_ScreenPosition.y     = marker.getY();
                this.m_Angle                = marker.getAngle() * RotationMultiplier;
                this.m_AngleDegrees         = marker.getAngleDegrees() * RotationMultiplier;
                this.m_Speed                = marker.getMotionSpeed();
                this.m_Acceleration         = marker.getMotionAccel();
                this.m_RotationSpeed        = marker.getRotationSpeed() * RotationMultiplier;
                this.m_RotationAcceleration = marker.getRotationAccel();
                this.m_Direction.x          = marker.getXSpeed();
                this.m_Direction.y          = marker.getYSpeed();
                this.m_IsVisible            = true;

                //set game object to visible, if it was hidden before
                ShowGameObject();

                //update transform component
                UpdateTransform();
            }
        }
        else
        {
            //automatically hide game object when marker is not visible
            if (this.AutoHideGO)
            {
                HideGameObject();
            }
            else
            {
                if (fighting == false)
                {
                    //activate markers
                    transform.GetChild(0).gameObject.SetActive(true);
                    //keyboard commands to test
                    if (MarkerID == 0)
                    {
                        Vector3 t = transform.position;

                        if (Input.GetKey(KeyCode.UpArrow))
                        {
                            Vector3 forward = Vector3.forward * 0.5f;
                            t += forward;
                        }
                        if (Input.GetKey(KeyCode.DownArrow))
                        {
                            Vector3 backward = Vector3.forward * -0.5f;
                            t += backward;
                        }
                        if (Input.GetKey(KeyCode.RightArrow))
                        {
                            Vector3 right = Vector3.right * 0.5f;
                            t += right;
                        }
                        if (Input.GetKey(KeyCode.LeftArrow))
                        {
                            Vector3 left = Vector3.right * -0.5f;
                            t += left;
                        }

                        if (t.x >= 96.0f || t.x <= 4.0f)
                        {
                            t.x = transform.position.x;
                        }

                        if (t.z >= 96.0f || t.z <= 4.0f)
                        {
                            t.z = transform.position.z;
                        }

                        if (t != transform.position)
                        {
                            transform.position = t;
                        }
                    }
                    if (MarkerID == 1)
                    {
                        if (Input.GetKey(KeyCode.Keypad8))
                        {
                            transform.position += Vector3.forward * 0.5f;
                        }
                        if (Input.GetKey(KeyCode.Keypad2))
                        {
                            transform.position += Vector3.forward * -0.5f;
                        }
                        if (Input.GetKey(KeyCode.Keypad6))
                        {
                            transform.position += Vector3.right * 0.5f;
                        }
                        if (Input.GetKey(KeyCode.Keypad4))
                        {
                            transform.position += Vector3.right * -0.5f;
                        }
                    }
                    if (MarkerID == 2)
                    {
                        Vector3 t = transform.position;

                        if (Input.GetKey(KeyCode.W))
                        {
                            Vector3 forward = Vector3.forward * 0.5f;
                            t += forward;
                        }
                        if (Input.GetKey(KeyCode.S))
                        {
                            Vector3 backward = Vector3.forward * -0.5f;
                            t += backward;
                        }
                        if (Input.GetKey(KeyCode.D))
                        {
                            Vector3 right = Vector3.right * 0.5f;
                            t += right;
                        }
                        if (Input.GetKey(KeyCode.A))
                        {
                            Vector3 left = Vector3.right * -0.5f;
                            t += left;
                        }

                        if (t.x >= 96.0f || t.x <= 4.0f)
                        {
                            t.x = transform.position.x;
                        }

                        if (t.z >= 96.0f || t.z <= 4.0f)
                        {
                            t.z = transform.position.z;
                        }

                        if (t != transform.position)
                        {
                            transform.position = t;
                        }
                    }
                    if (MarkerID == 3)
                    {
                        if (Input.GetKey(KeyCode.I))
                        {
                            transform.position += Vector3.forward * 0.5f;
                        }
                        if (Input.GetKey(KeyCode.K))
                        {
                            transform.position += Vector3.forward * -0.5f;
                        }
                        if (Input.GetKey(KeyCode.L))
                        {
                            transform.position += Vector3.right * 0.5f;
                        }
                        if (Input.GetKey(KeyCode.J))
                        {
                            transform.position += Vector3.right * -0.5f;
                        }
                    }
                }
            }

            this.m_IsVisible = false;
        }
    }
Exemplo n.º 5
0
 public void updateTuioObject(TuioObject tobj)
 {
     Console.WriteLine("set obj "+tobj.getSymbolID()+" "+tobj.getSessionID()+" "+tobj.getX()+" "+tobj.getY()+" "+tobj.getAngle()+" "+tobj.getMotionSpeed()+" "+tobj.getRotationSpeed()+" "+tobj.getMotionAccel()+" "+tobj.getRotationAccel());
 }
Exemplo n.º 6
0
    void Update()
    {
        if (this.m_TuioManager.IsMarkerAlive(this.MarkerID))
        {
            //Debug.Log("FidcialController Zeile 110:this.m_TuioManager.IsMarkerAlive(this.MarkerID)");
        }


        if (this.m_TuioManager.IsConnected &&
            this.m_TuioManager.IsMarkerAlive(this.MarkerID))
        {
            TUIO.TuioObject marker = this.m_TuioManager.GetMarker(this.MarkerID);

            //update parameters
            this.m_ScreenPosition.x     = marker.getX();
            this.m_ScreenPosition.y     = marker.getY();
            this.m_Angle                = marker.getAngle() * RotationMultiplier;
            this.m_AngleDegrees         = marker.getAngleDegrees() * RotationMultiplier;
            this.m_Speed                = marker.getMotionSpeed();
            this.m_Acceleration         = marker.getMotionAccel();
            this.m_RotationSpeed        = marker.getRotationSpeed() * RotationMultiplier;
            this.m_RotationAcceleration = marker.getRotationAccel();
            this.m_Direction.x          = marker.getXSpeed();
            this.m_Direction.y          = marker.getYSpeed();
            this.m_IsVisible            = true;

            //set game object to visible, if it was hidden before
            ShowGameObject();

            //update transform component
            UpdateTransform();

            //Hier werden die Rüben gesucht, die auf der Seite der jeweiligen Person sind und ihre Kreise eingefärbt
            if (Time.time - Fiducial_Counter.time > 2)
            {
                //Hier wird der Index gesetzt, damit man weiß, welche "kleinen" Rüben und Kreise zu welcher Rübe gehören
                if (this.name.IndexOf("Ruebe" + Fiducial_Counter.count) > -1)
                {
                    /*Die Rüben in der Mitte werden von 1 - 4 gezählt und
                     *      die unteren Rüben werden ebenfalls von 1-4 nummeriert,
                     *      jedoch nach dem "_" werden sie pro Seite mit gleich nummeriert.
                     *      Auf der Seite der Marker ID 0 ist bspw. die Ruebe1_1
                     *      Hier soll die jeweilige Rübe in Kleinformat gefunden werden */
                    if (this.name.Equals("Ruebe" + Fiducial_Counter.count + "_" + (this.MarkerID + 1)))
                    {
                        //Dadurch findet man den Jeweiligen kreis der Unterrübe und färbt diesen Grün
                        GameObject     circle   = GameObject.Find(this.name.Replace("Ruebe", "Kreis"));
                        SpriteRenderer renderer = circle.GetComponents <SpriteRenderer> () [0];
                        renderer.color = new Color(0.133f, 0.545f, 0.133f);

                        /*Hier kommt die Methode handleMarkerMovement in Aktion, die unten im Code zu finden ist.
                         *      Über diese Methode wird der Füllstand und die Bewegungsrichtung der Fiducials festgelegt*/
                        float diff = this.handleMarkerMovement();

                        /*Die Bewegungsachse wird in der Methode handleMarkerMovement festgelegt und
                         *      hier wird nochmal festgelegt ob sie in die + oder - Richtung
                         *      auf der jeweiligen Achse bewegt werden müssen.
                         *      Spricht MarkerID 0 muss in Richtung +y, MarkerID 1 -x,
                         *      MarkerID 2 -y und MarkerID 3 +x*/
                        diff *= MarkerID == 0 && MarkerID == 3 ? -1 : 1;

                        if (diff > 0)
                        {
                            //Der maximale Füllstand wird dann in den jeweiligen Loadscreen-Skripten kontrolliert
                            ScreenArray [MarkerID] += diff;
                        }
                    }
                }
                else
                {
                    //Ist die Rübe nicht dran, so bleibt der Kreis braun
                    GameObject     circle   = GameObject.Find(this.name.Replace("Ruebe", "Kreis"));
                    SpriteRenderer renderer = circle.GetComponents <SpriteRenderer> () [0];
                    renderer.color = new Color(0.35f, 0.19f, 0.1f);
                }
            }
            else
            {
                //automatically hide game object when marker is not visible
                if (this.AutoHideGO)
                {
                    HideGameObject();
                }

                //Wird das Fiducial nicht erkannt, so bleibt die Rübe auch braun
                recognized = false;

                GameObject     circle   = GameObject.Find(this.name.Replace("Ruebe", "Kreis"));
                SpriteRenderer renderer = circle.GetComponents <SpriteRenderer> () [0];
                renderer.color = new Color(0.35f, 0.19f, 0.1f);

                this.m_IsVisible = false;
            }
        }
        else
        {
            //automatically hide game object when marker is not visible
            if (this.AutoHideGO)
            {
                HideGameObject();
            }

            recognized = false;

            GameObject     circle   = GameObject.Find(this.name.Replace("Ruebe", "Kreis"));
            SpriteRenderer renderer = circle.GetComponents <SpriteRenderer> () [0];
            renderer.color = new Color(0.35f, 0.19f, 0.1f);

            this.m_IsVisible = false;
        }
    }