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; } }
void Update() { if (ShouldWait) { WaitingToMove -= Time.deltaTime; if (WaitingToMove <= 0.0f) { ShouldWait = false; } } if (this.m_TuioManager.IsConnected && this.m_TuioManager.IsMarkerAlive(this.MarkerID) && !ShouldWait) { GetComponent <Rigidbody2D>().velocity = new Vector2(0.5f, 0);//Setze Geschwindigkeit, sobald Fiducial sichtbar TUIO.TuioObject marker = this.m_TuioManager.GetMarker(this.MarkerID); //update parameters this.m_Angle = marker.getAngle() * RotationMultiplier; this.m_AngleDegrees = marker.getAngleDegrees() * RotationMultiplier; //update transform component UpdateTransform(); this.actRotation = GetComponent <Rigidbody2D>().transform.rotation; } else { GetComponent <Rigidbody2D>().velocity = new Vector2(0, 0);//Setze Geschwindigkeit auf 0, sobald Fiducial unsichtbar GetComponent <Rigidbody2D>().transform.rotation = this.actRotation; } }
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; } }
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_Angle = marker.getAngle() * RotationMultiplier; this.m_AngleDegrees = marker.getAngleDegrees() * RotationMultiplier; 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(); //update transform component if (rotate) { UpdateTransform(); } } else { this.m_IsVisible = false; } if (this.Manager.GetRightWayFound()) { this.rotate = false; //Lässt Gelenk nur drehen, solang der richtige Weg noch nicht gefunden wurde } }
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; } }
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; } }