void Update() { ThreadFollowPoint.transform.position = NeedleThreadPoint.transform.position; if (CollisionHappend) { Debug.Log("Collision Occured" + this.gameObject.name); } else { //Debug.Log("No Collision"); } if (PluginImport.GetButton1State() == true) { Debug.Log("Button1 Pressed"); isButtonClicked = true; } else { isButtonClicked = false; } //if(PluginImport.GetButtonState(1,2)) //{ // Debug.Log("Button1 Pressed"); // isButtonClicked = true; //} //else //{ // isButtonClicked = false; //} if (PluginImport.GetButtonState(1, 1)) { Debug.Log("Button2Pressed"); //GameObject NeedleObject = Instantiate(NeedleStopPoint, NeedDleStopTransform.position, Quaternion.identity, NeedleParent); //NeedleObject.name = NeedleParent.transform.childCount.ToString(); } if (Input.GetKeyDown(KeyCode.Space)) { //isButtonClicked = true; } if (Input.GetKeyUp(KeyCode.Space)) { //isButtonClicked = false; } if (isButtonClicked) { if (CollisionHappend) { if (CollidedObject.name == "forcepNeedlePoint") { transform.position = ForcepPoint.transform.position; this.transform.SetParent(ForcepPoint.transform); } } } else { this.transform.SetParent(GameObject.Find("ButtonResetPoint").transform); } }
void Update() { // myGenericFunctionsClassScript.GetProxyValues(); /////////////////////////////////// getting position of Haptic device /////////////////////// double[] pos = ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyPosition()); //Vector3 position1 = new Vector3 ((float)pos [2], (float)pos [1], -(float)pos [0]); // applying rotation as device is rotated 90 degrees to left... swapping coordinates ///////////////////////////////////////////////////////////////////////////////////////////// Vector3 position1 = new Vector3((float)pos [0], (float)pos [1], (float)pos [2]); position1 = rotation * position1; ///////////////////////////////// Instantiation of Targets as Key B is pressed + writing target coordinates to text file ////////////////////////// button1 = PluginImport.GetButton1State(); if (button1 && !previousbutton1stateI) { target [i] = Instantiate(ball); target [i].transform.position = new Vector3(i * 0.1f, j * 1.0f, -1.0f); using (StreamWriter writer = new StreamWriter("D:\\log.txt", true)) { writer.WriteLine(""); writer.Write("Position for Target "); writer.Write(i + 1); writer.Write(" = "); writer.Write(target[i].transform.position); } if (i > 0) { Destroy(target [i - 1]); // destroying previous targets as the next target is displayed } i++; j = j + 0.1f; } previousbutton1stateI = button1; ////////////////////////////////////////////////////////////////////////////////////////////////////////// button1 = PluginImport.GetButton1State(); // getting state of button 1 on phantom ///////////////////////////// routine for writing pointer current position to text file///////////////////////////////////// if (button1 && !previousbutton1state) { if (targetwritecounter > 0) { using (StreamWriter writer = new StreamWriter("D:\\log.txt", true)) { writer.WriteLine(""); writer.Write("Hand position for target "); writer.Write(targetwritecounter); writer.Write(" = "); writer.Write(gameObject.transform.position); } } targetwritecounter++; } previousbutton1state = button1; ////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////// Controlling visibility of haptic sphere ///////////////// if (Input.GetKeyDown(KeyCode.A)) // Controlling invisibility of the pointer object { visibility.GetComponent <MeshRenderer> ().enabled = false; // making object invisible on pressing A } if (Input.GetKeyDown(KeyCode.S)) { visibility.GetComponent <MeshRenderer> ().enabled = true; // Making object visible again on pressing S } ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////// Recentering of Head Set (Occulus)///////////////////////////////////////// if (Input.GetKeyDown(KeyCode.F12)) { InputTracking.Recenter(); } ////////////////////////////////////////////////////////////////////////////////////////////////////// /***************************************************************/ //Haptic Rendering Loop /***************************************************************/ // PluginImport.RenderHaptic (); ///////////// Origin offset for phantom local coordinates///////////////////// position1 [0] = position1 [0] - (-0.2178f); position1 [1] = position1 [1] - (-0.8274f); position1 [2] = position1 [2] - (-0.0001f); /////////////////////////////////////////////////////////////////////////////// Debug.Log("Phantom Coordinates" + position1.ToString("F4")); ////////////////// scaling between real world distance and unity distance /////////////// position1 [0] = position1 [0] * 0.33f; //Real world 10cm = 30cm in unity // scaling factor10/30 position1 [1] = position1 [1] * 0.5882f; //Real world 10cm = 17cm in unity // scaling factor10/17 position1 [2] = position1 [2] * 0.625f; //Real world 10cm = 16cm in unity // scaling factor10/16 ////////////////////////////////////////////////////////////////////////////////////////// //////////////// Linear transformation from phantom origin to occulus origin ///////////////// // position1 [0] = position1 [0] + 0.006f+ 0.08f; position1 [1] = position1 [1] + 0.63f; position1 [2] = position1 [2] + 0.3f; transform.position = position1; //Debug.Log ("Phantom Coordinates" + position1.ToString ("F4")); ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// Printing Phantom coordinates to console ////////////////////// //Debug.Log ("Phantom Coordinates" + position1.ToString ("F4")); ////////////////////////////////////////////////////////////////////////////////////////////// //Debug.Log ("Button 1: " + PluginImport.GetButton1State()); //Debug.Log ("Button 2: " + PluginImport.GetButton2State()); }