[page:Mesh] →

[name]

نسخة خاصة من [page:Mesh] مع دعم التصيير المثيل. استخدم [name] إذا كان عليك تقديم عدد كبير من الكائنات بنفس الهندسة والمواد ولكن مع تحولات العالم المختلفة. الاستخدام من [name] سيساعدك على تقليل عدد مكالمات الرسم وبالتالي تحسين أداء التصيير العام في تطبيقك.

أمثلة (Examples)

[example:webgl_instancing_dynamic WebGL / instancing / dynamic]
[example:webgl_instancing_performance WebGL / instancing / performance]
[example:webgl_instancing_scatter WebGL / instancing / scatter]
[example:webgl_instancing_raycast WebGL / instancing / raycast]

المنشئ (Constructor)

[name]( [param:BufferGeometry geometry], [param:Material material], [param:Integer count] )

[page:BufferGeometry geometry] - عينة من [page:BufferGeometry].
[page:Material material] - عينة من [page:Material]. الافتراضية هي جديد [page:MeshBasicMaterial].
[page:Integer count] - عدد العينات.

الخصائص (Properties)

راجع الفئة الأساسية [page:Mesh] للحصول على الخصائص المشتركة.

[property:Box3 boundingBox]

يحيط هذا المربع التجزئة بجميع عينات [name]. يمكن حسابه مع [page:.computeBoundingBox](). الافتراضية هي `null`.

[property:Sphere boundingSphere]

يحيط هذا المجال المحدد بجميع عينات [name]. يمكن حسابه مع [page:.computeBoundingSphere](). الافتراضية هي `null`.

[property:Integer count]

عدد العينات. قيمة `count` الممررة إلى الباني تمثل الحد الأقصى لعدد العينات من هذه المشبك. يمكنك تغيير عدد العينات في وقت التشغيل إلى قيمة صحيحة في النطاق [0، count].

إذا كنت بحاجة إلى عدد أكبر من العينات من قيمة العدد الأصلية ، فلديك إنشاء جديد [name].

[property:InstancedBufferAttribute instanceColor]

يمثل ألوان جميع العينات. `null` بشكل افتراضي. يجب عليك ضبط علامة [page:BufferAttribute.needsUpdate needsUpdate] الخاصة بها على صحيح إذا كان لديك تعديل بيانات مثيل عبر [page:.setColorAt]().

[property:InstancedBufferAttribute instanceMatrix]

يمثل التحول المحلي لجميع العينات. يجب عليك ضبطه [page:BufferAttribute.needsUpdate needsUpdate] علامة صحيحة إذا قمت بتعديل بيانات مثيل عبر [page:.setMatrixAt]().

[property:Boolean isInstancedMesh]

علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].

الطرق (Methods)

راجع الفئة الأساسية [page:Mesh] للحصول على الطرق المشتركة.

[method:undefined computeBoundingBox]()

يحسب مربع التجزئة ، وتحديث [page:.boundingBox] سمة.
لا يتم حساب مربعات التجزئة افتراضيًا. يجب حسابها بشكل صريح حسابها ، وإلا كانت `null`.

[method:undefined computeBoundingSphere]()

يحسب المجال المحدد ، وتحديث [page:.boundingSphere] سمة.
لا يتم حساب المجالات المحددة افتراضيًا. يجب حسابها بشكل صريح حسابها ، وإلا كانت `null`.

[method:undefined dispose]()

يطلق الموارد المتعلقة بوحدة معالجة الرسومات التي تم تخصيصها من قبل هذه العينة. استدعاء هذه الطريقة كلما لم تستخدم هذه العينة في تطبيقك.

[method:undefined getColorAt]( [param:Integer index], [param:Color color] )

[page:Integer index]: فهرس العينة. يجب أن تكون القيم في النطاق [0، count].

[page:Color color]: سيتم تعيين كائن اللون هذا إلى لون العينة المحددة.

احصل على لون العينة المحددة.

[method:undefined getMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )

[page:Integer index]: فهرس العينة. يجب أن تكون القيم في النطاق [0، count].

[page:Matrix4 matrix]: ستتم تعيين مصفوفة 4x4 هذه إلى المحلية مصفوفة التحول للعينة المحددة.

احصل على مصفوفة التحول المحلية للعينة المحددة.

[method:undefined setColorAt]( [param:Integer index], [param:Color color] )

[page:Integer index]: فهرس العينة. يجب أن تكون القيم في النطاق [0، count].

[page:Color color]: لون عينة واحدة.

يضع اللون المحدد على العينة المحددة. تأكد من ضبط [page:.instanceColor][page:BufferAttribute.needsUpdate .needsUpdate] إلى صحيح بعد تحديث جميع الألوان.

[method:undefined setMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )

[page:Integer index]: فهرس العينة. يجب أن تكون القيم في النطاق [0، count].

[page:Matrix4 matrix]: مصفوفة 4x4 تمثل التحول المحلي لعينة واحدة.

يضع مصفوفة التحول المحلية المحددة على العينة المحددة. جعل تأكد من ضبط [page:.instanceMatrix][page:BufferAttribute.needsUpdate .needsUpdate] صحيح بعد تحديث جميع المصفوفات.

المصدر (Source)

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]