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:
Jednoriadkový krátky opis, maximálne 64 znakov - nesmie sa končiť interpunkciou.
- 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:
Doplnky môžu uviesť, ktoré zdroje vyžadujú. Dostupné možnosti sú files, network, clipboard, camera, microphone. Za každým povolením by malo nasledovať vysvetlenie (krátka jednozväzková veta, maximálne 64 znakov, bez koncovej interpunkcie).
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í.