Ako vytvárať rozšírenia#
Vytvorenie rozšírenia si vyžaduje len niekoľko krokov:
Otvorte priečinok obsahujúci kód doplnku alebo súbor motívu.
Pridajte súbor blender_manifest.toml so všetkými požadovanými meta-údajmi
(názov, udržiavateľ, ...)
.Na zostavenie .zip súboru rozšírenia použite Blender command-line tool.
Ako publikovať na platforme Rozšírenia Blenderu:
Inštalovať z disku, na otestovanie, či všetko funguje správne.
Nahrajte .zip súbor (tento krok vyžaduje ID Blenderu).
Rozšírenie bude podrobené preskúmaniu a zverejnené, keď ho moderátorský tím schváli.
Súbory rozšírenia#
Rozšírenie sa zdieľa ako archív .zip
obsahujúci súbor manifest a ďalšie súbory. Očakávané súbory závisia od typu rozšírenia.
Rozšírenie doplnku#
Doplnky potrebujú aspoň manifest a súbor __init__.py
, zatiaľ čo zložitejšie doplnky majú niekoľko rôznych súborov .py alebo spoločných Wheels.
my_extension-0.0.1.zip
├─ __init__.py
├─ blender_manifest.toml
└─ (...)
Rozšírenie motívu#
Rozšírenie motívu potrebuje iba manifest a .xml súbor motívu.
my_extension-0.0.1.zip
├─ blender_manifest.toml
└─ theme.xml
Poznámka
Rozšírenia môžu mať voliteľne všetky svoje súbory v priečinku (vnútri archívu). Ide o bežné správanie pri ukladaní úložiska ako ZIP z platforiem na kontrolu verzií.
Manifest#
Manifest je súbor so všetkými meta-údajmi potrebnými na spracovanie rozšírenia. Tento príklad je dobrým východiskom pre súbor blender_manifest.toml
, ktorý by sa mal nachádzať vnútri súboru .zip
.
schema_version = "1.0.0"
# Example of manifest file for a Blender extension
# Change the values according to your extension
id = "my_example_extension"
version = "1.0.0"
name = "My Example Extension"
tagline = "This is another extension"
maintainer = "Developer name <[email protected]>"
# Supported types: "add-on", "theme"
type = "add-on"
# # Optional: link to documentation, support, source files, etc
# website = "https://extensions.blender.org/add-ons/my-example-package/"
# # Optional: tag list defined by Blender and server, see:
# # https://docs.blender.org/manual/en/dev/advanced/extensions/tags.html
# tags = ["Animation", "Sequencer"]
blender_version_min = "4.2.0"
# # Optional: Blender version that the extension does not support, earlier versions are supported.
# # This can be omitted and defined later on the extensions platform if an issue is found.
# blender_version_max = "5.1.0"
# License conforming to https://spdx.org/licenses/ (use "SPDX: prefix)
# https://docs.blender.org/manual/en/dev/advanced/extensions/licenses.html
license = [
"SPDX:GPL-3.0-or-later",
]
# # Optional: required by some licenses.
# copyright = [
# "2002-2024 Developer Name",
# "1998 Company Name",
# ]
# # Optional: list of supported platforms. If omitted, the extension will be available in all operating systems.
# platforms = ["windows-x64", "macos-arm64", "linux-x64"]
# # Other supported platforms: "windows-arm64", "macos-x64"
# # Optional: bundle 3rd party Python modules.
# # https://docs.blender.org/manual/en/dev/advanced/extensions/python_wheels.html
# wheels = [
# "./wheels/hexdump-3.3-py3-none-any.whl",
# "./wheels/jsmin-3.0.1-py3-none-any.whl",
# ]
# # Optional: add-ons can list which resources they will require:
# # * files (for access of any filesystem operations)
# # * network (for internet access)
# # * clipboard (to read and/or write the system clipboard)
# # * camera (to capture photos and videos)
# # * microphone (to capture audio)
# #
# # If using network, remember to also check `bpy.app.online_access`
# # https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#internet-access
# #
# # For each permission it is important to also specify the reason why it is required.
# # Keep this a single short sentence without a period (.) at the end.
# # For longer explanations use the documentation or detail page.
#
# [permissions]
# network = "Need to sync motion-capture data to server"
# files = "Import/export FBX from/to disk"
# clipboard = "Copy and paste bone transforms"
# # Optional: advanced build settings.
# # https://docs.blender.org/manual/en/dev/advanced/extensions/command_line_arguments.html#command-line-args-extension-build
# [build]
# # These are the default build excluded patterns.
# # You only need to edit them if you want different options.
# paths_exclude_pattern = [
# "__pycache__/",
# "/.git/",
# "/*.zip",
# ]
Požadované hodnoty:
- blender_version_min:
Podporovaná minimálna verzia Blenderu - použite minimálne verziu
4.2.0
.- id:
Unikátny identifikátor rozšírenia.
- license:
Zoznam licencií, použite identifikátor licencie SPDX.
- maintainer:
Udržiavateľ rozšírenia.
- name:
Úplný názov rozšírenia.
- schema_version:
Interná verzia formátu súboru - použite
1.0.0
.- tagline:
One-line short description - cannot end with punctuation.
- type:
„doplnok“, „motív“.
- version:
Verzia rozšírenia - musí dodržiavať sémantický postup verzií.
Voliteľné hodnoty:
- blender_version_max:
Verzia Blenderu, ktorú rozšírenie nepodporuje, staršie verzie sú podporované.
- website:
Webová stránka pre rozšírenie.
- copyright:
Niektoré licencie vyžadujú autorské práva, autorské práva musia mať tvar „Názov roka“ alebo „Názov roka-rok“.
- tags:
Zoznam príznakov. Pozrite si Zoznam dostupných príznakov.
- platforms:
Zoznam podporovaných platforiem. Ak sa vynechá, rozšírenie bude k dispozícii vo všetkých operačných systémoch. Dostupné možnosti sú [„windows-x64“, „windows-arm64“, „macos-x64“, „macos-arm64“, „linux-x64“]
- wheels:
Zoznam relatívnych ciest k súborom Python Wheels.
- permissions:
Add-ons can list which resources they require. The available options are files, network, clipboard, camera, microphone. Each permission should be followed by an explanation (short single-sentence with no end punctuation (
.
)).
Nepovinné hodnoty pre „build“:
Tieto hodnoty sa používajú len v podpríkaze build.
- paths:
Zoznam ciest k súborom relatívny k manifestu, ktorý sa má zahrnúť pri zostavovaní balíka.
- paths_exclude_pattern:
Zoznam vzorov ciest k súborom, ktoré sa majú vylúčiť pri zostavovaní balíka.
Porovnávanie vzorov je kompatibilné s gitignore.
Všimnite si, že nastavenie tejto hodnoty nie je podporované, ak je deklarovaná aj hodnota
paths
.Ak tabuľka
[build]
nie je deklarovaná, použije sa nasledujúce predvolené nastavenie:[build] paths_exclude_pattern = [ "__pycache__/", ".*", "*.zip", ]
- Vyhradené:
Tieto hodnoty nesmú byť deklarované v TOML a sú vyhradené na interné použitie.
[build.generated]
Poznámka
Všetky hodnoty prítomné v súbore manifest musia byť vyplnené (t. j. nemôžu byť prázdne, ani text ""
, ani zoznam []
).
Ak nechcete nastaviť niektorú z voliteľných hodnôt, jednoducho ju z manifestu úplne vylúčte.
Príkazový riadok#
Rozšírenia možno zostaviť, overiť a nainštalovať prostredníctvom príkazového riadka.
Na zostavenie balíka definovaného v aktuálnom priečinku použite nasledujúce príkazy:
blender --command extension build
Pozrite si dokumentáciu zostavy.
—
Overiť manifest bez zostavenia balíka:
blender --command extension validate
Balík môžete overiť aj bez toho, aby ste ho museli najprv rozbaľovať.
blender --command extension validate add-on-package.zip
Pozrite si overiť dokumentáciu.
Webové lokality s rozšíreniami tretích strán#
Ak chcete vytvárať hosťovanie rozšírení sami, pozrite si dokumentáciu Vytvorenie úložiska rozšírení.