バージョン 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 フォルダを作ると、そこにエクステンションがインストールされるようになる。