Блоки данных¶
Базовой единицей любого проекта Blender’а является блок данных. Примеры блоков данных включают: меши, объекты, материалы, текстуры, древа нод, сцены, тексты, кисти и даже рабочие пространства.

Представление файла Blender’а в аутлайнере.¶
Блок данных – это общая абстракция самых разных типов данных, которая имеет общий набор основных функций, свойств и поведения.
Некоторые общие характеристики:
Они являются основным содержимым blend-файла.
Они могут ссылаться друг на друга для повторного использования и создания экземпляров. (Дочерний/родительский объект, данные объекта/объект, материалы/изображения, а также в модификаторах или ограничителях…)
Их имена уникальны в пределах blend-файла для данного типа.
Их можно добавлять/удалять/редактировать/дублировать.
Их можно связать между файлами (включено только для ограниченного набора блоков данных).
Они могут иметь свои собственные данные анимации.
Они могут иметь пользовательские свойства.
Пользователь обычно взаимодействует с типами данных более высокого уровня (объектами, мешами и т. д.). При выполнении более сложных проектов управление блоками данных становится более важным, особенно при связывании blend-файлов. Основным редактором для этого является аутлайнер.
Не все данные в Blender’е представляют собой блоки данных. Кости, дорожки секвенций или группы вершин, к примеру, принадлежат к типам арматуры, сцены и меша соответственно.
Типы блоков данных¶

Типы блоков данных с их значками.¶
Для справки, вот таблица типов блоков данных, хранящихся в blend-файлах.
- Связать (Link)
Связывание библиотек, поддерживает связывание с другими blend-файлами.
- Упаковать (pack)
Упаковка файлов: поддерживает упаковку содержимого файла в blend-файл (неприменимо для большинства блоков данных, которые не имеют ссылки на файл).
Тип (type) |
Связать (Link) |
Упаковать (pack) |
Описание (description) |
---|---|---|---|
✓ |
— |
Сохраняет анимацию F-кривых. Используется редактором нелинейной анимации и в качестве дата-блока данных анимации. |
|
✓ |
— |
Скелет, используемый для деформации мешей. Используется в качестве данных объектов-арматуры, а также модификатором Armature. |
|
✓ |
— |
Используется в качестве кисти в режимах скульптинга и рисования. |
|
✓ |
— |
Используется в качестве данных объектами-камерами. |
|
✓ |
— |
Используется модификаторами кэша меша. |
|
✓ |
— |
Используется в качестве данных объектами: -кривой, -шрифтом и -поверхностью. |
|
✓ |
✓ |
Ссылается на файлы шрифтов. Используется объектными данными кривой для текстовых объектов. |
|
✓ |
— |
Данные 2D/3D эскиза, используемые объектами Grease Pencil. Используется в качестве вспомогательной информации наложения в 3D-вьюпорте, в редакторах изображений, секвенсоре и редакторе видео фрагментов. |
|
✓ |
— |
Группирует и систематизирует объекты в сценах. Используется для создания экземпляров объектов и при связывании библиотек. |
|
✓ |
✓ |
Файлы изображений. Используются нодами шейдера и текстурами. |
|
✗ |
— |
Хранилище геометрических форм, которые можно анимировать. Используется мешами, кривыми и решётками. |
|
✓ |
— |
Используется в качестве объектных данных источниками освещения. |
|
✗ |
✓ |
Ссылается на внешний blend-файл. Доступ из аутлайнера в режиме отображения „Blender File“. |
|
✓ |
— |
Используется рендерером Freestyle. |
|
✓ |
— |
Деформация решётки на сеточной основе. Используется в качестве объектных данных решёток и самим модификатором Lattice. |
|
✓ |
— |
2D анимированные масочные кривые. Используется нодами композитинга и дорожкой секвенсора. |
|
✓ |
— |
Устанавливает свойства рендеринга для шейдинга и текстурирования. Используется объектами, мешами и кривыми. |
|
✓ |
— |
Изоповерхность в трёхмерном пространстве. Используется в качестве данных объектов-метасфер. |
|
✓ |
— |
Геометрия, состоящая из вершин/рёбер/граней. Используется в качестве данных для меш-объектов. |
|
✓ |
✗ |
Ссылка на секвенцию изображений или файл видео. Используется в редакторе видеофрагментов. |
|
✓ |
— |
Группы повторно используемых нод. Используются в нодовых редакторах. |
|
✓ |
— |
Нечто в сцене со своим положением, масштабом и вращением. Используется сценами и коллекциями. |
|
✓ |
— |
Сохраняет штрихи рисования или скульптинга. Доступ из инструментов рисования. |
|
✓ |
— |
Сохранение пресетов цвета. Доступ из инструментов рисования. |
|
✓ |
— |
Настройки частиц. Используется системами частиц. |
|
✓ |
— |
Помогает создать сложное освещение в реальном времени в EEVEE. |
|
✓ |
— |
Основное хранилище всех отображаемых и анимируемых данных. Используется в качестве хранилища высшего порядка для объектов и анимации. |
|
✓ |
✓ |
Ссылка на звуковые файлы. Используется в качестве данных объектов-динамиков. |
|
✓ |
— |
Источники звука для 3D-сцены. Используется в качестве данных объекта-динамика. |
|
✓ |
✗ |
Текстовые данные. Используется скриптами Python и шейдерами OSL. |
|
✓ |
— |
2D/3D текстуры. Используется кистями и модификаторами. |
|
✗ |
— |
Универсальный менеджер для всего пользовательского интерфейса Blender’а. Включает рабочие пространства, систему уведомлений, операторы и раскладки клавиатуры. |
|
✓ |
— |
Определяет глобальные параметры среды рендеринга. |
|
✗ |
— |
Макет ПИ. Используется каждым окном, имеющим собственное рабочее пространство. |
Время существования¶
Для каждого блока данных подсчитывается использование (счётчик ссылок). Если их несколько, вы можете увидеть количество текущих пользователей блока данных справа от его имени в интерфейсе. Blender следует общему правилу, согласно которому неиспользуемые данные в конечном итоге удаляются.
Поскольку во время работы часто добавляется и удаляется большое количество данных, такия система имеет то преимущество, что не нужно вручную управлять каждым отдельным блоком данных. Она работает за счёт пропуска блоков данных с нулевыми пользователями при записи blend-файлов.
Защищено от удаления¶
Поскольку блоки данных с нулевыми пользователями не сохраняются, и бывают случаи, когда вы хотите принудительно сохранить данные независимо от их пользователей.
Если вы создаёте blend-файл, который будет служить библиотекой ассетов, к которому вы собираетесь ссылаться из других файлов, – вам необходимо убедиться, что они не будут случайно удалены из файла библиотеки.
Чтобы защитить блок данных, используйте кнопку со значком щита рядом с его названием. Блок данных никогда не будет автоматически удалён Blender’ом, но при необходимости вы всё равно сможете удалить его вручную.
Примечание
Связанные данные не могут быть защищены таким образом.
Имя и Переименование¶
Имена блоков данных уникальны в пределах их пространства имён. Пространство имён блоков данных определяется его типом и blend-файлом, в котором он хранится.
Это означает, что, например, и объект и меш могут иметь одинаковые имена, но не может быть двух локальных объектов с одинаковыми именами в файле blend. Однако возможно иметь один локальный и несколько связанных объектов с одним и тем же именем.
Имена блоков данных имеют фиксированную длину 63 байта, т. е. 63 основных символа ASCII, или меньше при использовании диакритических знаков или нелатинских глифов (в таком случае кодировка UTF8 обычно будет использовать более одного байта на символ).
Когда Blender должен назначить имя новому блоку данных или переименовать существующий, он проверяет наличие конфликтов с именами. Если блок данных с таким же именем уже существует, – (пере)именованный блок данных получает числовое расширение, добавляемое в качестве по́стфикса к его «корневому имени», например, .001. Использоваться будет первый доступный индекс (до значения 999, после этого – значения постфиксного индекса будут просто увеличиваться до тех пор, пока не будет возникновение конфликтов с именами).
В случае, если добавление числового суффикса делает имя блока данных слишком длинным, корневая часть имени будет сокращена по мере необходимости.
Blender никогда не переименует другой блок данных при автоматическом именовании. Так, например, при добавлении нового объекта Cube и наличии локальных объектов Cube и Cube.001, новый будет назван как Cube.002.
Локальные блоки данных могут быть переименованы пользователем в нескольких местах пользовательского интерфейса (например, в виджете выбора идентификатора или в представлении аутлайнера). При переименовании из пользовательского интерфейса – поведение в случае конфликта имён будет следующим:
Если исходное корневое имя будет отличаться от нового запрошенного имени, – переименованный блок данных получает первый доступный числовой суффикс.
Предположим, что есть три объекта с именами Sphere, Cube и Cube.001, переименование Sphere в Cube приведёт к переименованию блока данных в Cube.002.
Если новое запрашиваемое имя будет совпадать с исходным, уже существующим корневым именем, – переименованный блок данных получает запрошенное имя, а конфликтующий блок данных переименовывается соответствующим образом беря старое имя переименованного.
Предположим, что есть три объекта с именами Sphere, Cube и Cube.001, переименование Cube.001 в Cube переименует блок данных в Cube, а другой блок данных в Cube.001.
Для одного пользователя¶
Когда блок данных используется несколькими пользователями, вы можете сделать для определённого пользователя его копию. Для этого нажмите кнопку подсчёта пользователей справа от имени блока данных. Это приводит к дублированию этого блока данных и назначению вновь созданной копии только для этого использования.
Примечание
Объекты имеют набор более сложных действий, позволяющих стать однопользовательскими, см. раздел «Для одного пользователя».
Удаление блоков данных¶
Как описано в разделе «Время существования», блоки данных обычно удаляются в тех случаях, когда они больше не используются. Их также можно «отсоединить» или «удалить» вручную.
Отсоединение блока данных означает, что его пользователь больше не будет его использовать. Это можно сделать, щёлкнув значок рядом с именем блока данных. Если вы отсоедините блок данных от всех его пользователей, он, в конечном итоге, будет удалён самим Blender’ом, как описано выше (если только он не является защищённым).
Удаление блока данных напрямую удаляет его из blend-файла, автоматически отделяя его от всех пользователей. Этого можно добиться, нажав Shift-ЛКМ на значке рядом с его именем.
Предупреждение
Удаление некоторых блоков данных может привести к удалению некоторых его пользователей, которые без них станут недействительными. Основным примером является то, что удаление данных объекта (например меша, кривой, камеры…) также приведёт к удалению всех объектов, использующих их.
Эти две операции также доступны в контекстном меню при нажатии ПКМ на блоке данных в аутлайнере.