Ich mag Gyro gesteuerte Kamera OnButtonClick Ereignis aktivieren, damit aber ich will es an der Kamera aktueller Position zu starten. Momentan, wenn der Kreisel aktiviert wird, verschiebt er die Kamera in eine neue Position (wahrscheinlich die aktuelle Gyro-Rotation des Geräts), anstatt sie dort zu belassen und von diesem Punkt aus zu gyrogen.Wie Gyroskop Kamera bei aktuellen Geräten Orientierung
Ich hoffe, ich mache Sinn, aber im Grunde möchte ich nicht, dass der Benutzer eine Änderung in dem, was sie im Spiel sehen bemerken (dh. Kamera durch Gyro gesteuert, aber nicht, dass Benutzer diese Änderung bemerken würde). Hier ist der Code Ich verwende:
void Update()
{
Quaternion attitudeFix = new Quaternion (-gyro.attitude.x, -gyro.attitude.z, -gyro.attitude.y, gyro.attitude.w);
Quaternion offsetRotation = initialGyroRotation * attitudeFix;
rotation = initialRotation * offsetRotation;
transform.rotation = rotation;
}
public void EnableGyro()
{
initialGyroRotation = Input.gyro.attitude;
initialRotation = transform.rotation;
Debug.Log("initialRotation: " + initialRotation.ToString());
Debug.Log("transform.rotation: " + transform.rotation.ToString());
Debug.Log("initialGyroRotation: " + initialGyroRotation.ToString());
}
**
EDIT: Hier ist ein Bildschirm genau, wie ich die Ansicht aussehen soll, wenn der Benutzer sein Gerät hält vor ihrem Gesicht (Porträt) UND in Richtung Norden. Unabhängig davon, wie das Gerät beim Start der App ausgerichtet ist, sollte es aussehen, wenn es mit dem Telefon im Hochformat nach Norden fährt (wiederum, wenn der Benutzer durch das Telefon schaut).
EDIT 2: Tests wurden immer verwirrend, so habe ich den Code wieder zu genau, wie Sie Ihre Lösung vorschlägt. Es gibt immer noch ein kleines Problem, aber es scheint so, als ob dieses Skript sehr nahe ist. Das Hauptproblem ist, dass der Bildschirm nicht wie das obige Bild aussieht, wenn ich jeden Test starte und die App mit dem Gerät in seltsamen Winkeln starte. Es sollte eigentlich egal sein, welchen Winkel das Gerät hat, wenn die App gestartet wird, es muss wie der obige Bildschirm aussehen, wenn man nach Norden und in das Portrait zeigt.
Ich muss mehr Tests durchführen, und tun dies mit einem neuen/clean-Projekt.
Vielen Dank für Ihre Hilfe, Ihr Code hat genau das getan, was er tun sollte. Jetzt, wo ich diese Arbeit habe, hat es natürlich andere Probleme aufgedeckt, die ich mit meiner Implementierung von Gyro auf der Kamera und Kompass auf einem separaten Spielobjekt habe. Ich möchte Ihre Gedanken wissen, ob Sie denken, dass es eine Kamera-Setup möglich ist, die Gyro tut auf 2 Achsen (X/Z) und Kompass auf einem anderen Spiel-Objekt, das die restlichen 1 Achse (Y) der Fall ist. Soll ich eine andere Frage starten? – Valerie
Dies ist ein ganz anderes Thema und eine Frage. Sie können eine neue Frage dazu erstellen.Stellen Sie sicher, klar zu sein, was Sie fragen und bieten Sie an, was Sie versucht haben. – Programmer
Danke Programmierer, hier ist meine neue Frage: https://stackoverflow.com/questions/46943868/gyroscope-with-compass-help-needed – Valerie