Специальная версия Mesh с поддержкой экземплярного рендеринга. Используйте InstancedMesh если вам необходимо отрендерить большое количество объектов с одинаковой геометрией и материалом, но с разными мировыми преобразованиями. Использование InstancedMesh поможет вам уменьшить количество вызовов отрисовки и тем самым улучшить общую производительность рендеринга в вашем приложении.
Текущая реализация требует, чтобы у InstancedMesh и других 3D-объектов были разные материалы.
geometry — экземпляр BufferGeometry.
material — экземпляр Material. По умолчанию это новый MeshBasicMaterial.
count — количество экземпляров.
Общие свойства см. в базовом классе Mesh.
Количество экземпляров. Значение count, переданное в конструктор, представляет собой максимальное количество экземпляров этого меша. Вы можете изменить количество экземпляров во время выполнения на целочисленное значение в диапазоне [0, count].
Если вам нужно больше экземпляров, чем первоначальное значение подсчета, вы должны создать новый InstancedMesh.
Представляет цвета всех экземпляров. По умолчанию null. Вы должны установить параметр needsUpdate на true, если вы изменяете данные экземпляра через .setColorAt()..
Представляет собой локальное преобразование всех экземпляров. Вы должны установить параметр needsUpdate на true, если вы изменяете данные экземпляра через .setMatrixAt().
Общие методы см. в базовом классе Mesh.
Высвобождает внутренние ресурсы данного экземпляра.
index: Индекс экземпляра. Значения должны находиться в диапазоне [0, count].
color: Этот цвет объекта будет установлен как цвет определяемого экземпляра.
Получить цвет определенного экземпляра.
index: Индекс экземпляра. Значения должны находиться в диапазоне [0, count].
matrix: Эта матрица 4x4 будет установлена в локальную матрицу преобразования определенного экземпляра.
Получить локальную матрицу преобразования определяемого экземпляра.
index: Индекс экземпляра. Значения должны находиться в диапазоне [0, count].
color: Цвет отдельного экземпляра.
Устанавливает заданный цвет как цвет определенного экземпляра. Убедитесь, что значение параметра .instanceColor.needsUpdate равно true после обновления всех цветов.
index: Индекс экземпляра. Значения должны находиться в диапазоне [0, count].
matrix: Матрица 4x4, представляющая локальную трансформацию одного экземпляра.
Устанавливает заданную локальную матрицу преобразования в определенный экземпляр. Убедитесь, что после обновления всех матриц вы установили что параметр .instanceMatrix.needsUpdate равен true.
О том как получить исходный код этого модуля читайте тут.