قضية معاكسة هنا - لا نرى الوجوه حيث يتم تعريفها. لذلك ربما يكون هذا بسبب أن الهندسة مشتركة بين الخط والشبكة.
لقد قمت بتصحيح هذه المشكلة اليوم. Geometry
داخليًا إلى BufferGeometry
. تعتمد نتيجة هذا التحويل على نوع الكائن (مش ، خط ، إلخ). لذلك في مثالmakc ، يتم تحويل الهندسة على أنها هندسة كائن Line
. سيؤدي هذا إلى إنشاء موضع ولون سمة. عندما يتم عرض مثيل Mesh
بنفس الكائن Geometry
، يقوم العارض بإرجاع نفس النسخة المخزنة مؤقتًا لـ BufferGeometry
.
هذا هو سبب رؤية هذه المثلثات الخضراء في العرض التوضيحي. يشترك Mesh
و Line
في نفس BufferGeometry
الداخلي ويفسرونه بشكل مختلف. أعتقد أنه يمكننا حل هذه المشكلة إذا حاولنا احترام نوع الكائن عند تخزين BufferGeometry
.
أو نوصي فقط باستخدام BufferGeometry
في المقام الأول: sweat_smile:
mrdoob أقترح تقديم تسمية جديدة Wont't fix
، قم بتعيينها إلى المشكلة وإغلاقها . لا أعتقد أنه من المنطقي إضافة إصلاح إلى العارض إذا كان المشروع سيتوقف عن تقديم Geometry
أي حال. حل هذه المشكلة هو استخدام BufferGeometry
.
التعليق الأكثر فائدة
لقد قمت بتصحيح هذه المشكلة اليوم.
Geometry
داخليًا إلىBufferGeometry
. تعتمد نتيجة هذا التحويل على نوع الكائن (مش ، خط ، إلخ). لذلك في مثالmakc ، يتم تحويل الهندسة على أنها هندسة كائنLine
. سيؤدي هذا إلى إنشاء موضع ولون سمة. عندما يتم عرض مثيلMesh
بنفس الكائنGeometry
، يقوم العارض بإرجاع نفس النسخة المخزنة مؤقتًا لـBufferGeometry
.https://github.com/mrdoob/three.js/blob/ec67749b0767e2727deebd52da2dbd3a4e7ab6a2/src/renderers/webgl/WebGLGeometries.js#L63 -L65
هذا هو سبب رؤية هذه المثلثات الخضراء في العرض التوضيحي. يشترك
Mesh
وLine
في نفسBufferGeometry
الداخلي ويفسرونه بشكل مختلف. أعتقد أنه يمكننا حل هذه المشكلة إذا حاولنا احترام نوع الكائن عند تخزينBufferGeometry
.أو نوصي فقط باستخدام
BufferGeometry
في المقام الأول: sweat_smile: