using UnityEngine; using System.Collections; using System.IO.Ports; using System; public class index_new : MonoBehaviour { public Transform F1_J1, F1_J2, F1_J3; // , F2_J1, F2_J2, F2_J3, F3_J1, F3_J2, F3_J3, F4_J1, F4_J2, F4_J3; // public float rotationSpeed = 4f; public float a1 = 0.0f; SerialPort data_stream = new SerialPort("/dev/cu.usbserial-AR0K52VL", 115200); public string receivedstring; void Start() { data_stream.Open(); } void Update() { receivedstring = data_stream.ReadLine(); string[] datas = receivedstring.Split(','); int a1 = int.Parse(datas[0]); string fing = datas[1]; // string n = "Index"; // int recv_angl = int.Parse(datas[0]); // Debug.Log("a2: " + a2); // Debug.Log("Finger: " + fing); StringComparer comparer = StringComparer.OrdinalIgnoreCase; // Debug.Log("Index: " + comparer.Compare(fing, n)); // Debug.Log("Finger:" + comparer.Compare(fing, n)); if (comparer.Compare(fing, "Index")==1) { // Debug.Log("Index: " + comparer.Compare(fing, n)); F1_J1.transform.eulerAngles = new Vector3(0, 0, 0); F1_J2.transform.eulerAngles = new Vector3(0, 0, 0); F1_J3.transform.eulerAngles = new Vector3(0, 0, 0); F1_J1.transform.position = new Vector3(0, 0, 0); F1_J2.transform.position = new Vector3(0, 0, 0); F1_J3.transform.position = new Vector3(0, 0, 0); F1_J1.transform.RotateAround(new Vector3(0, 0, 0), F1_J1.transform.right, (a1 ) ); F1_J2.transform.RotateAround(F1_J1.transform.position - F1_J1.transform.forward, F1_J1.transform.right, (a1- 180)); F1_J3.transform.RotateAround(F1_J2.transform.position + F1_J2.transform.forward, F1_J2.transform.right, (a1- 180)); } // // else if (comparer.Compare(fing, "Middle")==1) // { // F2_J1.transform.eulerAngles = new Vector3(0, 0, 0); // F2_J2.transform.eulerAngles = new Vector3(0, 0, 0); // F2_J3.transform.eulerAngles = new Vector3(0, 0, 0); // // F2_J1.transform.position = new Vector3(1, 0, 0); // F2_J2.transform.position = new Vector3(1, 0, 0); // F2_J3.transform.position = new Vector3(1, 0, 0); // // F2_J1.transform.RotateAround(new Vector3(0, 0, 0), F2_J1.transform.right, (a1 ) ); // F2_J2.transform.RotateAround(F2_J1.transform.position - F2_J1.transform.forward, F2_J1.transform.right, (a1- 180)); // F2_J3.transform.RotateAround(F2_J2.transform.position + F2_J2.transform.forward, F2_J2.transform.right, (a1- 180)); // } // // else if (comparer.Compare(fing, "Ring")==1) // { // F3_J1.transform.eulerAngles = new Vector3(0, 0, 0); // F3_J2.transform.eulerAngles = new Vector3(0, 0, 0); // F3_J3.transform.eulerAngles = new Vector3(0, 0, 0); // // F3_J1.transform.position = new Vector3(2, 0, 0); // F3_J2.transform.position = new Vector3(2, 0, 0); // F3_J3.transform.position = new Vector3(2, 0, 0); // // F3_J1.transform.RotateAround(new Vector3(0, 0, 0), F3_J1.transform.right, (a1 ) ); // F3_J2.transform.RotateAround(F3_J1.transform.position - F3_J1.transform.forward, F3_J1.transform.right, (a1- 180)); // F3_J3.transform.RotateAround(F3_J2.transform.position + F3_J2.transform.forward, F3_J2.transform.right, (a1- 180)); // } // // else if (comparer.Compare(fing, "Pinky")==1) // { // F4_J1.transform.eulerAngles = new Vector3(0, 0, 0); // F4_J2.transform.eulerAngles = new Vector3(0, 0, 0); // F4_J3.transform.eulerAngles = new Vector3(0, 0, 0); // // F4_J1.transform.position = new Vector3(3, 0, 0); // F4_J2.transform.position = new Vector3(3, 0, 0); // F4_J3.transform.position = new Vector3(3, 0, 0); // // F4_J1.transform.RotateAround(new Vector3(0, 0, 0), F4_J1.transform.right, (a1) ); // F4_J2.transform.RotateAround(F4_J1.transform.position - F4_J1.transform.forward, F4_J1.transform.right, (a1 - 180)); // F4_J3.transform.RotateAround(F4_J2.transform.position + F4_J2.transform.forward, F4_J2.transform.right, (a1 - 180)); // } } } // prev_a1 = a1; // prev_a2 = a2; // // // J1.transform.eulerAngles = new Vector3(0, a1, 0); // J2.transform.eulerAngles = new Vector3(0, J1.transform.eulerAngles.y + a1,0); // } // }