Ho imparato a scuola che l'asse z è attivo. È lo stesso nel software di modellazione come Blender. Tuttavia in molti giochi l'asse y è attivo.
Qual è il motivo?
Ho imparato a scuola che l'asse z è attivo. È lo stesso nel software di modellazione come Blender. Tuttavia in molti giochi l'asse y è attivo.
Qual è il motivo?
Risposte:
Penso che la direzione degli assi delle coordinate sia holdover da diversi domini in cui il piano cruciale era diverso e X / Y erano allineati con quel piano cruciale. In alcune applicazioni il piano terra era il più importante, quindi X / Y era il terreno e Z finiva perpendicolarmente a quello. Per i giochi, tuttavia, il piano cruciale è di solito lo schermo (specialmente ovviamente quando erano in 2D e stavano appena iniziando a passare al 3D), quindi X / Y era lo schermo e poi quando i giochi sono diventati 3D Z è diventato perpendicolare a quello.
Puoi vedere quel tipo di distinzione tra i due più grandi strumenti di arte 3D: 3ds max e Maya. L'asse Z è cresciuto in 3ds max perché è cresciuto grazie a strumenti architettonici, mentre l'asse Y è aumentato in Maya perché è cresciuto grazie a strumenti per la creazione di filmati.
La cosa importante da realizzare quando si confronta uno strumento specifico con ciò che hai imparato a scuola è che è tutto arbitrario. Non importa in che modo gli assi siano puntati, purché si mantenga tutto coerente e si traduca correttamente tra i diversi sistemi di coordinate.
È principalmente legato ai tempi in cui tutto ciò che avrebbe potuto essere realizzato con il 3D era un cubo rotante dello spazio dello schermo o lo scorrimento della parallasse o qualcosa di simile. In tali applicazioni, Z era "profondità" perché X e Y erano gli assi per il piano dello schermo. Man mano che le demo stavano diventando più avanzate, le convenzioni originali sono rimaste perché è più facile non cambiare nulla che funzioni.
Per quanto riguarda il motivo per cui esattamente i giochi di oggi hanno Y come asse verticale - ci sono molti tutorial scritti male che non spiegano la differenza. Di solito è molto utile avere il piano di movimento primario sugli assi X e Y (in modo che la maggior parte dei calcoli 2D non richiedano lo scambio di assi nel codice). Per la maggior parte dei sidescroller, è naturalmente coincidente con il piano dello schermo (X / Y). Per i giochi di avventura e simili, X / Y funziona bene come il piano orizzontale (perpendicolare alla direzione di gravità) perché si adatta perfettamente alle mappe di gioco, ai controlli del gamepad, alle altezze del terreno e molte altre cose.
Per quanto ho mai raccolto Y = su / giù, e Z = profondità si basa sulla fisica dove la gravità è sempre nella direzione (-Y), e quindi aggiungere 3D significa che non vuoi cambiare un fondamentale , quindi è stato reso profondo.
Sul metodo Z = su / giù, tuttavia, è un ritorno ai matematici. poiché X / Y era disegnato sulla carta che era piatta sul tavolo quando l'asse Z era esteso, stava uscendo dalla carta, e quindi su. anche se molti dei tuoi ingegneri useranno anche questa convenzione.
per quanto riguarda la convenzione utilizzata dallo strumento dato: Maya e Unity hanno Y-up (probabilmente progettato da qualcuno con una preparazione fisica). mentre 3DsMax e Unreal hanno Z-up (probabilmente progettato da matematici / ingegneri). sebbene si possa anche dire che questi potrebbero anche essere solo una decisione divisa presa un giorno perché si doveva usare un sistema coerente.
poiché questa domanda si concentra su uno strumento di modellazione e viene inserita in un sito di domande e risposte sullo sviluppo di giochi. potresti voler esaminare in quale sistema di coordinate esporterai e assicurarti di conformarti a quello.
anche rendersi conto che alcuni sistemi il sistema di assi è fisso e permanente e altri possono essere modificati (penso che possa essere cambiato in Blender e Unreal, ma potrebbe essere sbagliato)
Perché il sistema di coordinate utilizzato nei giochi si basa sulla dimensione del monitor. Quando il computer esegue il rendering di qualsiasi cosa, inizia nell'angolo in alto a sinistra che fornisce le coordinate x e y di [0, 0]. Man mano che il rendering avanza verso il lato destro dello schermo, il valore x aumenta, rispettivamente quando il rendering si sposta verso il basso, il valore y aumenta. Il sistema di coordinate è fondamentalmente quello di uno spazio 2D, ad eccezione del resto dell'origine nell'angolo in alto a sinistra e non al centro dello schermo.
In pacchetti 3D come 3DsMax e Maya, hanno una propria definizione di coordinate xey basata su ciò che è importante per loro. 3DsMax era basato sulla progettazione architettonica, se si disegna uno schema su un piano 2D, y è attivo. In Maya, che viene utilizzato principalmente per l'animazione, quindi il terreno è x, y e l'altezza è z.