void SendAndReceive() { Target targetObject = new Target(); socketData.Connect(ipEndPoint); socketVideo.Connect(ipEndPoint); Console.WriteLine("Sockets connectées"); int i = 0; while (i < 3) { SendKeepAliveMessage.SendKAM(ipEndPoint, socketData, socketVideo); i++; int j = 0; while (j < 10) { string dataReceiveString = ReceiveData.RData(socketData); //Console.WriteLine("Données reçues"+dataReceiveString); if (dataReceiveString.Contains("gp3")) { float[] position = new float[3]; position = ConvertGP3Data.CData(dataReceiveString); Debug.Log("x : " + position[0] + " y : " + position[1] + " z : " + position[2]); targetObject.SendMessage("PositionUpdate", new Vector3(position[0], position[1], position[2])); j++; } } } }
void Update() { int screenHeight = Screen.height; int screenWidth = Screen.width; Debug.Log("Screen height : " + screenHeight); Debug.Log("Screen Width : " + screenWidth); string dataReceiveString = ReceiveData.RData(socketData); //Console.WriteLine("Données reçues"+dataReceiveString); while (!dataReceiveString.Contains("gp3")) { dataReceiveString = ReceiveData.RData(socketData); } SendKeepAliveMessage.SendKAM(ipEndPoint, socketData, socketVideo); if (dataReceiveString.Contains("gp3")) { float[] position = new float[3]; position = ConvertGP3Data.CData(dataReceiveString); Vector3 vposition = new Vector3(position[0], position[1], position[2]); if (position[1] + position[2] + position[0] != 0) { //here what I added /*Vector3 scale = Vector3.one * scale; * Matrix4x4 mat = Matrix4x4.TRS(position, Quaternion.identity, scale); * * Vector3 Map(Vector3 aPos) * { * aPos *= scale; * aPos += position; * return aPos; * } * Vector3 newPosition = new Vector3(Map(position));*/ Vector3 positionBoule = transform.position; if (Math.Abs(positionBoule.x) > screenWidth / 2) { if (positionBoule.x > 0) { positionBoule.x = screenWidth / 2; } else { positionBoule.x = -screenWidth / 2; } } if (Math.Abs(positionBoule.y) > screenHeight / 2) { if (positionBoule.y > 0) { positionBoule.y = screenHeight / 2; } else { positionBoule.y = -screenHeight / 2; } } Debug.Log("heeeeeeeeeeeeeeeeeeeeeeeeeeeeey postion de la boule " + positionBoule.ToString()); // //Write some text to the test.txt file /* if (!File.Exists(path)) * { * // Create a file to write to. * using (StreamWriter sw = File.CreateText(path)) * { * sw.WriteLine(positionBoule); * * } * }*/ //text file sw.WriteLine("positionBoule"); sw.WriteLine(positionBoule); sw.WriteLine("positionRegrad"); sw.WriteLine(vposition); //csv file //sw1.WriteLine(positionBoule); //sw1.WriteLine(vposition); Vector3 camPosition = GameObject.FindGameObjectWithTag("MainCamera").transform.position; //Vector3 camDirection = cam.FindGameObjectWithTag("MainCamera").transform.forward; //Vector3 newPosition = new Vector3(-position[0] + camPosition.x, position[1] + camPosition.y, position[2] + camPosition.z); Vector3 newPosition = new Vector3(-position[0] + camPosition.x, position[1] + camPosition.y, 700); /*Vector3 product = Vector3.Dot(camDirection, vposition); * Vector3 gazeDirection2D = cam.WorldToScreenPoint(vposition);*/ // Vector3 newPosition = new Vector3(-position[0] , position[1] , 700); transform.position = Vector3.SmoothDamp(transform.position, newPosition, ref velocity, smoothTime); /*Vector3 screenPos = cam.WorldToScreenPoint(newPosition); * Debug.Log("target is " + screenPos.x + " pixels from the left");*/ //transform.position = new Vector3(position[0], position[1], position[2]); Debug.Log("x : " + position[0] + " y : " + position[1] + " z : " + position[2]); print(transform.position); } } }