Введение#

В данном разделе описывается система библиотеки ассетов Blender’а. Она была представлена в Blender 3.0 и будет улучшаться и расширяться в последующих выпусках.

См.также

Браузер ассетов (asset browser)

Основной интерфейс для организации и использования ассетов.

Каталоги ассетов (asset catalogs)

Для организации ассетов.

Библиотека поз (pose library)

Создана на основе браузера ассетов.

The following blog posts were written during the design and development of the Asset Browser. They are linked here for historical reasons, and to give some more context to the current design.

Что такое ассет?#

Ассет – это блок данных, имеющий своё значение.

Blend-файл – это база данных с несколькими блоками данных: объектами, текстурами, материалами и т. д.. При планировании повторного использования или обмена данными – необходимо придать им определённое значение. Чем этот ассет является? Для чего он нужен? Ассеты – это курируемые блоки данных, предназначенные для повторного использования без каких-либо затруднений.

Примечание

Общий термин «ассет» часто также относится и к другим типам файлов, таким как изображения, звуки, видеофайлы и т. д.. В настоящее время они не поддерживаются в качестве ассетов в Blender’е.

Для получения дополнительной информации см. раздел «Будущее развитие» ниже.

Что такое библиотека ассетов?#

Библиотека ресурсов – это папка на вашем диске, зарегистрированная в настройках в качестве библиотеки ассетов. «Регистрация» означает, что вы даёте библиотеке имя (например, „Sprite Fright“) и местоположение на диске (например, /home/sybren/projects/sprite-fright/assets).

../../_images/asset_browser-asset_library_preferences.png

Имя и расположение библиотек ассетов в настройках.#

После регистрации вы можете выбрать библиотеку ресурсов в браузере ассетов. Все blend-файлы в библиотеке ассетов будут просканированы на наличие ресурсов, и все эти активы будут показаны в Asset Browser’е.

Примечание

Первая загрузка библиотеки ассетов может занять некоторое время, но в последующие разы она должна быть значительно быстрее. Blender генерирует индексы для всех ассетов, содержащихся в библиотеке, и поддерживает её в актуальном состоянии по мере изменения в ней файлов. Индексы хранятся в локальной папке кэша.

Blend-файлы могут находиться непосредственно в папке верхнего уровня иерархии библиотеки ассетов или в любой другой подпапке. Организация библиотек ассетов на диске полностью зависит от вас. Независимо от того, какой blend-файл содержит ассеты, каждому ресурсу может быть назначен каталог. Для получения дополнительной информации о том, как организовать ваши ассеты таким образом, см. раздел «Каталоги ассетов».

Типы ассетов#

Ассеты можно в целом разделить на два типа: ассеты примитивы и пресеты. Какой из них какой, зависит от типа блоков данных.

Ассеты-примитивы – это блоки данных, которые либо связаны, либо добавлены к текущему файлу. Примерами являются объекты, материалы и миры. Их можно перетаскивать из браузера ассетов на сцену (объекты и миры) или на существующие объекты (материалы).

Preset assets are data-blocks that are loaded and then applied to something. An example is a pose asset. When applying the pose, the data-block is loaded from its blend-file, and then the pose is applied to the active armature.

В будущем определения типов ассета будут только расширяться; для получения дополнительной информации см. раздел «Будущее развитие».

Библиотека ассетов текущего файла#

Чтобы облегчить управление ассетами в текущем blend-файле, вы можете настроить браузер ассетов на отображение библиотеки ассетов только „Текущего файла“. Браузер всегда будет отображать ресурсы из текущего файла, даже если текущий файл не был сохранён в библиотеке ассетов. Это также позволяет создавать ассеты и использовать их в том же файле для небольших проектов с одним файлом.

Когда текущий blend-файл является частью библиотеки ассетов, вы, конечно же, также можете видеть его ресурсы в этой библиотеке. Ассеты, которые находятся в текущем файле, отмечаются значком; только они будут доступны для редактирования.

Жизненный цикл ассета#

В этом разделе описывается: как создавать, редактировать, делиться и использовать ассеты.

Создание ассета#

Чтобы создать ассет, сначала создайте то, что вы хотите превратить в сам ассет. То есть, создайте объект, материал, мир или позу вашего персонажа. Следующий шаг зависит от типа ассета (см. «Типы ассетов» выше).

Для ассетов-примитивов, – используйте операторMark as Asset“. Его можно найти в селекторе блоков данных, в аутлайнере и в меню для объектов 3D-вьюпорта. При использовании оператора „Отметить как ассет“ – для него автоматически создаётся предварительный просмотр. При желании вы также можете изменить или заменить его изображением по своему выбору; используйте кнопку папки (:bl-icon:`file_folder`) рядом с изображением предпросмотра в боковой области деталей ассета в браузере ресурсов.

For preset assets, there will be a dedicated button for the different asset types. Currently poses are the only preset assets; use the Create Pose Asset button in the Action editor. This will copy the pose of the selected bones into a new Action, mark it as asset, and put it into the currently active asset catalog if there is an Asset Browser open.

После создания ассета убедитесь, что текущий blend-файл сохранён в вашей библиотеке ассетов. Blender не производит за вас копирование ресурсов в библиотеку ассетов.

Редактирование ассетов#

Поскольку ассеты – это обычные блоки данных, к которым прикрепляется лишь небольшое количество метаданных, их можно редактировать, как и любые другие данные Blender’а. Просто откройте сам файл и отредактируйте объект, материал, мир и т. д..

Это также возможно и для ассетов поз. Открыв файл библиотеки поз, просто нажмите кнопкуAssign Action“, чтобы назначить действие позы для выделенной в данный момент арматуры. Затем вы можете использовать все инструменты анимации для редактирования позы, удаления или добавления ключей и т. д..

Редактирование метаданных ассетов можно выполнить с помощью браузера ассетов.

Совместное использование ассетов#

Поскольку ассеты просто хранятся в blend-файлах, ими можно пользоваться совместно, поделившись «их» blend-файлом. Не забудьте также включить файл определения каталога ассета.

В настоящее время нет функционала для извлечения и сохранения выбранных ассетов (вместе с их определениями каталогов) в другом blend-файле. Это может быть реализовано в качестве аддона.

Использование ассетов#

Ресурсы можно использовать из браузера ассетов.

Библиотека поз расширяет эти возможности и добавляет представление ресурсов в 3D-вьюпорте. См. раздел «Использование из 3D-вьюпорта».

Удаление ассетов#

Метаданные ассета могую быть стёрты оператором „Clear Asset“. Этот оператор доступен в селекторах блоков данных, браузере ассетов и для объектов в меню 3D-вьюпорта.

../../_images/asset_browser-clear-asset.png

Оператор „Clear Asset“ в браузере ассетов.#

Очистить ассет (clear asset)

Удаляет метаданные ассета (каталог, описание, автора, теги), фактически превращая ассет в обычный блок данных. Таким образом, применяются все те же правила удаления, что и для других блоков данных. Например, если меш-объект всё ещё будет находиться в сцене, – оператор „Clear Asset“ не произведёт его удаление со сцены. См. раздел «Время существования». Предварительный просмотр будет сохранён внутри блока данных и удалён не будет.

Очистить ассет (установить фейк юзера) (clear asset (set fake user))

Выполняет ту же операцию, что и „Clear Asset“, а затем помечает блок данных в качестве «защищённого от удаления». Это позволяет больше не помечать блок данных в качестве ассета и при этом можно быть уверенным, что он не будет потерян при сохранении blend-файла.

Объединённые ассеты#

Blender включает в себя множество готовых к использованию ассетов, они содержатся в библиотеке „Essentials“.

В эту библиотеку входят:

Ограничения дизайна#

Blender is not allowed to write to other blend-files than the one you have currently open. This means that to edit an asset, you have to open its blend-file. Fortunately this is only a single click away, both in the Source List region of the Asset Browser and in the asset context menu.

This also means that Blender does not copy assets into the asset library for you. You are responsible for placing the blend-file with the asset in an asset library directory, and marking the asset as such. See Передача ассетов for more on this topic.

Будущее развитие#

В этом разделе описываются интересные пути для дальнейшего развития. Хотя это не исчерпывающий список, он может помочь лучше понять текущую функциональность браузера ассетов Blender’а.

Ассеты, не являющиеся блоками данных#

Ассеты, не принадлежащие Blender’у, такие как файлы изображений или аудио, вероятно, будут поддерживаться в будущем выпуске. Для таких файлов метаданные ассета затем сохраняются в файлах XMP, аналогично тому, что делает и другое программное обеспечение. Импортёры (USD, glTF, FBX, …) также могут добавлять поддержку своих типов файлов в качестве ассетов. Кроме того, должно стать возможным обогащение ассета скриптом Python, который затем может предоставлять код для выполнения при использовании ассета.

Перекрёстное редактирование blend-файлов#

Как описано выше, Blender’у не разрешено производить запись в другие blend-файлы, кроме как в открытом на данный момент. Это правило помогает ограничить возможные сложности; например, может быть трудным производить надёжную реализацию системы отмены действий при работе с другими файлами. Правило предотвращает пакетное обновление ассетов, когда они хранятся в различных blend-файлах.

Поскольку уже есть инструменты, которые могут манипулировать blend-файлами вне самого Blender’а (см. Blender Asset Tracer), можно также создать внешний инструмент для выполнения таких правок в blend-файлах. Такой инструмент может быть даже реализован через систему шаблонов приложений Blender’а или в качестве аддона; указанное выше правило применяется к самому Blender’у, а не к его аддонам.

Передача ассетов#

Передача ассетов – это способ помещения ресурсов в саму библиотеку ассетов, когда вы работаете с файлом и хотите из него скопировать ассеты в библиотеку. Это концепция, которая на первый взгляд может показаться обманчиво простой. В некоторых случаях она на самом деле проста, но достаточно часто становится довольно сложной. К примеру, когда вы хотите передать объект во внешнюю библиотеку ассетов, следует ли также копировать и материалы? А как насчёт изображений текстур, на которые ссылаются эти материалы? Или что насчёт объектов, на которые ссылаются пользовательские свойства, ограничители или модификаторы? И в какие файлы они должны быть помещены? Все ли они помещаются в один большой assets.blend, в отдельные blend-файлы или в папку для каждого типа ассета? Blender не должен принимать такие решения за вас.

Всё это решаемо для каждого отдельного случая. По этой причине библиотека поз была создана в качестве аддона, который включён по умолчанию. Студии с определёнными потребностями могут отключать аддон и реализовывать собственную функциональность; все строительные блоки находятся в самом ядре Blender’а, и поэтому их не нужно копировать для этого. Более того, аддоны могут производить запись в другие blend-файлы, поэтому они могут принимать решения за пользователей.

Передача ассетов является желательной. Из-за вышеуказанных проблем неясно, как эффективно реализовать это таким образом, чтобы художники по-прежнему сохраняли контроль над своими ассетами.