Ich rotiere die Kamera mit Gyroskopeingang in Einheit, weil ich möchte, dass der Spieler sich das x, y anschaut. Aber irgendwie gibt es auch Rotation in z. Wie behalte ich die Z-Rotation bei 0, während zumindest die glatte Rotation in x und y ich jetzt habe?Wie kann ich die Drehung in z meiner Kamera sperren, während ich die Kamera mit einem mobilen Gyroskop einspeise?
Wurden googeln, aber haben keine Lösungen gefunden, die die tatsächlich halten z auf 0
Hier ist der Code ich für eine Rotation verwenden, ist es an der Kamera angebracht.
private void Start()
{
_rb = GetComponent<Rigidbody>();
Input.gyro.enabled = true;
}
private void Update()
{
float gyro_In_x = -Input.gyro.rotationRateUnbiased.x;
float gyro_In_y = -Input.gyro.rotationRateUnbiased.y;
transform.Rotate(gyro_In_x, gyro_In_y, 0);
}
leider nur bemerkte ich in Update verwendet den falschen Code hilft. Die Minus-Symbole basieren auf dem folgenden Tutorial: https://www.youtube.com/watch?v=8ugE1HQPA9g – RomeoTheWizard
Nun, ich denke, mit 'Rotate()' kann auch unerwünschte Drehung auf der Z-Achse (könnte falsch sein) : Hat meine Lösung (manipuliere 'Transform.eulerAngles' direkt) dein Problem gelöst? – Kardux
Ja, danke das funktioniert! Ich benutze diesen Code stattdessen tut es das gleiche, ist aber viel kürzer und klarer zu mir, falls jemand es wissen möchte. float gyro_In_x = -Input.gyro.rotationRateUnbiased.x; float gyro_In_y = -Input.gyro.rotationRateUnbiased.y; transform.eulerAngles + = neuer Vector3 (gyro_In_x, gyro_In_y, 0.0f); – RomeoTheWizard