Burhan92 Geschrieben 13. Oktober 2012 Melden Share Geschrieben 13. Oktober 2012 Hallo! Ich arbeite momentan an einem kleinem Spiel. Ich habe ein Fahrrad Modell drin und wollte das so machen, dass die y-Rotation vom Spieler-Objekt übernommen wird. Dies habe ich über JavaScript so versucht zu lösen: var other : Transform; function Update() { transform.rotation.x = other.rotation.x; transform.rotation.y = other.rotation.y; transform.rotation.z = other.rotation.z; transform.position = other.position; } Die Position übernimmt es perfekt, aber die Rotation will nicht ganz mitmachen. Bei Fragen oder sonstigem einfach bescheid sagen. Bedanke mich natürlich schon mal im Voraus!! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Graphiler Geschrieben 13. Oktober 2012 Melden Share Geschrieben 13. Oktober 2012 Die Rotation hat noch eine .w-Variable in der Klasse, ist ein Quaternion kein Vector3(euklidisch). Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hendrik Geschrieben 13. Oktober 2012 Melden Share Geschrieben 13. Oktober 2012 Um das ganze mal zu erweitern:http://docs.unity3d.com/Documentation/ScriptReference/Transform-eulerAngles.html Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Burhan92 Geschrieben 13. Oktober 2012 Autor Melden Share Geschrieben 13. Oktober 2012 Die Rotation hat noch eine .w-Variable in der Klasse, ist ein Quaternion kein Vector3(euklidisch). Erstmal vielen Dank für deinen Rat. Ich habe mich eben in der Dokumentation darüber schlau gemacht. Schließen konnte ich aus dieser Quelle allerdings nichts. Vielmehr steht da nichts brauchbares drin. Wie würde der Quelltext denn aussehen wenn es richtig funktionieren soll? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Graphiler Geschrieben 13. Oktober 2012 Melden Share Geschrieben 13. Oktober 2012 ... transform.rotation.w = other.rotation.w; transform.rotation.x = other.rotation.x; transform.rotation.y = other.rotation.y; transform.rotation.z = other.rotation.z; .... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Burhan92 Geschrieben 13. Oktober 2012 Autor Melden Share Geschrieben 13. Oktober 2012 ... transform.rotation.w = other.rotation.w; transform.rotation.x = other.rotation.x; transform.rotation.y = other.rotation.y; transform.rotation.z = other.rotation.z; .... Vielen Dank, hat mir sehr geholfen! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Burhan92 Geschrieben 13. Oktober 2012 Autor Melden Share Geschrieben 13. Oktober 2012 Ich hätte noch eine kleine Frage. Das Fahrrad ist in der Rotation 0 standardmäßig um 90° gedreht. Jetzt habe ich folgendes versucht: transform.rotation.y = other.rotation.y - 90; Ist das falsch oder warum dreht es sich nicht mehr richtig. Bin leider ein totaler Anfänger was Unity angeht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hendrik Geschrieben 13. Oktober 2012 Melden Share Geschrieben 13. Oktober 2012 transform.rotation ist ein Quaternion. Quaternione sind ein separates Zahlensystem in der Mathematik und erfordern besondere Umrechnung von Grad. Wenn du mit Grad arbeiten willst, hilft dir transform.eulerAngles weiter! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Graphiler Geschrieben 13. Oktober 2012 Melden Share Geschrieben 13. Oktober 2012 Ich empfehle dir sogar ausdrücklich mit euklidischen Vektoren(in Grad) zu arbeiten und dir nicht den Wikipedia-Artikel zu Quaternionen durchzulesen, außer du bist Mathematik-Student oder willst dir den Spaß am Spieleentwickeln verderben. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Burhan92 Geschrieben 13. Oktober 2012 Autor Melden Share Geschrieben 13. Oktober 2012 Ok, jetzt läuft's! Danke!! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 14. Oktober 2012 Melden Share Geschrieben 14. Oktober 2012 transform.rotation.w = other.rotation.w; transform.rotation.x = other.rotation.x; transform.rotation.y = other.rotation.y; transform.rotation.z = other.rotation.z; ist übrigens äquivalent zu transform.rotation = other.rotation; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Graphiler Geschrieben 14. Oktober 2012 Melden Share Geschrieben 14. Oktober 2012 Das ist wahr. Aber ich wollte ihm verdeutlichen, dass es die w-Komponente bei Quaternions gibt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.