Mengapa permukaan peta kubus diberi label px, nx, py, ny, pz, nz?

Saya menggunakan peta kubus pada proyek WebGL dan rekan saya memberi saya aset gambar untuk wajah yang diberi label depan, belakang, kiri, kanan, atas dan bawah. Namun kode contoh Three.js menggunakan gambar berlabel 2 surat. p atau n diikuti dengan x, y atau z.

Dengan sedikit percobaan dan kesalahan, saya menyusun peta aset rekan saya:

  • piksel = kiri
  • nx = benar
  • py = atas
  • ny = bawah
  • pz = kembali
  • nz = depan

Jadi jika dilihat, jelas x, y dan z mengacu pada sumbu tetapi p dan n tidak begitu jelas. Saya berpikir positif dan negatif tetapi teori itu gagal ketika Anda melihat sumbu x yang secara tradisional ditampilkan meningkat dari kiri ke kanan. sumbu z membuat kepala saya sakit karena saya tidak tahu apakah saya mengharapkan suatu benda bergerak lebih dekat atau lebih jauh ke arah saya seiring dengan meningkatnya nilai z. Naluri berkata lebih dekat.

Sisi logis saya yang obsesif menganggap ini adalah terjemahan yang lebih tepat untuk bahasa "sehari-hari":

  • piksel = benar
  • nx = kiri
  • py = atas
  • ny = bawah
  • pz = depan
  • nz = kembali

Apakah rekan saya telah memberikan kumpulan aset yang tidak standar? Apakah ini alasan sebenarnya kita tidak menggunakan bahasa sehari-hari (kiri, kanan, atas, dll) dalam pemodelan 3D? Haruskah saya meminta mereka memberikannya berlabel px, nx, py, dll?

Beberapa bimbingan dari pakar berpengalaman akan sangat dihargai.


person Martin Joiner    schedule 01.09.2017    source sumber
comment
Ini adalah pertanyaan yang bagus dan tidak boleh diremehkan.   -  person WestLangley    schedule 01.09.2017


Jawaban (1)


Berdasarkan konvensi -- kemungkinan berdasarkan spesifikasi RenderMan dari tahun 1990-an -- peta kubus ditentukan oleh WebGL (dan three.js) dalam sistem koordinat di mana positif-x berada di sebelah kanan ketika mencari sumbu positif-z -- dengan kata lain, dalam sistem koordinat kidal. Dengan melanjutkan konvensi ini, peta kubus yang sudah ada akan terus ditampilkan dengan benar.

three.js menggunakan sistem koordinat tangan kanan. Jadi peta lingkungan yang digunakan di three.js tampaknya telah bertukar px dan nx. (Ini adalah kasus untuk setiap contoh peta kubus three.js.)

three.js r.87

person WestLangley    schedule 01.09.2017