public void GestureControl(self_defined_gesture_type gesture) { switch (gesture) { case self_defined_gesture_type.rotate_two_hand_x_clockwise: rotateDown(); break; case self_defined_gesture_type.rotate_two_hand_x_counterclockwise: rotateUp(); break; case self_defined_gesture_type.rotate_two_hand_y_clockwise: rotateLeft(); break; case self_defined_gesture_type.rotate_two_hand_y_counterclockwise: rotateRight(); break; default: break; } }
public void GestureControl(self_defined_gesture_type gesture, Vector3 velocity) { switch (gesture) { case self_defined_gesture_type.rotate_one_hand_x_clockwise: xRots++; if (Mathf.Approximately(xGizmo.transform.localEulerAngles.y, 180f)) { StartCoroutine(Rotate(90f, 0f, 0f)); } else { StartCoroutine(Rotate(-90f, 0f, 0f)); } break; case self_defined_gesture_type.rotate_one_hand_x_counterclockwise: xRots++; if (Mathf.Approximately(xGizmo.transform.localEulerAngles.y, 180f)) { StartCoroutine(Rotate(-90f, 0f, 0f)); } else { StartCoroutine(Rotate(90f, 0f, 0f)); } break; case self_defined_gesture_type.rotate_one_hand_y_clockwise: yRots++; StartCoroutine(Rotate(0f, 90f, 0f)); break; case self_defined_gesture_type.rotate_one_hand_y_counterclockwise: yRots++; StartCoroutine(Rotate(0f, -90f, 0f)); break; case self_defined_gesture_type.rotate_one_hand_z_clockwise: zRots++; if (Mathf.Approximately(zGizmo.transform.localEulerAngles.y, 270f)) { StartCoroutine(Rotate(0f, 0f, -90f)); } else { StartCoroutine(Rotate(0f, 0f, 90f)); } break; case self_defined_gesture_type.rotate_one_hand_z_counterclockwise: zRots++; if (Mathf.Approximately(zGizmo.transform.localEulerAngles.y, 270f)) { StartCoroutine(Rotate(0f, 0f, 90f)); } else { StartCoroutine(Rotate(0f, 0f, -90f)); } break; case self_defined_gesture_type.move_one_hand: velocityList[timeGap] = velocity; if (timeGap == LeapStatic.dragStable - 1) { velocity = new Vector3(0, 0, 0); foreach (Vector3 v in velocityList) //count the average of these velocities { velocity += v; } try { toRotate.transform.position += LeapStatic.dragVelocity * (velocity / LeapStatic.dragStable); }catch (Exception ex) { } timeGap = 0; } else { timeGap++; } break; default: break; } }