Начиная с версии Blender 4.5 разработчики принципиально изменили подход к разработке аддонов для Blender. Теперь это должны быть не аддоны, а Extensions — расширения. Старый формат представления аддонов все еще корректно работает, и если нет намерения публиковать свои аддоны в официальной библиотеке с расширениями Blender, ничего менять не нужно. Однако, если вы хотите, чтобы ваши аддоны поддерживались Blender и далее, полезно будет уже сейчас произвести определенную модернизацию. Одной из таких доработок является добавление файла манифеста.
Теперь каждый аддон должен включать в себя файл манифеста.
Это простой текстовый файл, в котором указана сводная информация по данному аддону. Собственно, в файле манифеста указывается те данные, которые ранее мы указывали в структуре bl_info в файле __init__.py нашего аддона. Основной смысл появления этого файла и заключается в том, чтобы вынести эту справочную информацию из основного файла аддона в отдельный файл.
После того, как вы создадите файл манифеста и заполните его, устаревшую структуру bl_info в файле __init__.py можно будет удалить.
Давайте создадим файл манифеста.
Имя файла обязательно должно быть «blender_manifest», а расширение — «toml».
Создадим в директории нашего аддона файл blender_manifest.toml. В дальнейшем он должен быть включен в .zip архив с дистрибутивом аддона.
Отредактируем его следующим образом. В первую очередь заполним обязательные поля:
Сначала всегда идет указание на версию формата.
|
1 |
schema_version = "1.0.0" |
Далее указываем идентификатор аддона. Если раньше идентификатором аддона служило имя его дистрибутива, теперь его можно задавать вручную.
|
1 |
id = "my_best_addon" |
Указываем версию аддона. Если раньше мы указывали версию в виде кортежа, например, (1, 3, 3), то теперь это текстовое значение, но все равно, следуем соблюдать формат с разделением.
|
1 |
version = "1.3.3" |
Имя аддона.
|
1 |
name = "My Best Add-on" |
Теглайн — краткое описание аддона. То, что раньше мы указывали в поле description.
|
1 |
tagline = "My add-on can do many interesting things" |
Информация о себе — разработчике аддона. Указывается в формате «имя — адрес электронной почты для связи».
|
1 |
maintainer = "John Smith <john_smith@mail.com>" |
Тип — всегда «add-on». Указание, что это именно аддон. Второе возможное значение — «theme» используется при разработке тем оформления для Blender.
|
1 |
type = "add-on" |
Минимальная версия Blender, для которой предназначен аддон. Так же в формате чисел с разделяющей точкой.
|
1 |
blender_version_min = "4.5.0" |
Указание на лицензию для распространения аддона. Можно указывать что-то свое, но по правильному, должна использоваться только GPL. Поэтому всегда следует указывать так:
|
1 2 3 |
license = [ "SPDX:GPL-3.0-or-later", ] |
Далее можно указать еще несколько необязательных полей.
Теги. То, что раньше мы указывали в поле category, однако теперь можно указать несколько значений сразу.
|
1 |
tags = ["Material", "Render"] |
Полный список возможных тегов: 3D View, Add Curve, Add Mesh, Animation, Bake, Camera, Compositing, Development, Game Engine, Geometry Nodes, Grease Pencil, Import-Export, Lighting, Material, Modeling, Mesh, Node, Object, Paint, Pipeline, Physics, Render, Rigging, Scene, Sculpt, Sequencer, System, Text Editor, Tracking, User Interface, UV.
Указание на максимально возможную версию Blender для вашего аддона. Подразумевается, что в указанной в этом поле версии Blender, ваш аддон уже не работает.
|
1 |
blender_version_max = "5.1.0" |
Ссылка на ваш вебсайт или страницу, где пользователь смог бы оставить обратную связь или репорты об ошибках.
|
1 |
website = "https://my_addon_site" |
Указание на платформы. Если ваш аддон работает, например, только под Windows.
|
1 |
platforms = ["windows-x64", "macos-arm64"] |
Полный список возможных значений платформ: windows-x64, windows-arm64, macos-x64, macos-arm64, linux-x64.
Разрешения. Их нужно выдать, если ваш аддон обращается к дополнительным устройствам на компьютере пользователя, например, к камере.
|
1 2 3 |
[permissions] files = "Import/export non-blender format files from/to disk" clipboard = "Copy and paste to clipboard" |
Перечень доступных устройств следующий: files, network, clipboard, camera, microphone.
Указывать разрешения нужно для каждого устройства в отдельной строке и добавлять краткое описание, для каких действий нужен доступ.
Это еще не все поля, которые могут присутствовать в файле манифеста вашего аддона. Однако перечисленного обычно хватает для оформления 90% всех аддонов.
Дополнительные поля вам могут понадобиться, если, например, ваш аддон использует сторонние Python модули Wheels, требует исключения каких-либо файлов при сборке дистрибутива, или же наоборот, требует включения каких-то сторонних дополнительных файлов в дистрибутив. В стандартных же случаях перечисленных выше полей достаточно.

.toml file on Patreon