Så här skapar du tillägg¶
Att skapa en förlängning tar bara några steg:
Öppna den katalog som innehåller tilläggskoden eller temafilen.
Lägg till en fil blender_manifest.toml med alla nödvändiga metadata (namn, underhållare, …).
Använd kommandoradsverktyget Blender för att bygga tillägget .zip-fil.
Hur man publicerar till Blender Extensions Platform:
Installera från disk för att testa om allt fungerar som det ska.
Ladda upp .zip-filen (detta steg kräver Blender ID).
Tillägget kommer att hållas för granskning <https://extensions.blender.org/approval-queue/>`__ och publiceras när modereringsteamet har godkänt det.
Tilläggsfiler¶
Ett tillägg delas som ett .zip-arkiv som innehåller en manifestfil och andra filer. De förväntade filerna beror på tilläggstypen.
Kompletterande tillägg¶
Add-ons behöver åtminstone manifestet och en __init__.py-fil, medan mer komplexa tillägg har några olika .py-filer eller wheels tillsammans.
my_extension-0.0.1.zip
├─ __init__.py
├─ blender_manifest.toml
└─ (...)
Tillägg för tema¶
Ett tematillägg behöver bara manifestet och temafilen .xml.
my_extension-0.0.1.zip
├─ blender_manifest.toml
└─ theme.xml
Observera
Tillägg kan valfritt ha alla sina filer i en mapp (inuti arkivet). Detta är ett vanligt beteende när man sparar ett arkiv som ZIP från plattformar för versionshantering.
Manifest¶
Ett manifest är en fil med alla metadata som krävs för att ett tillägg ska kunna bearbetas. Det här exemplet är en bra utgångspunkt för blender_manifest.toml som ska finnas i .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"
# 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",
# ]
Obligatoriska värden:
- blender_version_min:
Minsta stödda Blender-version - använd minst 4.2.0.
- id:
Unik identifierare för tillägget.
- licens:
Lista över licenser, använd SPDX-licensidentifierare.
- underhållare:
Underhållare av tillägget.
- namn:
Fullständigt namn på tillägget.
- schema_version:
Intern version av filformatet - använd 1.0.0.
- tagline:
Kort beskrivning på en rad, upp till 64 tecken - får inte avslutas med skiljetecken.
- typ:
”add-on”, ”tema”.
- version:
Version av tillägget - måste följa semantisk versionshantering.
Valfria värden:
- blender_version_max:
Blender-version som tillägget inte stöder, tidigare versioner stöds.
- hemsida:
Webbplats för förlängningen.
- upphovsrätt:
Vissa licenser kräver en upphovsrätt, upphovsrätten måste vara ”Year Name” eller ”Year-Year Name”.
- tags:
Lista över taggar. Se lista över tillgängliga taggar.
- plattformar:
Lista över plattformar som stöds. Om den utelämnas kommer tillägget att vara tillgängligt i alla operativsystem. De tillgängliga alternativen är [”windows-x64”, ”windows-arm64”, ”macos-x64”, ”macos-arm64”, ”linux-x64”]
- hjul:
Lista över relativa filvägar Python Wheels.
- bhörigheter:
Tillägg kan lista vilka resurser de kräver. De tillgängliga alternativen är filer, nätverk, klippbord, kamera, mikrofon. Varje tillstånd ska följas av en förklaring (kort mening, upp till 64 tecken, utan skiljetecken i slutet).
Valfria värden för ”build”:
Dessa värden används endast av underkommandot build.
- vägar:
En lista med filvägar i förhållande till manifestet som ska inkluderas när paketet byggs.
- sökvägar_exkludera_mönster:
En lista med filvägsmönster som inte ska inkluderas när paketet byggs.
Mönstermatchningen är kompatibel med gitignore.
Observera att det inte är möjligt att ange detta värde när paths också deklareras.
Om tabellen [build] inte är deklarerad används följande standard:
[build] paths_exclude_pattern = [ "__pycache__/", ".*", "*.zip", ]
- Reserverad:
Dessa värden får inte deklareras i en TOML och är reserverade för internt bruk.
[build.generated]`
Observera
Alla värden som finns i manifestfilen måste fyllas i (dvs. de får inte vara tomma, inte heller text ”” eller lista []).
Om du inte vill ange något av de valfria värdena utesluter du det helt och hållet från manifestet.
Kommandorad¶
Tillägg kan byggas, valideras och installeras via kommandoraden.
Använd följande kommandon för att bygga upp det paket som definieras i den aktuella katalogen:
blender --command extension build
Se build docs.
—
För att validera manifestet utan att bygga paketet:
blender --command extension validate
Du kan också validera ett paket utan att först behöva extrahera det.
blender --command extension validate add-on-package.zip
Se validate docs.
Se även
Webbplatser för tillägg från tredje part¶
Om du vill vara värd för tilläggen själv, se Skapa en lagringsplats för tillägg-dokumenten.