Ich bekomme von einem Sensor 4 Parameter für jeden Rahmen, O (Ursprung), W (AUF), V (VORWÄRTS) und U (RECHTS), sie sind Vector3 Elemente, mit diesen Werten kann ich die Position meines Objekts kennen ist im Raum, aber ich kann die Rotation nicht finden, um alle Bewegungen darzustellen, die das Objekt tut.Wie kann ich Winkel basierend auf einer GameObject-Position erhalten?
das ist, was ich bisher bekommen (diese laufen jeden Rahmen mit neuen Werten für den Eintritt Vektor):
Vector3 vetO = new Vector3(entry[0], entry[4], entry[8]); //o
Vector3 vetU = new Vector3(entry[1], entry[5], entry[9]); //u
Vector3 vetV = new Vector3(entry[2], entry[6], entry[10]); //v
Vector3 vetW = new Vector3(entry[3], entry[7], entry[11]); //w
//Here i'm doing this to analize the rotation of a plan
vetW.x = 0;
vetU.z = 0;
vetV.y = 0;
float angleX = Vector3.Angle(vetW, Vector3.up);
float angleY = Vector3.Angle(vetV, Vector3.forward);
float angleZ = Vector3.Angle(vetU, Vector3.right);
//This is because unity bug, when angle is up to 180º
angleX = vetW.z < 0 ? -angleX : angleX;
angleY = vetV.x < 0 ? -angleY : angleY;
angleZ = vetU.y < 0 ? -angleZ : angleZ;
Vector3 angles = new Vector3(angleX, angleY, angleZ);
transform.eulerAngles = angles;
transform.localPosition = vetO;
tatsächlich ich habe eine Reihe von Raumposition und ich möchte die Winkel zwischen einer Position und anderen extrahieren. – Ztrusco
Sie wollen also den Winkel zwischen 2 Objekten bekommen? (Entschuldigung, aber ich verstehe nicht wirklich, was Sie wollen) –
Bitte überprüfen Sie mein Update. – Ztrusco