Введение¶
В данном разделе описывается система библиотеки ассетов Blender’а. Она была представлена в Blender 3.0 и будет улучшаться и расширяться в последующих выпусках.
См. также
- Браузер ассетов (asset browser)
Основной интерфейс для организации и использования ассетов.
- Каталоги ассетов (asset catalogs)
Для организации ассетов.
- Библиотека поз (pose library)
Создана на основе браузера ассетов.
Что такое ассет?¶
Ассет – это блок данных, имеющий своё значение.
Blend-файл – это база данных с несколькими блоками данных: объектами, текстурами, материалами и т. д.. При планировании повторного использования или обмена данными – необходимо придать им определённое значение. Чем этот ассет является? Для чего он нужен? Ассеты – это курируемые блоки данных, предназначенные для повторного использования без каких-либо затруднений.
Примечание
Общий термин «ассет» часто также относится и к другим типам файлов, таким как изображения, звуки, видеофайлы и т. д.. В настоящее время они не поддерживаются в качестве ассетов в Blender’е.
Для получения дополнительной информации см. раздел «Будущее развитие» ниже.
Что такое библиотека ассетов?¶
Библиотека ресурсов – это папка на вашем диске, зарегистрированная в настройках в качестве библиотеки ассетов. «Регистрация» означает, что вы даёте библиотеке имя (например, „Sprite Fright“) и местоположение на диске (например, /home/sybren/projects/sprite-fright/assets).
Имя и расположение библиотек ассетов в настройках.¶
После регистрации вы можете выбрать библиотеку ресурсов в браузере ассетов. Все blend-файлы в библиотеке ассетов будут просканированы на наличие ресурсов, и все эти активы будут показаны в Asset Browser’е.
Примечание
Первая загрузка библиотеки ассетов может занять некоторое время, но в последующие разы она должна быть значительно быстрее. Blender генерирует индексы для всех ассетов, содержащихся в библиотеке, и поддерживает её в актуальном состоянии по мере изменения в ней файлов. Индексы хранятся в локальной папке кэша.
Blend-файлы могут находиться непосредственно в папке верхнего уровня иерархии библиотеки ассетов или в любой другой подпапке. Организация библиотек ассетов на диске полностью зависит от вас. Независимо от того, какой blend-файл содержит ассеты, каждому ресурсу может быть назначен каталог. Для получения дополнительной информации о том, как организовать ваши ассеты таким образом, см. раздел «Каталоги ассетов».
Типы ассетов¶
Ассеты можно в целом разделить на два типа: ассеты примитивы и пресеты. Какой из них какой, зависит от типа блоков данных.
Ассеты-примитивы – это блоки данных, которые либо связаны, либо добавлены к текущему файлу. Примерами являются объекты, материалы и миры. Их можно перетаскивать из браузера ассетов на сцену (объекты и миры) или на существующие объекты (материалы).
Предустановленные ассеты – это блоки данных, которые загружаются, а затем применяются к чему-либо или активируются. Примером может служить ассет позы. При применении позы, – блок данных загружается из своего blend-файла, а затем поза применяется к активной арматуре. Ассеты кистей – это пример типа активируемого ассета. Они загружаются в текущий файл и активируются для рисования или скульптинга, но не сохраняются в самом файле.
В будущем определения типов ассета будут только расширяться; для получения дополнительной информации см. раздел «Будущее развитие».
Поддерживаемые ассеты¶
Ассет (asset) |
Тип (type) |
Описание (description) |
|---|---|---|
Материал (material) |
Примитив (primitive) |
Блок данных материала, который можно применять к объектам. При перетаскивании на объект, – он заменяет слот материала. |
Коллекция (сollection) |
Примитив (primitive) |
Коллекция – это группа объектов, которые можно связывать или добавлять в сцену. Коллекции сохраняют свою внутреннюю иерархию и могут быть созданы как экземпляры или использованы для модульной композиции сцены. |
Объект (object) |
Примитив (primitive) |
Стандартный ассет объекта, который можно перетащить в сцену. Он может содержать меш, кривую, источник освещения или другие данные. |
Кисть (brush) |
Пресет (preset) |
Ассет кистей, используемый для скульптинга, рисования текстур или по вершинам. При активации становится текущей кистью, но не сохраняется в файле навсегда. |
Группа нод (node group) |
Примитив (primitive) |
Ассет нодовой группы, который можно перетащить в совместимые нодовые редакторы, такие как „Geometry Nodes“, „Shader Editor“ или „Compositor“. Выступает в качестве многократно используемого «строительного блока» нодовой логики. |
Мир (world) |
Примитив (primitive) |
Ассет мировой окружающей среды, определяющий окружающее освещение и фон. При перетаскивании во вьюпорт он заменяет текущий «мир». Его также можно добавлять в качестве блока данных. |
Сцена (scene) |
Примитив (primitive) |
Ассет всей сцены, включая камеры, источники освещения и связанные объекты.
|
Действие позы (pose action) |
Пресет (preset) |
Ассет позы, на основе блока данных действия. Применение данного ассета производит загрузку данных позы и применяет их к выделенной или активной арматуре, обновляя трансформации костей без необратимого изменения исходного действия. |
Библиотека ассетов текущего файла¶
Чтобы облегчить управление ассетами в текущем blend-файле, вы можете настроить браузер ассетов на отображение библиотеки ассетов только „Текущего файла“. Браузер всегда будет отображать ресурсы из текущего файла, даже если текущий файл не был сохранён в библиотеке ассетов. Это также позволяет создавать ассеты и использовать их в том же файле для небольших проектов с одним файлом.
Когда текущий blend-файл является частью библиотеки ассетов, вы, конечно же, также можете видеть его ресурсы в этой библиотеке. Ассеты, которые находятся в текущем файле, отмечаются значком; только они будут доступны для редактирования.
Жизненный цикл ассета¶
В этом разделе описывается: как создавать, редактировать, делиться и использовать ассеты.
Создание ассета¶
Чтобы создать ассет, сначала создайте то, что вы хотите превратить в сам ассет. То есть, создайте объект, материал, мир или позу вашего персонажа. Следующий шаг зависит от типа ассета (см. «Типы ассетов» выше).
Для ассетов-примитивов, – используйте оператор „Mark as Asset“. Его можно найти в селекторе блоков данных, в аутлайнере и в меню для объектов 3D-вьюпорта. При использовании оператора „Отметить как ассет“ – для него автоматически создаётся предварительный просмотр. При желании вы также можете изменить или заменить его изображением по своему выбору; используйте кнопку папки () рядом с изображением предпросмотра в боковой области деталей ассета в браузере ресурсов.
Для предустановленных ассетов будет специальная кнопка для различных типов ресурсов. Например, для поз есть кнопка „Create Pose Asset“ в редакторе действий. Ассеты кистей создаются с помощью оператора „Duplicate Asset“ из уже существующих ассетов кистей.
После создания ассета убедитесь, что текущий blend-файл сохранён в вашей библиотеке ассетов. Blender не производит за вас копирование ресурсов в библиотеку ассетов.
Редактирование ассетов¶
Поскольку ассеты – это обычные блоки данных, к которым прикрепляется лишь небольшое количество метаданных, их можно редактировать, как и любые другие данные Blender’а. Просто откройте сам файл и отредактируйте объект, материал, мир и т. д..
Это также возможно и для ассетов поз. Открыв файл библиотеки поз, просто нажмите кнопку „Assign Action“, чтобы назначить действие позы для выделенной в данный момент арматуры. Затем вы можете использовать все инструменты анимации для редактирования позы, удаления или добавления ключей и т. д..
Редактирование метаданных ассетов можно выполнить с помощью браузера ассетов.
Использование ассетов¶
Ресурсы можно использовать из браузера ассетов.
Библиотека поз расширяет эти возможности и добавляет представление ресурсов в 3D-вьюпорте. См. раздел «Использование из 3D-вьюпорта».
Удаление ассетов¶
Метаданные ассета могую быть стёрты оператором „Clear Asset“. Этот оператор доступен в селекторах блоков данных, браузере ассетов и для объектов в меню 3D-вьюпорта.
Оператор „Clear Asset“ в браузере ассетов.¶
- Очистить ассет (clear asset)
Удаляет метаданные ассета (каталог, описание, автора, теги), фактически превращая ассет в обычный блок данных. Таким образом, применяются все те же правила удаления, что и для других блоков данных. Например, если меш-объект всё ещё будет находиться в сцене, – оператор „Clear Asset“ не произведёт его удаление со сцены. См. раздел «Время существования». Предварительный просмотр будет сохранён внутри блока данных и удалён не будет.
- Очистить ассет (установить фейк юзера) (clear asset (set fake user))
Выполняет ту же операцию, что и „Clear Asset“, а затем помечает блок данных в качестве «защищённого от удаления». Это позволяет больше не помечать блок данных в качестве ассета и при этом можно быть уверенным, что он не будет потерян при сохранении blend-файла.
Объединённые ассеты¶
Blender включает в себя множество готовых к использованию ассетов, они содержатся в библиотеке „Essentials“.
В эту библиотеку входят:
Файлы системы ассетов (расширение .asset.blend)¶
Некоторые типы ассетов можно редактировать без необходимости открывать сам blend-файл внутри библиотеки ресурсов. Blender сохраняет эти ассеты в библиотеках в специальных файлах с расширением .asset.blend. Они полностью управляются системой ассетов Blender’а и содержат только один ассет и его зависимости.
По-прежнему возможно сохранить обычный файл с расширением .asset.blend. Тогда он не будет рассматриваться в качестве системного файла ассетов, Blender способен это различать.
Файлы системы ассетов имеют ещё одну особую характеристику: вы можете их открывать, но не сохранять. Оператор „Save As“ всё ещё может быть использован для создания из этих файлов новый файл, который затем будет просто обычным blend-файлом. Таким образом, содержащиеся в них ассеты не могут быть отредактированы без открытия самого файла. Blender отображает несколько чётких предупреждений, чтобы сообщить, что файлы системы ассетов не могут быть изменены и сохранены обычным способом.
Причина, по которой эти файлы являются особенными, заключается в том, что системе ассетов может потребоваться их повторная генерация. Любые дополнительные изменения, внесённые пользователем, могут быть потеряны. Чтобы предотвратить такую потерю данных, эти файлы защищаются от пользовательских модификаций.
В настоящее время эту функцию поддерживают только ассеты кистей.
Ограничения дизайна¶
Blender’у не разрешено производить запись в другие blend-файлы, кроме как в тот, который вы в данный момент открыли, или же в специальные файлы .asset.blend, описанные выше. Это означает, что для редактирования ассета вам необходимо открыть его blend-файл. К счастью, это можно сделать всего одним щелчком мышки, как в области списка источников браузера ассетов, так и в контекстном меню самого ресурса.
Будущее развитие¶
В этом разделе описываются интересные пути для дальнейшего развития. Хотя это не исчерпывающий список, он может помочь лучше понять текущую функциональность браузера ассетов Blender’а.
Ассеты, не являющиеся блоками данных¶
Ассеты, не принадлежащие Blender’у, такие как файлы изображений или аудио, вероятно, будут поддерживаться в будущем выпуске. Для таких файлов метаданные ассета затем сохраняются в файлах XMP, аналогично тому, что делает и другое программное обеспечение. Импортёры (USD, glTF, FBX, …) также могут добавлять поддержку своих типов файлов в качестве ассетов. Кроме того, должно стать возможным обогащение ассета скриптом Python, который затем может предоставлять код для выполнения при использовании ассета.
Перекрёстное редактирование blend-файлов¶
Как описано выше, Blender’у не разрешено производить запись в другие blend-файлы, кроме как в открытом на данный момент. Это правило помогает ограничить возможные сложности; например, может быть трудным производить надёжную реализацию системы отмены действий при работе с другими файлами. Правило предотвращает пакетное обновление ассетов, когда они хранятся в различных blend-файлах.
Поскольку уже есть инструменты, которые могут манипулировать blend-файлами вне самого Blender’а (см. Blender Asset Tracer), можно также создать внешний инструмент для выполнения таких правок в blend-файлах. Такой инструмент может быть даже реализован через систему шаблонов приложений Blender’а или в качестве аддона; указанное выше правило применяется к самому Blender’у, а не к его аддонам.
Передача ассетов¶
Примечание
Введение ассетов кистей в Blender 4.3 включает поддержку концепции передачи ресурсов, описанной здесь. Это может быть распространено на большее количество типов ассетов в будущем.
Передача ассетов – это способ помещения ресурсов в саму библиотеку ассетов, когда вы работаете с файлом и хотите из него скопировать ассеты в библиотеку. Это концепция, которая на первый взгляд может показаться обманчиво простой. В некоторых случаях она на самом деле проста, но достаточно часто становится довольно сложной. К примеру, когда вы хотите передать объект во внешнюю библиотеку ассетов, следует ли также копировать и материалы? А как насчёт изображений текстур, на которые ссылаются эти материалы? Или что насчёт объектов, на которые ссылаются пользовательские свойства, ограничители или модификаторы? И в какие файлы они должны быть помещены? Все ли они помещаются в один большой assets.blend, в отдельные blend-файлы или в папку для каждого типа ассета? Blender не должен принимать такие решения за вас.
Всё это решаемо для каждого отдельного случая. По этой причине библиотека поз была создана в качестве аддона, который включён по умолчанию. Студии с определёнными потребностями могут отключать аддон и реализовывать собственную функциональность; все строительные блоки находятся в самом ядре Blender’а, и поэтому их не нужно копировать для этого. Более того, аддоны могут производить запись в другие blend-файлы, поэтому они могут принимать решения за пользователей.
Передача ассетов является желательной. Из-за вышеуказанных проблем неясно, как эффективно реализовать это таким образом, чтобы художники по-прежнему сохраняли контроль над своими ассетами.