001 \\\ Cube Deletion Society
Дисклеймер
Текст предназначен прежде всего для архвиза и сложных сцен, содержащих тысячи разнородных объектов — BIM‑модели зданий, импорт из 3ds Max, Revit/ArchiCAD, малые архитектурные формы с множеством мелких деталей. Проблемы описаны именно для этих случаев: Blender пока слабо переносит сцены с очень большим количеством отдельных объектов.
Основные проблемы
Корень проблемы — инициализация каждого объекта в depgraph. Когда вы импортируете сцену с тысячами элементов, Blender должен:
- создать отдельный ID‑data блок на каждый объект;
- зарегистрировать каждый объект в графе зависимостей;
- пересчитать связи между ними (transform → modifiers → constraints → drivers → visibility);
- проинициализировать оценку (evaluation) для каждого элемента.
Чем больше объектов, тем дольше строится граф. Порог в ~5–7 тыс. объектов уже заметен, после 20–30 тыс. зависание становится почти гарантированным.
Поэтому импорт «плоской» BIM‑сцены из тысяч автономных элементов — худший кейс для архитектуры Blender.
2. Замедление работы во вьюпорте
Большое количество объектов (десятки тысяч) вызывает сильные тормоза. Обычное объединение через Ctrl+Jработает на сотнях объектов, но на тысячах может занимать десятки минут и даже часы.
3. Проблемы с удалением
Удаление десятков тысяч объектов почти гарантированно вызывает зависание.
Причина всех проблем
Все описанные тормоза связаны с Dependency Graph (depgraph) — ключевым механизмом Blender. Это не ошибка и не временная недоработка, а фундаментальная часть архитектуры. Изменить поведение невозможно без переписывания Blender с нуля, поэтому нужно адаптироваться. Хорошая новость: обходные решения существуют.
Решения
1. Быстрый импорт — через Link
Вместо обычного импорта используйте File → Link. Процесс происходит быстро, Blender не зависает и не нагружает depgraph.
2. Ускорение работы — Geometry Nodes и Realize Instances
Почему это работает: геоноды выполняются вне depgraph. Blender воспринимает ваш объект с модификатором как один единственный элемент сцены, а всё содержимое коллекции обрабатывается внутри вычислительного ядра нод.
Это ключевое отличие: 10 000 объектов в геонодах ≠ 10 000 объектов в сцене.
Что делает Collection Info
Когда вы подаёте тяжёлую коллекцию в Collection Info:
- Blender НЕ создаёт 10k объектов в сцене;
- он создаёт один нодовый «пакет» с инстансами всех объектов;
- геометрия загружается структурировано, без регистрации каждого объекта в depgraph.
Это экономит тысячи циклов оценки графа.
Что такое нодовые инстансы
- хранят только ссылку на геометрию, а не полный объект;
- не требуют отдельных transform‑матриц, если это не указано явно;
- почти не занимают память (несколько kb вместо десятков mb).
Даже уникальная геометрия оборачивается в «контейнер» и обрабатывается как лёгкая сущность.
Как работает Realize Instances
- собирает все инстансы;
- применяет transform‑матрицы объектов коллекции;
- сливает всё в один меш «внутри нодовой среды» без участия depgraph.
Критически важно:
Обычный Ctrl+J заставляет Blender объединять объекты через depgraph → медленно.
Realize Instances делает то же самое через вычислительный движок геонод → в десятки раз быстрее.
Дополнительно — почему Relative лучше Original
В режиме Original координаты берутся из «сценового» мира исходной коллекции. Это создаёт:
- накладные вычисления на преобразование;
- риски смещения, если коллекция была локально трансформирована.
Relative → предсказуемое поведение и точное совпадение позиции.
Итог работы через GeoNodes
3. Безопасное удаление большого количества объектов
Удаление напрямую вызывает массовую перерегистрацию графа зависимостей — самый тяжёлый процесс. Поэтому Blender зависает.
Безопасные способы избавиться от объектов
- Выключить коллекцию галочкой (Exclude from View Layer)
Не только скрывает, но и выгружает объекты из оценки графа. Это самый быстрый метод. - Unlink (ПКМ → Unlink)
Удаляет коллекцию из текущей сцены, но не стирает из .blend. Нет перерасчёта графа → операция мгновенная. - Перенос в отдельный .blend
Если нужно «удалить, но сохранить», можно:
Как вернуть коллекцию
Outliner → режим Blender File → Collections → ПКМ → Add to Scene.