Das Koordinatensystem von Blender unterscheidet sich von dem, was ich gewohnt bin, da Z anstelle von Y nach oben zeigt. Was wäre der einfachste Weg, alle Weltdaten zu konvertieren (damit alle Animationen, Texturkoordinaten usw. noch funktionieren), sodass Y. zeigt nach oben?
Klärung:
Objektpositionen werden als Matrizen definiert, daher ist es keine triviale Aufgabe, nur die Translations- / Rotations- / Skalierungsinformationen in Matrizen zu wechseln. (Zumindest scheint es mir keine triviale Aufgabe zu sein)
mathematics
blender
coordinates
Jari Komppa
quelle
quelle
Antworten:
Warum können Sie die Rotationsmatrix nicht einfach so ausrichten, dass sie den ersten Teil Ihrer Weltmatrix korrekt ausrichtet?
Wenn Sie es beim Laden reparieren möchten, erstellen Sie die Rotationsmatrix, um sie korrekt auszurichten (dh 90 Grad um die X-Achse). Wenden Sie dies auf alle Scheitelpunkte an und ändern Sie dann alle vorhandenen Matrizen in (Drehung * vorhanden).
quelle
Stimmen Sie mich ab, wenn ich falsch liege, aber ich verstehe nicht, warum die Leute empfehlen, y und z zu tauschen. Das würde Ihr Koordinatensystem von Rechtshänder zu Linkshänder machen. Versuchen Sie dies selbst, tauschen Sie y und z aus und richten Sie die Achse so aus, dass x nach rechts und y nach oben zeigt. Sie werden sehen, dass z in die entgegengesetzte Richtung zum Original zeigt (vom Bildschirm weg). Der richtige Weg ist, sich um die x-Achse zu drehen, die y und z vertauscht, und dann das Vorzeichen des letzten z umzukehren.
Ich denke, die einfachere Lösung besteht darin, Ihre Modelle mit einem höheren Wert zu erstellen.
quelle
Wie Genosse Ente vorschlägt, können Sie einfach Y und Z tauschen. Wenn Sie dazu eine Matrix benötigen, verwenden Sie diese:
oder in homogenen Koordinaten
quelle
Wenn Ihre Matrix ist:
Warum dann nicht:
Oder welche Swap-Methode Sie wollen.
quelle
Wenn Sie Ihre Netze mit dem von Ihnen verwendeten Netzladecode laden, wechseln Sie einfach die Z- und Y-Werte. Das Netz wird dann im entsprechenden Koordinatenraum in Ihr Spiel geladen und Sie können alles tun, was Sie möchten (Rotationen, Übersetzungen usw. anwenden). Es ist eine ähnliche Situation, die ich mit 3DS Max hatte.
quelle