Mengapa Y di banyak Game?


19

Saya belajar di sekolah bahwa sumbu z naik. Itu sama dalam perangkat lunak pemodelan seperti Blender. Namun dalam banyak game sumbu y naik.

Apa alasannya?


Sebenarnya, di sini di universitas banyak orang menggambar y ke arah atas ketika mereka menggambar gambar 2D (tebak karena dalam 2D ​​y juga naik dan sering kita hanya menggunakan 3D sebagai generalisasi 2D ketika menunjukkan contoh). Tidak ingat kami benar-benar belajar aturan untuk itu di sekolah.
Aufziehvogel

4
Jawaban sederhana: selama jutaan tahun matematikawan menggambar grafik XY di atas kertas yang memiliki X ke kiri-kanan dan Y naik-turun, dan ketika kedalaman ditambahkan itu menjadi Z masuk-keluar dari kertas. Bukan jawaban yang begitu sederhana: tidak ada yang menyetujui apa pun, mengapa mereka setuju pada sumbu sewenang-wenang? =)
Patrick Hughes


Saya menemukan penghitung ini intuitif untuk 2D juga, mungkin karena saya mulai dengan XNA di mana Y turun. Tetapi hal-hal yang harus di belakang harus ditarik terlebih dahulu dan lebih tinggi di ruang layar sering berarti lebih jauh. Ini menghasilkan membalik beberapa saat menggambar tilemaps dan logika menjadi canggung.
Madmenyo

Perhatikan bahwa jika kami awalnya bekerja dengan grafik ZY dengan Z di bagian atas, maka kami tidak akan memiliki masalah ini - kami hanya akan memperkenalkan sumbu X dan selesai melakukannya. (Atau, sama halnya, jika kami menambahkan sumbu W ke grafik YX kami, kami juga tidak akan memiliki kebingungan ini.)
Little Endian

Jawaban:


46

Saya pikir arah sumbu koordinat adalah peninggalan dari domain yang berbeda di mana bidang penting berbeda, dan X / Y disejajarkan dengan bidang penting itu. Dalam beberapa aplikasi bidang tanah adalah yang paling penting, sehingga X / Y adalah tanah dan Z akhirnya tegak lurus terhadap itu. Namun untuk game, bidang yang penting biasanya layar (terutama tentu saja ketika mereka 2D dan baru mulai beralih ke 3D) sehingga X / Y adalah layar dan kemudian ketika game pergi 3D Z akhirnya tegak lurus dengan itu.

Anda dapat melihat perbedaan antara dua alat seni 3D terbesar: 3ds max dan Maya. Sumbu Z naik dalam 3ds maks karena itu tumbuh dari alat arsitektur, sedangkan sumbu Y naik di Maya karena itu tumbuh dari alat pembuatan film.

Hal penting untuk disadari ketika membandingkan alat khusus apa pun dengan apa yang Anda pelajari di sekolah adalah bahwa itu semua sewenang-wenang. Tidak masalah ke arah mana sumbu diarahkan selama Anda menjaga semuanya konsisten dan menerjemahkan dengan benar antara sistem koordinat yang berbeda.


3

Ini sebagian besar warisan dari saat-saat ketika semua yang bisa dibuat dengan 3D adalah beberapa layar berputar ruang kubus atau paralaks bergulir atau sesuatu yang serupa. Dalam aplikasi seperti itu, Z "mendalam" karena X dan Y adalah sumbu untuk bidang layar. Ketika demo semakin maju, konvensi asli tetap ada karena lebih mudah untuk tidak mengubah apa pun yang berfungsi.

Adapun mengapa game saat ini memiliki Y sebagai sumbu vertikal - ada banyak tutorial yang ditulis dengan buruk di luar sana yang tidak menjelaskan perbedaannya. Biasanya paling berguna untuk memiliki bidang pergerakan utama pada sumbu X dan Y (sehingga sebagian besar perhitungan 2D tidak memerlukan swapping axes dalam kode). Untuk sebagian besar pengontrol sisi, secara alami bertepatan dengan bidang layar (X / Y). Untuk game petualangan dan sejenisnya, X / Y berfungsi dengan baik sebagai bidang horizontal (tegak lurus terhadap arah gravitasi) karena memetakan dengan sempurna ke peta dalam game, kontrol gamepad, peta ketinggian medan, dan banyak hal lainnya.


2

Sejauh yang pernah saya dapatkan Y = atas / bawah, dan Z = kedalaman didasarkan dari fisika di mana gravitasi selalu dalam arah (-Y), dan kemudian menambahkan 3D berarti Anda tidak ingin mengubah fundamental , jadi itu dibuat dalam.

Pada metode Z = atas / bawah meskipun itu adalah melemparkan kembali ke ahli matematika. karena X / Y ditarik di atas kertas yang rata di atas meja ketika sumbu Z diperpanjang itu keluar dari kertas, dan karena itu naik. meskipun banyak insinyur Anda juga akan menggunakan konvensi ini.

sehubungan dengan konvensi yang digunakan oleh alat yang diberikan: Maya, dan Unity memiliki Y-up (mungkin dirancang oleh seseorang dengan latar belakang fisika). sedangkan 3DsMax, dan Unreal memiliki Z-up (mungkin dirancang oleh ahli matematika / insinyur). meskipun dapat juga dikatakan bahwa ini juga bisa menjadi keputusan terpisah yang dibuat suatu hari karena sistem yang konsisten harus digunakan.

karena pertanyaan ini berfokus pada alat pemodelan, dan ditempatkan di situs Q&A pengembangan game. Anda mungkin ingin melihat sistem koordinat yang akan diekspor, dan pastikan Anda menyesuaikannya.

juga menyadari bahwa beberapa sistem sistem sumbu sulit diatur, dan permanen, dan yang lain dapat dimodifikasi (pikir itu dapat diubah dalam Blender dan Unreal, tetapi mungkin salah)


1

Karena sistem koordinat yang digunakan dalam game didasarkan pada dimensi monitor. Saat komputer membuat apa pun, itu dimulai di sudut kiri atas yang memberikan koordinat x, dan y dari [0, 0]. Saat rendering berlangsung ke sisi kanan layar, kenaikan nilai x, masing-masing ketika render bergerak ke bawah, kenaikan nilai y. Sistem koordinat pada dasarnya adalah ruang 2D, kecuali titik awal berada di sudut kiri atas dan bukan bagian tengah layar Anda.

Dalam paket 3D seperti 3DsMax dan Maya, mereka memiliki definisi sendiri tentang koordinat x dan y berdasarkan pada apa yang penting bagi mereka. 3DsMax didasarkan pada desain arsitektur, jika Anda menggambar skema pada bidang 2D, y sudah habis. Dalam Maya, yang terutama digunakan untuk animasi oleh karena itu tanahnya adalah x, y dan tingginya adalah z.


Di Maya layarnya X / Y dan Z tegak lurus layar.
jhocking

Diturunkan, karena pertanyaannya adalah "Mengapa" bukan "Bagaimana", itu tidak memiliki alasan mengapa itu seperti apa adanya, hanya mengulangi bagaimana itu.
Maik Semder

Nah dalam keadilan kata pertama adalah "karena" yaitu. jawaban ini dimulai dengan penjelasan alasan. Mungkin itu bukan penjelasan yang bagus, tapi itu penjelasan.
jhocking
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.