Ich habe in der Schule gelernt, dass die Z-Achse oben ist. Bei der Modellierungssoftware ist es dasselbe wie bei Blender. In vielen Spielen ist die y-Achse jedoch oben.
Was ist der Grund?
Ich habe in der Schule gelernt, dass die Z-Achse oben ist. Bei der Modellierungssoftware ist es dasselbe wie bei Blender. In vielen Spielen ist die y-Achse jedoch oben.
Was ist der Grund?
Antworten:
Ich denke, dass die Richtung der Koordinatenachsen Überbleibsel aus verschiedenen Bereichen sind, in denen die entscheidende Ebene unterschiedlich war und X / Y mit dieser entscheidenden Ebene ausgerichtet waren. In einigen Anwendungen war die Grundebene am wichtigsten, daher war X / Y der Grund und Z endete senkrecht dazu. Für Spiele ist jedoch die entscheidende Ebene normalerweise der Bildschirm (besonders natürlich damals, als sie 2D waren und gerade anfingen, zu 3D überzugehen), also waren X / Y der Bildschirm und dann, als die Spiele 3D wurden, endete Z senkrecht dazu.
Sie können diesen Unterschied zwischen den beiden größten 3D-Grafikwerkzeugen erkennen: 3ds max und Maya. Die Z-Achse ist in 3ds max höher, weil das aus Architekturwerkzeugen heraus gewachsen ist, während die Y-Achse in Maya höher ist, weil das aus Filmerzeugungswerkzeugen herausgewachsen ist.
Wenn Sie ein bestimmtes Werkzeug mit dem vergleichen, was Sie in der Schule gelernt haben, ist es wichtig zu wissen, dass alles willkürlich ist. Es ist wirklich egal, in welche Richtung die Achsen zeigen, solange Sie alles konsistent halten und zwischen verschiedenen Koordinatensystemen korrekt übersetzen.
Es ist größtenteils ein Erbe aus der Zeit, als mit 3D nur ein rotierender Würfel oder ein Parallaxen-Bildlauf oder ähnliches im Bildschirmraum möglich gewesen wäre. In solchen Anwendungen war Z "Tiefe", da X und Y die Achsen für die Bildschirmebene waren. Da Demos immer fortgeschrittener wurden, blieben die ursprünglichen Konventionen erhalten, da es einfacher ist, nichts zu ändern, was funktioniert.
Warum genau heutige Spiele Y als vertikale Achse haben - es gibt viele schlecht geschriebene Tutorials, die den Unterschied nicht erklären. In der Regel ist es am nützlichsten, die primäre Bewegungsebene auf der X- und der Y-Achse zu haben (sodass bei den meisten 2D-Berechnungen keine Achsen im Code ausgetauscht werden müssen). Bei den meisten Side-Rollern fällt dies natürlich mit der Bildschirmebene (X / Y) zusammen. Für Abenteuerspiele und ähnliches funktioniert X / Y gut als horizontale Ebene (senkrecht zur Schwerkraftrichtung), da es perfekt auf In-Game-Karten, Gamepad-Steuerelemente, Geländehöhenkarten und viele andere Dinge abgebildet wird.
Soweit ich jemals Y = auf / ab und Z = Tiefe gelernt habe, basiert dies auf der Physik, bei der die Schwerkraft immer in der (-Y) -Richtung ist, und wenn Sie dann 3D hinzufügen, bedeutet dies, dass Sie keine fundamentalen Änderungen vornehmen möchten . so wurde es tiefe gemacht.
Bei der Z = up / down-Methode ist dies jedoch ein Rückfall für Mathematiker. Da X / Y auf dem Papier gezeichnet wurde, das beim Ausfahren der Z-Achse flach auf dem Tisch lag, kam es aus dem Papier und daher nach oben. Viele Ihrer Ingenieure werden diese Konvention jedoch auch anwenden.
In Bezug auf die Konvention, die von dem gegebenen Werkzeug verwendet wird: Maya und Unity haben Y-up (wahrscheinlich von jemandem mit physikalischem Hintergrund entworfen). während 3DsMax und Unreal Z-up haben (wahrscheinlich von Mathematikern / Ingenieuren entworfen). es kann aber auch gesagt werden, dass dies auch nur eine geteilte Entscheidung eines Tages sein könnte, da ein konsistentes System verwendet werden musste.
da sich diese Frage auf ein Modellierungswerkzeug konzentriert und auf einer Frage- und Antwortseite für Spieleentwickler platziert wird. Möglicherweise möchten Sie überprüfen, in welches Koordinatensystem Sie exportieren, und sicherstellen, dass Sie dem entsprechen.
Stellen Sie auch fest, dass bei einigen Systemen das Achsensystem fest und dauerhaft eingestellt ist und bei anderen Systemen Änderungen möglich sind (denken Sie, es kann in Blender und Unreal geändert werden, aber dies könnte falsch sein).
Weil das in Spielen verwendete Koordinatensystem von der Dimension des Monitors abhängt. Wenn der Computer etwas rendert, beginnt er in der oberen linken Ecke und gibt die x- und y-Koordinate von [0, 0] an. Wenn das Rendern in Richtung der rechten Seite des Bildschirms voranschreitet, erhöht sich der x-Wert bzw. der y-Wert, wenn sich das Rendern nach unten bewegt. Das Koordinatensystem ist im Grunde das eines 2D-Raums, außer dass der Ursprung in der oberen linken Ecke und nicht in der Mitte Ihres Bildschirms liegt.
In 3D-Paketen wie 3DsMax und Maya haben sie ihre eigene Definition von x- und y-Koordinaten, basierend auf dem, was für sie wichtig ist. 3DsMax basierte auf architektonischen Entwürfen. Wenn Sie ein Schema auf einer 2D-Ebene zeichnen, ist y oben. In Maya, das hauptsächlich für Animationen verwendet wird, ist der Boden x, y und die Höhe ist z.