Mesh

InstancedMesh

Специальная версия Mesh с поддержкой экземплярного рендеринга. Используйте InstancedMesh если вам необходимо отрендерить большое количество объектов с одинаковой геометрией и материалом, но с разными мировыми преобразованиями. Использование InstancedMesh поможет вам уменьшить количество вызовов отрисовки и тем самым улучшить общую производительность рендеринга в вашем приложении.

Конструктор

InstancedMesh(geometry : BufferGeometry, material : Material, count : Integer)

Свойства

Общие свойства см. в базовом классе Mesh.

.count : Integer

Количество экземпляров. Значение count, переданное в конструктор, представляет собой максимальное количество экземпляров этого меша. Вы можете изменить количество экземпляров во время выполнения на целочисленное значение в диапазоне [0, count].

Если вам нужно больше экземпляров, чем первоначальное значение подсчета, вы должны создать новый InstancedMesh.

.instanceColor : BufferAttribute

Представляет цвета экземпляров. По умолчанию null. Вы должны установить параметр needsUpdate в true, если вы изменяете данные экземпляра через .setColorAt().

.instanceMatrix : BufferAttribute

Представляет собой локальное преобразование экземпляров. Вы должны установить параметр needsUpdate в true, если вы изменяете данные экземпляра через .setMatrixAt().

.isInstancedMesh : Boolean

Флаг, указывающий, что данный объект является экземпляром InstancedMesh. Только для чтения.

Методы

Общие методы см. в базовом классе Mesh.

.dispose()

Освобождает все связанные с GPU ресурсы, используемые экземпляром InstancedMesh. Этот метод следует вызвать, если InstancedMesh больше не используется в приложении.

.getColorAt(index : Integer, color : Color)

Получить цвет указанного экземпляра.

.getMatrixAt(index : Integer, matrix : Matrix4)

Получить локальную матрицу преобразования указанного экземпляра.

.setColorAt(index : Integer, color : Color)

Устанавливает цвет для указанного экземпляра. Убедитесь, что значение параметра .instanceColor.needsUpdate равно true после обновления всех цветов.

.setMatrixAt(index : Integer, matrix : Matrix4)

Устанавливает локальную матрицу преобразования для указанного экземпляра. Убедитесь, что после обновления всех матриц вы установили параметр .instanceMatrix.needsUpdate в true.

Пазлы

Используйте следующий пазл для создания экземплярных объектов без программирования: create instances.

Исходный файл

О том как получить исходный код этого модуля читайте тут.