バージョン 4.2 以降の Blender のアドオン(Extension)
カテゴリ:blender
公式ドキュメント
概要
スクリプトに直に書かれていたアドオンのメタデータは blender_manifest.toml ファイルに書くようになった。またアドオンは __init__.py が必須になった。
レガシーアドオンのインストール
ディスクからインストールすればレガシーアドオンもインストール可能。
How to Create Extensions
Extension は以下の5ステップで作成できる。
- extension のディレクトリにスクリプトもしくはテーマファイルを入れる
- メタデータを記述した blender_manifest.toml を extension のディレクトリに入れる
- そのディレクトリを zip ファイルに圧縮する
- ディスクからインストールして動作検証する
- Blender の Extensions のリストに登録する場合はここからアップロードする(要 Blender ID)
Blender の Extensions のリストに登録されるにはレビューを通過する必要がある。
アドオン
アドオンは blender_manifest.toml と __init__.py が必須となる。
my_extension-0.0.1.zip ├─ __init__.py ├─ blender_manifest.toml └─ (...)
テーマ
テーマは blender_manifest.toml と .xml テーマファイルが必須となる。
my_extension-0.0.1.zip ├─ blender_manifest.toml └─ theme.xml
マニフェスト
以下は blender_manifest.toml の例。オプション項目はなくてもいい。
schema_version = "1.0.0"
id = "my_example_extension"
version = "1.0.0"
name = "Test Extension"
tagline = "This is another extension" # アドオンの短い説明
maintainer = "Developer name <email@address.com>"
# "add-on" か "theme" のみサポート
type = "add-on"
# オプション:ソース、サポート、ドキュメントなどのリンクがあればここに記述する
# website = "https://extensions.blender.org/add-ons/my-example-package/"
# Blender や server でカテゴリ分けするのに使われるタグ
# https://docs.blender.org/manual/en/dev/advanced/extensions/tags.html
tags = ["Animation", "Sequencer"]
blender_version_min = "4.2.0"
# # オプション:動作する最高のバージョンを指定できる
# # 問題が見つかってから指定することも可能
# blender_version_max = "5.1.0"
# https://spdx.org/licenses/ ("SPDX: プリフィックスを指定) に適合するライセンス
# https://docs.blender.org/manual/en/dev/advanced/extensions/licenses.html
license = [
"SPDX:GPL-2.0-or-later",
]
# オプション:いくつかのライセンスで要求される
# copyright = [
# "2002-2024 Developer Name",
# "1998 Company Name",
# ]
# オプション:サポートしているプラットフォーム。書かなかった場合は Blender のサポートしているすべてのオペレーティングシステムで利用可能になる
# platforms = ["windows-x64", "macos-arm64", "linux-x64"]
# 上記の他には "windows-arm64", "macos-x64" がある
# オプション:バンドルするサードパーティ Python モジュール
# 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",
# ]
# # オプション:アドオンが利用するリソースを列挙する
# # * files (ファイルシステムへのアクセス)
# # * network (インターネットアクセス)
# # * clipboard (クリップボードの読み書き)
# # * camera (カメラから写真やビデオの取得)
# # * microphone (マイクで録音)
# #
# # ネットワークを使う場合 `bpy.app.online_access` を忘れずにチェックすること
# # https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#internet-access
# #
# # 上記のリソースの利用許可を得る場合に、そのリソースへのアクセスが必要な理由を書くこと
# # 短い1文で記述し最後にピリオドをつけないこと
# # 長い説明が必要な場合はドキュメントや詳細ページを使うこと
#
# [permissions]
# network = "モーションキャプチャーデータをサーバーと同期する必要がある"
# files = "ディスクから FBX ファイルをインポート/エクスポートする"
# clipboard = "ボーンのトランスフォームをコピー・ペーストする"
# オプション:ビルド設定
# https://docs.blender.org/manual/en/dev/advanced/extensions/command_line_arguments.html#command-line-args-extension-build
# [build]
# paths_exclude_pattern = [
# "__pycache__/",
# "/.git/",
# "/*.zip",
# ]
Windows でのアドオンのインストールパス
%userprofile%\AppData\Roaming\Blender Foundation\Blender\[Blender のバージョン]\extensions\user_default
exe のある場所にアドオンをインストールさせたい場合は、exe のある場所に portable フォルダを作ると、そこにエクステンションがインストールされるようになる。
