Three.js: Apa konvensi penggunaan peta normal three.js?

Dibuat pada 11 Mei 2017  ·  3Komentar  ·  Sumber: mrdoob/three.js

Mendokumentasikannya mungkin akan membantu. @emackey menunjukkan masalah dengan GLTF2Loader (https://github.com/donmccurdy/three-gltf-viewer/issues/10) dan inversi peta normal tampaknya bertanggung jawab. Untuk perbandingan:

BabylonJS: sumbu x = kiri, sumbu y = bawah
OpenGL: sumbu x = kanan, sumbu y = atas
DirectX: sumbu x = kanan, sumbu y = bawah

Question

Komentar yang paling membantu

Jawabannya telah dikerjakan oleh @WestLangley dan @donmccurdy di sini: https://github.com/mrdoob/three.js/pull/13784#issuecomment -379511456

Semoga saya meringkas dengan benar:

  • Peta tangan normal default ThreeJS adalah OpenGL, tangan kanan, sama seperti glTF.
  • Asal UV default ThreeJS adalah kiri bawah, berlawanan dengan asal UV kiri atas glTF.
  • Akibatnya, GLTFLoader harus membalik UV dan membalikkan penggunaan normal untuk mengimbanginya.

Semua 3 komentar

Apakah sudah ada kemajuan dalam hal ini?

Dalam proyek saya sendiri, saya memperbaikinya secara manual dengan mengatur:

    material.normalScale.x = -1;

Saya belum mendengar apa-apa. Akan menyenangkan untuk mengetahuinya, tetapi saya cenderung hanya membalik normalScale.x jika itu berfungsi dengan benar dengan model sampel.

Jawabannya telah dikerjakan oleh @WestLangley dan @donmccurdy di sini: https://github.com/mrdoob/three.js/pull/13784#issuecomment -379511456

Semoga saya meringkas dengan benar:

  • Peta tangan normal default ThreeJS adalah OpenGL, tangan kanan, sama seperti glTF.
  • Asal UV default ThreeJS adalah kiri bawah, berlawanan dengan asal UV kiri atas glTF.
  • Akibatnya, GLTFLoader harus membalik UV dan membalikkan penggunaan normal untuk mengimbanginya.
Apakah halaman ini membantu?
0 / 5 - 0 peringkat