Masalah sebaliknya di sini - kami tidak melihat wajah di tempat mereka didefinisikan. Jadi mungkin ini karena Geometri dibagi antara Garis dan Jaring.
Saya telah men-debug masalah ini hari ini. Geometry
secara internal dikonversi menjadi BufferGeometry
. Hasil dari konversi ini tergantung pada jenis objek (Jaring, Garis, dll.). Jadi dalam contoh @makc , geometri diubah sebagai geometri objek Line
. Ini akan membuat atribut posisi dan warna. Ketika instance Mesh
-render dengan objek Geometry
, perender mengembalikan instance cache yang sama dari BufferGeometry
.
Inilah alasan mengapa Anda melihat segitiga hijau ini di demo. Mesh
dan Line
berbagi internal yang sama BufferGeometry
dan menafsirkannya secara berbeda. Saya pikir kita bisa menyelesaikan masalah ini jika kita mencoba untuk menghormati jenis objek saat menyimpan BufferGeometry
.
Atau kami hanya merekomendasikan untuk menggunakan BufferGeometry
di tempat pertama: sweat_smile:
@mrdoob Saya sarankan untuk memperkenalkan label baru Wont't fix
, tetapkan ke terbitan dan tutup. Saya rasa tidak masuk akal untuk menambahkan perbaikan ke perender jika proyek akan berhenti merender Geometry
. Solusi untuk masalah ini adalah penggunaan BufferGeometry
.
Komentar yang paling membantu
Saya telah men-debug masalah ini hari ini.
Geometry
secara internal dikonversi menjadiBufferGeometry
. Hasil dari konversi ini tergantung pada jenis objek (Jaring, Garis, dll.). Jadi dalam contoh @makc , geometri diubah sebagai geometri objekLine
. Ini akan membuat atribut posisi dan warna. Ketika instanceMesh
-render dengan objekGeometry
, perender mengembalikan instance cache yang sama dariBufferGeometry
.https://github.com/mrdoob/three.js/blob/ec67749b0767e2727deebd52da2dbd3a4e7ab6a2/src/renderers/webgl/WebGLGeometries.js#L63 -L65
Inilah alasan mengapa Anda melihat segitiga hijau ini di demo.
Mesh
danLine
berbagi internal yang samaBufferGeometry
dan menafsirkannya secara berbeda. Saya pikir kita bisa menyelesaikan masalah ini jika kita mencoba untuk menghormati jenis objek saat menyimpanBufferGeometry
.Atau kami hanya merekomendasikan untuk menggunakan
BufferGeometry
di tempat pertama: sweat_smile: